Subject: Re: pkgsrc and update
To: , <netbsd-users@netbsd.org>
From: Peter Eisch <peter@boku.net>
List: netbsd-users
Date: 07/26/2005 08:33:56
> From: "Robert Cates" <robert@kormar.net>
> Reply-To: <robert@kormar.net>
> Date: Tue, 26 Jul 2005 15:05:45 +0200
> To: "lama" <wrzymski@gmail.com>, <netbsd-users@netbsd.org>
> Subject: RE: pkgsrc and update
> 
> Well, so much for using 'pkg_chk'...  it was looking pretty good at first,
> then it ended with this (and that's the same problem I was having when I did
> a 'make update')...
> 
...
> make: stopped in /usr/pkgsrc/archivers/file-roller
> ** 'cd /usr/pkgsrc/archivers/file-roller && /usr/bin/make update
> CLEANDEPENDS=yes' failed
> 
> and now I do not know what all packages have been updated or deleted!!
> Funny thing is, I had just installed all of xorg yesterday!  I'm getting
> pretty angry at NetBSD and this pkgsrc problem!!
> 

I've struggled with similar issues to this for a while.  Most of my grief
comes around pkgsrc perl modules that are bound to a particular release of
perl.  Suppose that SpamAssassin (SA) was built for 5.8.5 and now a new SA
is released and merged into pkgsrc -- it will be set to have the more modern
perl 5.8.6 as a dependency.  If SA were the _only_ perl module, I guess that
would be fine.  There tend to be many other modules that have the perl 5.8.5
as a dependency.  So I'm then left to sift through the existing system to
determine all the various packages that I also need to pull up by checking
what packages are dependant on perl 5.8.5 in my example here.  An added
problem for me is that I really don't want to take the services down while I
do all this package manipulation.

What I've come to use is pkg_comp.  It does mean that I essentially have two
release installs on the same system, but one's in chroot'd jail.  While I've
never gained the confidence to actually keep the chroot'd install around
from pkgsrc build to pkgsrc build, I prefer to rm -rf the whole "sandbox"
between builds.  It also keeps from tampering with real services while the
newer versions are being built.  Once I have all the fresh packages, I'm
set.

Though I've never tried it, I'll bet you could do all the other tools
(pkg_chk, etc.) from inside jail as well.  The net result isn't necessarily
easy to bootstrap (emotionally more than technically) but once you have a
pkg_comp config file, it's just small moves to build/manage upgrades.

peter