portupgrade questions

Warren Block wblock at wonkity.com
Mon Nov 5 05:26:50 PST 2007

On Mon, 5 Nov 2007, Donovan R. Palmer wrote:

> A total noob here with FreeBSD, but am liking it so far. I went to run 
> portupgrade for the first time and encountered quite a few problems. I have 
> googled around and found some of my answers, but it's been slow going. For 
> example:
> cairo# portupgrade -aF

The thing you should be doing first is checking /usr/ports/UPDATING. 
Major things can change, and portupgrade may not be able to handle them 
without help.

> cd: can't cd to /usr/ports/devel/gnu-autoconf
> ** Package 'gnu-autoconf' has been removed from ports tree.

Old versions of autoconf were replaced with 2.61.

> So one possibility I read to fix something like this is to uninstall and 
> resintall it. This yields the following result:

But you can't reinstall it, since it's gone from the ports tree.

> cairo# pkg_info | grep gnu-autoconf
> gnu-autoconf-2.59   Automatically configure source code on many Un*x 
> platforms
> cairo# pkg_deinstall gnu-autoconf-2.59
> --->  Deinstalling 'gnu-autoconf-2.59'
> pkg_delete: package 'gnu-autoconf-2.59' is required by these other packages
> and may not be deinstalled:
> gnu-automake-1.9.6
> kde-3.5.4
> kdevelop-3.3.4
> ** Listing the failed packages (*:skipped / !:failed)
>       ! gnu-autoconf-2.59     (pkg_delete failed)
> --->  Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
> So how do I fix this? Is there a HOW-TO or tutorial on a webpage out there 
> that will help me learn how to fix these things?  The handbook makes no 
> mention of how to resolve these issues... unless I missed something?

The "-f" option to pkg_delete/pkg_deinstall will force it to do the 
action, even if there are dependencies.  Sometimes it's the only way.

There's also the -o option to portupgrade.

As for a tutorial: first, check UPDATING.  Then the command man page. 
If necessary, a web search.

I can't remember what I did for this particular upgrade, but do remember 
deleting some of the older autoconf ports manually.  I suspect you could 
delete all of them (and maybe some or all of the automake ports) and 
then just deinstall and install autotools.  (Like pkg_delete -f, "make 
deinstall" in a port will ignore dependencies and just go ahead.)

After you do all that, you'll probably need to run pkgdb -F to fix or at 
least check dependencies.

-Warren Block * Rapid City, South Dakota USA

More information about the freebsd-questions mailing list