Local job changes

Jürg Billeter j at bitron.ch
Tue Sep 26 15:44:44 BST 2006


On Die, 2006-09-26 at 17:15 +0300, Johan Kiviniemi wrote:
> On Tue, Sep 26, 2006 at 03:09:51PM +0200, Jürg Billeter wrote:
> > The most important change for admins is probably enabling/disabling
> > jobs but there might be more changes desired. Currently you can just
> > delete a job file (or set it to disabled with the patch from Jοhan
> > Kiviniemi) to disable a job easily. This method doesn't fit well with
> > package updates, though. Depending on the policy of the package
> > manager, distro or local changes to the job files might get lost.
> 
> I'd consider that to be entirely the package manager's fault. A good
> package manager would interactively do a three-way merge using the
> actual config file in /etc, the previous version's packaged (i.e.
> default) config file and the new version's packaged config file. A
> package manager _never_ just rewrites a config file that has been
> modified by the admin.

I agree that the package manager should never completely overwrite
changed configuration files and most common practice seems to be to just
save the new default config in an other file and inform the admin.

Just line/text-based merging is not a solution but more of a
work-around, IMO. You can't guarantee that you can perfectly merge
whatever changes have been made. The best solution, IMO, is to
completely separate the set of files to be configured by admins and the
set of files to be pre-configured by distros, i.e. all configuration
files for admins should just be empty (or better contain some useful
comments), so the defaults can be independently updated without ever
directly conflicting with changes of the admin. If your merge tool is
aware of the configuration file format it might of course be possible to
get perfect merge results but separating default and actual
configuration files is a lot easier to handle from the
distro-perspective.

Regards,

Jürg




More information about the Upstart-devel mailing list