Subject: Re: Updating packages
To: Steven M. Bellovin <>
From: Louis Guillaume <>
List: pkgsrc-users
Date: 04/28/2007 13:20:26
Steven M. Bellovin wrote:
> On Thu, 14 Dec 2006 12:42:01 -0500
> Trey Sizemore <> wrote:
>> On Wed, 13 Dec 2006 14:40:15 -0600 (CST)
>> "Jeremy C. Reed" <> wrote:
>>> Since this question is so frequently asked, let's summarize every 
>>> technique.
>>> I started
>>> 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
>> bash.
>> 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
> 	lists.
> kde and gnome tend to drag in the immediate world, most of which will
> be out of date.
> 		--Steve Bellovin,

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.