pkgupgrade

Michel Talon talon at lpthe.jussieu.fr
Sat Feb 10 15:40:33 UTC 2007


Hello,

this is to report a revised version of my program, intended to upgrade
a machine using mainly precompiled packages. All problems that i have
seen or have been reported to me have been fixed. So i think it is 
reasonably suitable for use, and i have sticked a 1.0 label.
I have also fixed all problems i have encountered with save_pkg.py, but
Cyrille Szymanski will perform a better cleanup, so i have appended a
0.5 tag. So fresh copies can be downloaded from:
http://www.lpthe.jussieu.fr/~talon/pkgupgrade-1.0
http://www.lpthe.jussieu.fr/~talon/save_pkg.py-0.5

They will be accessible as soon as the administrator will have fixed the
apache configuration :-(   (broken after a crash), or by email from me.

This is an example of running it:

niobe% ./pkgupgrade
There are now 621 packages installed.
Collecting installed packages.
Building the updated index.
Downloading INDEX from ftp server ftp.freebsd.org in directory
/pub/FreeBSD/ports/i386/packages-6.2-release
INDEX downloading finished.
Building and filling the dependency DAG.
Printing the upgrade list in UpgradeLog
Total time spent in analysis:  01 minutes 20 seconds.
Second phase, downloads and backups.
Total time spent in downloads:  00 minutes 01 seconds.
Total time spent in backups:  00 minutes 20 seconds.
Writing upgrade shell script.
Will remove 391 old packages.
Will install 465 new binary packages.
Will compile 7 ports.
All tasks completed.
******************************************************************
Total time:  02 minutes 30 seconds.

Here of course downloads and backups had been performed in previous
runs, except for a small part of backups which are redone. So one can
say that 2mn30s is the overhead of the program itself. 

Out of the binary packages, to be installed, 245 have been found on
the FreeBSD-6.2 disk2 and so are not downloaded.
Downloads take of the order of 10 minutes on a high speed connection,
more on a low speed one, of course, but have to be done anyways. 
Backups take less time, and are performed during downloads.

It is to be noted that, out of 600 installed ports, 200 will not be
upgraded, because there is no more recent precompiled version, 400
will be removed and replaced by more recent versions, and only 7 ports
will need recompilation. In the present case they are, as shown by the
upgrade shell script:
TOBUILD='print/pdflib graphics/blender-devel editors/vim
emulators/kqemu-kmod devel/py-urwid audio/lame
audio/faac'
These are indeed not present on the FreeBSD-6.2 repository. Clearly
these compilations will take very little time, and the quasi totality
of ports will be upgraded through binary packages, as intended,
including openoffice which is now found directly in the repository.

Hoping that this will help maintaining FreeBSD boxes without spending 
hours doing it.

-- 

Michel TALON



More information about the freebsd-hackers mailing list