Re: debconf vs. the sysadmin
I do have a program called debconfhelper. debconfhelper operates on
the premise that, in most configuration file formats, debconf areas
can be segregated at the top of the file, or at a specific place
within the file. This allows the postinst script to modify only the
areas of the file that it cares about, and lets the admin update the
rest. I have a very early version of this in use in the magicfilter
package that I have debconfized. You can look for the "package"
command in its postinst. Sources and debs at
Steve Greenland <email@example.com> writes:
> (This topic has previously been discussed in a long thread titled "the
> art of debconf" and "more debconf queries back in late April, but there
> didn't seem to be any satisfactory conclusion, so I'm hoping people have
> gotten smarter in the meantime. :-))
> The "normal" sequence for a basic configuration file using package, as I
> understand it, is as follows:
> On a new install:
> 1. The config script asks questions, and stores the answers in the db.
> 2. The postinst (with arg "configure") retrieves the answers from the db
> and writes the configuration file.
> Well and good, but now we are stuck:
> A. If the postinst doesn't check for the non-existance of the
> configuration file before writing the new one, then when the package is
> upgraded, we run the risk of overwriting changes made outside of debconf
> (e.g. sysadmin edited the file).
> B. If the postinst *does* check, then dpkg-reconfigure doesn't work
> (with no warning).
> Proposed (off of the top of my head) solutions:
> I. Make dpkg-reconfigure call the postinst with a different
> argument. This assumes that if the sysadmin uses dpkg-reconfigure, then
> hie expects to over-write any manual changes.
> II. Create a dynamic equivalent to the conffile mechanism, so that
> the maintainer can register an md5sum for the configuration file
> (with debconf? something else?) which would be updated only when the
> configuration file is changed by the postinst. Then the postinst could
> compare the current md5sum with the stored value and only update the
> configuration file if they were the same. This has the downside of
> basically eliminating the use of dpkg-reconfigure after a manual change.
> (Yes, I could hack something like this together for my packages, but it
> would be much better to have a standard mechanism.)
> We need to come up with some way to deal with this issue, or admit
> that debconf is only useful and should only be used on initial package
> To UNSUBSCRIBE, email to firstname.lastname@example.org
> with a subject of "unsubscribe". Trouble? Contact email@example.com
John Goerzen Linux, Unix consulting & programming firstname.lastname@example.org |
Developer, Debian GNU/Linux (Free powerful OS upgrade) www.debian.org |