Stable tag will be slipped Sunday and release engineering will begin Monday

Peter Schuller peter.schuller at infidyne.com
Tue Apr 5 08:51:09 PDT 2005


> >To repeat myself:  I certainly have no objection to pkgsrc as a tool for
> >building and installing third-party applications.  But -- in its present
> >incarnation as the package *maintenance* tool of NetBSD it can't hold a
> >candle to FreeBSD's portupgrade.
> 
> What can't pkgsrc do that portupgrade can?

Because 'make update' is far from even usable in many situations. For starters,
it will cause a huge amount of pacakges to be removed before things are re-built,
which means that you easilty criple your entire system by having 90% of the imporant
packages recursively removed.

And then of course the packages that were removed *ARE NOT REINSATLLED* afterwards
(I believe these will be the packages that were removed due to one of their dependencies
being removed, but which are not in the dependency path of the top level package where
one did "make update").

The effect is that if you want to do update your system with "pkg_chk -u", your 
machine is pretty much left unusable for extended periods of time (hours or days). This is
bad enough on the machine on which I am running NetBSD, and would be worse if it weren't
for the fact that about the only applications I run locally are xterms/mplayer/xine (stuff
like webbrowsing is something I do via an ssh tunnel - on FreeBSD).

Note also that "pkg_chk -u" and 'make update' is not supported with binary packages; I tried
pre-compiling everything using pkg_comp once, but ended up not being able to use the packages.

The best way as far as I have been able to determine, is to do something like this:

pkg_chk -g   # make initial list of installed packages
pkg_chk -r   # remove all packages that are not up to date and packages that depend on them
pkg_chk -i   # install all missing packages

Only this will still leave your system un-usable for long periods of time. Next time I will
try to build all packages once again using pkg_comp, and then use the above three-step procedure
(modified to grab binary packages) to *HOPEFULLY* be able to perform an upgrade in a matter of
minutes instead of hours or days.

This problem was enough that I almost gave up on NetBSD.

I can't even begin to imagine what people do on on servers.

FreeBSD's portupgrade is singificantly better, but still not "good enough". Portmanager fixes
some of the issues, but has others...

In short - pkgsrc has deep problems with upgrading. And any "next gen" package solution is going
to have to do a lot better. I can live with the amount of time it takes to perform an update; but
I do not want a cripled system in the mean time.

If I am wrong and there is some magical way of upgrading pkgsrc - please enlighten me :)

-- 
/ Peter Schuller, InfiDyne Technologies HB

PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller at xxxxxxxxxxxx>'
Key retrieval: Send an E-Mail to getpgpkey at xxxxxxxxx
E-Mail: peter.schuller at xxxxxxxxxxxx Web: http://www.scode.org






More information about the Kernel mailing list