Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2002 18:00:15 -0600
From:      "Mike Meyer" <mwm-dated-1012867215.451f75@mired.org>
To:        "Shawn Kennedy" <shawnlkennedy@lucent.com>
Cc:        questions@freebsd.org
Subject:   Re: pkg Updates?
Message-ID:  <15448.35087.593247.702986@guru.mired.org>
In-Reply-To: <122467551@toto.iv>

next in thread | previous in thread | raw e-mail | index | archive | help
Shawn Kennedy <shawnlkennedy@lucent.com> types:
> This is a multi-part message in MIME format.
> 
> - ------=_NextPart_000_000B_01C1A979.A99907C0
> Content-Type: text/plain;
> 	charset="iso-8859-1"
> Content-Transfer-Encoding: 7bit
> 
> Hello,
> 
> I am new to freeBSD (like you haven't heard 
> that about a billion times by now :-)) and 
> have a question.
> 
> I performed a CVS Update of the entire box. 
> It migrated me from 4.4 to 4.5 stable (which is 
> fine, I don't have a problem at all with that).
> I rebuilt the world, installed it and rebuilt 
> the kernel.  Now some of my packages are now 
> considered "old" (used pkg_version).  I don't 
> know how to update all the packages. I tried 
> pkg_update, but I don't have the new tarballs 
> on my system. I tried to delete the package 
> so when I add it back in it will go get the 
> new tarballs, but when I try to delete it, 
> it tells me it's required by other packages.  
> Is there a way out of this?
> 
> Here is my package info (pkg_info and pkg_version).  
> All I want is for everything to be "up to date".

You have three choices.

1) use pkg_version -c. That will generate a script that builds each
   out of date package, and if that works deletes the installed package
   and installes the new one. This won't update the packages that
   depend on those, unless they happen to be out of date as well. This
   may cause things to break.

2) Figure out the dependency lattice betweem the packages, and reinstall
   everything that depends on anything that is out of date, in the
   proper order. This will works, but can be a major PITA.

3) Install portupgrade, fight with it building the package database, and
   then let it do the work of figuring out the dependencies for
   you. It's not clear that this is any easier than #2.

#1 doesn't deal with packages that change names, but pkg_version can
tell you about package that no longer have ports, so that you know the
name has changed and can try and chase it down.

#2 has the same problem, and you'll probably want to use pkg_version
and pkg_info in the process.

#3 notices that packages have changed names, and tries to guess what
the new package name should be. It doesn't deal well with packages
that don't have a port associated with them, nor does it deal well
with packages dependencies that have been deleted because that bit of
functionality isn't needed.

Personally, having tried #2 and #3, I do #1.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15448.35087.593247.702986>