Gentoo Archives: gentoo-user

From: Maarten <gentoo@××××××××.org>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Handling of config updates, RFC
Date: Sun, 12 Feb 2006 13:39:21
Message-Id: 43EF3A25.9050301@ultratux.org
1 Hi
2
3 I have not been impressed by the handling of configfiles (updating them)
4 by neither etc-update nor dispatch-conf, so I pondered on an
5 alternative. Not an alternative to those packages, but some extra help,
6 possibly integrated into one of those tools. Please bear with me...
7
8 What tickles me the most about the current process is that one sometimes
9 gets huge lists of updated files by updating a single package. A package
10 which may have never been used, or at least configured, by the user.
11 For instance, updating webmin, or snort, yields many many ._cfg files an
12 average user knows little about, and does not care about since he never
13 tweaked them. In other words, they are in their distibution-default
14 state, never edited. It stands to reason everyone would want all those
15 files overwritten by the new ones, is it not ? Well, neither tool does
16 that now. The user is left with two options to handle the task:
17 1) Pick out all non-trivial files in a massive list of over 150 files,
18 merge those, and after due consideration have dispatch-conf do all the
19 remaining files automatically. (I suspect this is what most people do)
20 2) Go through all the files step by step and choose either overwrite or
21 skip as fast as possible, and re-run the tool on the remaining files,
22 and this time carefully decide what to do with it, overwrite, shred, or
23 merge.
24 Well, neither is comfortable. Especially since 'trivial merges' like
25 CVS- or revision info are advertized as being dealt with, but in reality
26 are often not. I cannot tell you how many 'changes' I get confronted
27 with are just trivial changes (like added commentary, and so on)
28
29
30 I propose to add an additional mechanism to 'see' whether a file was
31 actively changed during the lifetime of the machine, by a very simple
32 and dumb means, but nevertheless a very effective one.
33 This would work like this: upon extraction of the stage tarball (or at
34 least very very early in the install process) one should set all the
35 dates of all the potential configfiles to a set date in the (distant)
36 past. Let's say, feb 29 1988. Only thereafter, we start configuring the
37 system, editing fstab, hostname, etc.
38
39 Now when we run dispatch-conf, it will first check the date of the file
40 that corresponds with a ._cfg file. If that file has that magic date,
41 overwrite it by the new file, and (this is important) re-set the date of
42 that new file to that old magic date. The user thus needn't be bothered
43 by numerous files he didn't touch, and a very significant time-saving is
44 realized for everyone.
45
46 If I'm not mistaken, other distributions have had solutions like this
47 for ages. For instance, SuSE's YaST had/has a way to see if a user
48 touched the configfile, and refuses to touch it if it found out the user
49 had changed it manually. (Not a very succesful strategy for people who
50 routinely did edit the files, but considering all that, it was still not
51 bad.
52
53 ...What do you think ? Has this idea been suggested before ?
54 Wouldn't this make the updating a much less painful process ?
55 What, if any, would be possible pitfalls using this approach ?
56
57 Thank you for your time reading this,
58
59 Maarten v d Berg
60
61 --
62 gentoo-user@g.o mailing list

Replies

Subject Author
Re: [gentoo-user] Handling of config updates, RFC Rumen Yotov <rumen@××××××.org>
Re: [gentoo-user] Handling of config updates, RFC "Boyd Stephen Smith Jr." <bss03@××××××××××.com>
Re: [gentoo-user] Handling of config updates, RFC Neil Bothwick <neil@××××××××××.uk>