hey dpkg peeps, (please CC me, i'm not subscribed)
i spoke with a couple folks on irc about the idea of keeping the "dist"
version of conffiles on-disk somehow, and the general consensus was that it
seemed like a good idea but noone had the time to push it out of a todo list.
keeping the dist version of the conffiles gives the ability to do things like
old->new dist version diffing, as well the coveted 3-way diff/merge.
so, this past weekend i had a couple of 12-hour train rides and thus some time
to kill, and threw together a proof of concept for your perusal. basically,
every package has a subdirectory <admindir>/conffiles/<pkg><ext> (where <ext>
is one of "","_dpkg-new","_dpkg-old"), under which its conffiles are stored.
currently the subdirectory contains nested subdirectories reflecting the
on-disk location of the real-file (i.e. <conffdbdir>/<pkg>/etc/foo.cfg), but
other approaches are also possible such as using <conffdbdir>/<pkg>/<cksum>,
where <cksum> is the md5sum of the on-disk location (/etc/foo.cfg).
anyway, this version doesn't do anything apart from extract/update/purge the
conffiles into this db, but the relatively small amount of code/changes
required to do this and a well modularized implementation should make it
clear that it wouldn't be too hard to start tacking features on top of it.
so please take a look at the "conffile-fun" branch at
git://git.debian.org/~seanius/dpkg.git
specifically the tag conffile-fun-poc-1 contains these changes.
git log -p 58ec5f918bbd081371793d9567417b670293027b...
should give you an annotated changelog with fairly descriptive comments.
oh, i also found two rather minor memory leaks, which are fixed in the first
commit of that branch.
anyway, lemme know what you think! and please CC me as i'm not on this list.
sean
signature.asc
Description: This is a digitally signed message part.

