[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFC: new approach to handling conffiles

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


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.

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply to: