Subject: Re: Updating packages
To: Steven M. Bellovin <firstname.lastname@example.org>
From: Louis Guillaume <email@example.com>
Date: 04/28/2007 13:20:26
Steven M. Bellovin wrote:
> On Thu, 14 Dec 2006 12:42:01 -0500
> Trey Sizemore <firstname.lastname@example.org> wrote:
>> On Wed, 13 Dec 2006 14:40:15 -0600 (CST)
>> "Jeremy C. Reed" <email@example.com> wrote:
>>> Since this question is so frequently asked, let's summarize every
>>> I started http://wiki.netbsd.se/index.php/How_to_upgrade_packages
>>> Please add to it. Please add command line examples. Please point to
>>> outside docs for further information.
>>> Then when asked again we can point users to it!
>> I'll be reading through this in depth this afternoon. My use-case is
>> pretty straightforward in that I have packages installed from
>> pkgsrc2006Q3 (really just bash and the gnome & kde meta-pkgs). I want
>> to replace '2006Q3' with 'current' and then update gnome, kde, and
>> This should be a good exercise as there are numerous packages and
>> associated dependencies that comprise these 2 meta-pkgs. So I don't
>> know if it will be as simple as updating the meta-pkgs (sadly I doubt
>> it) or if each package will need to be individually updated in a
>> particular order.
> I strongly suspect that the easiest thing is one of two paths:
> 1) build those three packages in chroot via pkg_comp,
> getting a complete clean set of prerequisites. Then delete
> everything, go to your package binary directory, and do
> pkg_add of bash, kde3, and gnome.
> 2) Use 'lintpkgsrc -i' to find out what's out of date,
> then use pkgdepgraph to construct the delete and build
> kde and gnome tend to drag in the immediate world, most of which will
> be out of date.
> --Steve Bellovin, http://www.cs.columbia.edu/~smb
I second this technique. It's the best way I have found.
Recently (pkgsrc-2007Q1) I have found that, after pkg_comp is done and
everything looks good in the chroot environment, pkg_chk with the `-b'
option seems to work well; meaning you don't have to remove everything
(or anything). Usually if anything is missing, they are reported by
pkg_chk and you can just pkg_add them from the newly built binaries.