pkgupgrade

Michel Talon talon at lpthe.jussieu.fr
Wed Jan 31 16:19:41 UTC 2007


Hello,

this is to announce a first cut at an upgrading system more centered on
packages than portupgrade or portmaster, so i have called it pkgupgrade.
This is a python program, so not convenient for pytho-phobic people.

You can find it at:
http://www.lpthe.jussieu.fr/~talon/pkgupgrade
as well as the companion program:
http://www.lpthe.jussieu.fr/~talon/save_pkg.py
written by Cyrille Szymanski who has kindly given me permission to
publish it here.

Both are of course under BSD licence. Here save_pkg.py is a program
which does selective backing of old packages before an upgrade and can
be run independently, but is called by pkgupgrade and is thus necessary.
Running save_pkg.py -h gives usage information.

A documentation explaining pkgupgrade can be found here:
http://www.lpthe.jussieu.fr/~talon/freebsdports.html#htoc19
but basically, one creates a clean directory and run pkgupgrade here as
simple user. There are no options. The directory will be populated with
self-explanatory stuff. Be prepared to use a lot of space in the
directory, however there is no destructive action at all. A good way to
reduce downloading and disk consumption is to mount the second disk of
the freebsd release set under /cdrom, previously to run pkgupgrade.
It will locate necessary packages here.


The main end result is a shell script able to do the upgrade at one
stroke. This is dangerous, but it is easy to check the shell
script, so the danger is certainly less than wiping everything and
reinstalling, which is at present my preferred method.


Of course this program implements my pet peeves, reducing port
compilation to the minimum, because in my experience this fails far too
often, determining dependencies previous anything else, downloading all
downloadable precompiled packages before taking any destructive action,
and knowing in advance, before the system is ruined what exact steps
will be taken. Then wiping everything which needs to be upgraded and 
reinstalling fresh stuff. In other words it is far more inspired by the 
Debian apt-get system than by progressive systems like portupgrade or
portmaster which update things by little steps. In my experience the
Debian system is far more reliable than the FreeBSD one, but such
reliability will never be accessible to FreeBSD as long as *all* ports
are not available as packages.

Obviously pkgupgrade needs further polishing, it is, like portupgrade,
somewhat complex, and bugs can easily creep in short as well as complex
programs. I will be very happy if i get feedback on bugs or
misbehaviors, and so will Cyrille.



-- 

Michel TALON



More information about the freebsd-ports mailing list