From owner-freebsd-stable@FreeBSD.ORG Sun Mar 23 03:59:15 2008 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5AA4106564A for ; Sun, 23 Mar 2008 03:59:15 +0000 (UTC) (envelope-from fjwcash@gmail.com) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.178]) by mx1.freebsd.org (Postfix) with ESMTP id 8AE5D8FC12 for ; Sun, 23 Mar 2008 03:59:15 +0000 (UTC) (envelope-from fjwcash@gmail.com) Received: by wa-out-1112.google.com with SMTP id k17so2503909waf.3 for ; Sat, 22 Mar 2008 20:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=CvMN6UzEo2klSWYWSzRex/NpYuuX/dGXTJPU2K+FC6k=; b=Y1PeUp3iTQtoMj86l9iWha/kqN/fLZQ/YqTdpEMfh/z9MIsn1B6PQkBAwdGTZI2iTdlPYQ+S5/oji9h06VxpKOL01bexUA0cf0ALmUlXWBln5Tj3LljuelNJOGg6uXlTfvIDGAvqm/HZHeh2Digm+zfZyc1zj+QEEIqcO81MSHI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=LwbU0G0ZtAFRsehu5qjZtFp2x/3CwKQaYC6fzFdVYztDzmpncZJKfm9mKtrmBdxuHjPVvrfkUOx4ud/n3J2lpY/Df1K46okEsalbq2SRVLztZV8UNW1YqySapte9s0Ivn16upmsnETXdnQ7Sh5coNIUnZX8Kqyr80R4dvgjdYrw= Received: by 10.114.126.1 with SMTP id y1mr9093403wac.41.1206244754506; Sat, 22 Mar 2008 20:59:14 -0700 (PDT) Received: by 10.114.155.19 with HTTP; Sat, 22 Mar 2008 20:59:14 -0700 (PDT) Message-ID: Date: Sat, 22 Mar 2008 20:59:14 -0700 From: "Freddie Cash" To: stable@freebsd.org In-Reply-To: <20080323000707.GA33311@fupp.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <868x0ezh9u.fsf@zid.claresco.hr> <200803192028.m2JKSZen098816@lurza.secnetix.de> <20080323000707.GA33311@fupp.net> Cc: Subject: Re: Upgrading to 7.0 - stupid requirements X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Mar 2008 03:59:15 -0000 On Sat, Mar 22, 2008 at 5:07 PM, Anders Nordby wrote: > On Wed, Mar 19, 2008 at 09:28:35PM +0100, Oliver Fromme wrote: > >> If this thing can be solved (I'm not programmer so I don't know) I can > >> donate some amount of $ for development. I think that this would make > >> lots of people happy. > > I have to admit I see no way how the problem could > > be solved in a different way, I'm afraid. > > By FreeBSD adpoting some variant of apt-get for ports maybe? And by > making the ports install configuration files in such a way that > upgrading is more easy?gThe way it is now, you typically have to move > away old config files during/before an upgrade, and manually merge with > the new default of whichever program you are upgrading so that you get > new defaults. A good example is the way Debian installs Apache I guess, > with a directory structure like this under /etc/apache2: > > conf.d (custom configuration) > sites-available (virtualhost configuration) > sites-enabled (symlinks for enabled virtualhosts) > mods-available (available Apache modles) > mods-enabled (symlinks for enabled Apache modules) Oh, gods, please, no! That is one of the things I absolutely hate about Debian (and its derivatives). There are some packages on Debian where they use separate text files for each configuration option (ProFTPd, for examples). It is a huge mess of directories and files that makes it a *royal* PITA to edit at the CLI. Yes, a scheme like that is better for GUI tools, but it really makes things more difficult for non-GUI users/uses (like headless servers managed via SSH). One of the things I *really* like about FreeBSD is that it has the "one config file per app/system" setup. There's /etc/defaults/rc.conf, /etc/rc.conf, and /etc/rc.conf.local. There's not a dozen /etc/init.d/rc*.d directories filled with tonnes of symlinks. There's /usr/local/etc/apache2/httpd.conf and not a bunch of directories filled with symlinks. There's /usr/local/etc/proftpd.conf and not a directory full of 10 byte files. All that's really needed is a more formalised process for handling upgrading config files, with as much as possible managed via the ports framework itself. Something that dictates the name of the config file, and that compares the config file from the port against the installed config file (or against an md5 of the port config file) and only replaces it if it is unchanged. Something that is part of the make system. -- Freddie Cash fjwcash@gmail.com