perl upgrade broke 5.3 system

Joshua Tinnin krinklyfig at
Mon Feb 7 10:20:04 PST 2005

On Monday 07 February 2005 09:02 am, "dave" <dmehler26 at> 
> Hello,
>     I just updated ports after being away for two weeks. The update
> process itself went fine, my problem came when i ran the command to
> update perl-dependent ports as suggested in /usr/ports/UPDATING. I
> got a bunch of failed updates, php4-extensions, and any of my p5*
> ports, apache2, subversion, ices, etc. I've tried manually running
> portupgrade packagename but all i get is a prompt, it's as if
> portupgrade thinks everything is updated, but dependent perl ports
> are not working. The noticer was when MailScanner couldn't find
> SpamAssassin although the latest version of both ports are installed.

Well, it's always tricky. What I did this time is:

% pkg_info -R perl\* > ~/perlports

A list of dependencies is now in the text file perlports. In order to 
get a working environment, I did this first (I use xfce4 on this 

# portupgrade -rRf xfce

Then I force-upgraded all the rest of the xorg ports that weren't 
upgraded by that command, then all libraries, then individual programs, 
and finally the ports in meta ports, then the meta ports themselves. 
Most of this was done automatically; I copied perlports to a different 
file, edited out some lines, and added commands, put the list in the 
order stated previously, set the file as executable, then I ran it as a 
script. Most of the lines in the script look like this (yelp is an 

portupgrade -f yelp-2.6.5 ;

It took a long time, as always, but I had zero problems. I also had 
xfce4, SpamAssassin, KMail and some other programs I use all the time 
up and running right away. I'm sure this could be done in a more 
automated fashion, but I've always run into dependency problems that 
way, if ports aren't upgraded in the right order, e.g., libraries 
first, so there's always clean up work to do. I avoided that this time, 
though it took a little longer to have each upgrade be a separate line 
in a script.

>     On another question when i install a port if it installs
> dependencies and those are only needed by that port, when i uninstall
> the port i'd like to updte and remove those dependencies as well, is
> this doable? Some urgency!

Yes, as long as those dependencies aren't needed elsewhere. You can run 
the pkg_info -r command to find out, then run pkg_info -R on the 
dependencies, or you can run:

make pretty-print-run-depends-list
make pretty-print-build-depends-list

in the appropriate port folder (e.g., /usr/ports/www/firefox). There's 
also sysutils/pkg_cutleaves .

- jt

More information about the freebsd-questions mailing list