Uggg!

Sean C. Farley sean-freebsd at farley.org
Sat Jun 2 18:27:11 UTC 2007


On Fri, 1 Jun 2007, Warner Losh wrote:

>> Best solution is to back up /var/db/pkg if it is in danger of
>> deletion by a wanton admin :)
>
> The ONLY data corruption that I saw when my laptop died was *ALL* of
> the +CONTENTS files going away.  It seems to have died during the
> updating of the meta-data for the dvdauthor port.  Why all the files
> of unreleated packages would disapper is a mystery to me, unless
> mergemaster, or one of the pkg tools, deleted them all, and then
> wanted to rewrite them and I got screwed between these two steps.
>
> Wouldn't it be better of a +CONTENTS~ file were left in place during
> this process and have that be removed afterwards?

The following is not a plug for my code since I only have it in
maintenance mode.  I use Port Conductor[1], which I started writing a
long time ago when Perl was in the base.  It makes a copy of /var/db/pkg
before preceding with an update.  This is between helping the wanton
admin and protecting against a bug in the program.  The one thing I like
about how I wrote it was how it tracks every step along the update, so
it is possible to continue if something happens (i.e., battery dies).

I never got around to polishing it, so it is not necessarily the most
user friendly.  It tries to emulate a lot of portupgrade, but some
things are missing.  Not all options behave the same way as portupgrade.
Recursive port updates (-R and -r) update ports even if the version has
not changed.  One notable feature:  dead-port detection.  When a port
has its last dependency removed, it is reported in the output.

Everyone is welcome to take ideas from it to add to their respective
port updating projects.  Someday, I plan to use a different tool for my
port updating.  When I have some free time, I will probably look at
portmaster.

Sean
   1. http://www.farley.org/?page=software#pc
-- 
sean-freebsd at farley.org


More information about the freebsd-ports mailing list