Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Mar 2008 20:59:14 -0700
From:      "Freddie Cash" <fjwcash@gmail.com>
To:        stable@freebsd.org
Subject:   Re: Upgrading to 7.0 - stupid requirements
Message-ID:  <b269bc570803222059o7b52c8d8p9fa0fdbfed273ba0@mail.gmail.com>
In-Reply-To: <20080323000707.GA33311@fupp.net>
References:  <868x0ezh9u.fsf@zid.claresco.hr> <200803192028.m2JKSZen098816@lurza.secnetix.de> <20080323000707.GA33311@fupp.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Mar 22, 2008 at 5:07 PM, Anders Nordby <anders@freebsd.org> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b269bc570803222059o7b52c8d8p9fa0fdbfed273ba0>