Mergemaster enhancement

Gordon Tetlow gordon at tetlows.org
Thu Apr 13 07:23:10 UTC 2006


I've thrown together a quick mergemaster enhancement that will 
automagically upgrade files that have changed in the /usr/src/etc 
distribution but the user hasn't changed. Great applications are for 
when you trust that we aren't going to break everything and only don't 
want mergemaster to squash files that you have customized.

Patch location: 
http://people.freebsd.org/~gordon/patches/mergemaster.mtree.diff

How it works:
Through clever use of mtree, I build an mtree description of everything 
that make distribution installs (only size and md5) from the temproot. 
When the user completes a mergemaster run, the mtree description file 
gets installed into /var/db for safe-keeping.

When the user then decides to do a subsequent upgrade (with the -U 
flag), the existing mtree description from /var/db is called into 
service looking for files that are different in DESTDIR. This is stashed 
away until a file that would normally end up prompting you to look at 
changes is encountered. Since there are no user modified changes, the 
new file is installed without bothering the user.

Let me know what you think.

Thanks,
-gordon


More information about the freebsd-arch mailing list