Perl voodoo in ports/UPDATING

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Tue Jun 1 18:26:10 PDT 2004


On Tue, 2004-06-01 at 21:16, Jeremy Messenger wrote:
> On Tue, 1 Jun 2004 21:07:15 -0400, Christopher Nehren  
> <apeiron at comcast.net> wrote:
> 
> > In regard to the new Perl version, ports/UPDATING has of course been
> > changed with some instructions on how to proceed. It includes some real
> > voodoo which really shows the beauty of Unix. But wouldn't 'portupgrade
> > -rf perl\*5.8.4' be much simpler? And if the user has a threaded Perl
> > installed, the command listed in UPDATING won't work.
> 
> Before the perl was added in UPDATING, I did the 'portupgrade -f p5-\*'  
> and it seems work fine. No problem to run GNOME, portlint, tinderbox, perl  
> gtk2 and etc so far. Maybe, there is some apps that need to be rebuild  
> that I don't have them installed.

Most stuff that depends on perl doesn't link libperl.so into itself, so
for the most part it's not necessary to rebuild them when upgrading
perl.  (An exception is eperl, but last I checked it wouldn't build
against 5.8.x anyway.  Another class of exceptions is ports which
install related perl modules along with themselves; I don't know if any
of the FreeBSD ports do so, but the stock ImageMagick and pilot-link
distributions are examples of this.)

However, whenever upgrading perl to a new version (as opposed to a new
release of an existing version), *all* modules need to be rebuilt; I
typically upgrade perl manually, "use.perl port", and "portupgrade -f
p5-\*" to handle this.  (I considered making it a postinstall rule for
perl, but I don't know if it's safe to call portupgrade from within a
postinstall rule in pkgtools.conf.)

I suspect there isn't a clean way to tell the ports system about this
kind of relationship.

-- 
brandon s. allbery    [linux,solaris,freebsd,perl]     allbery at kf8nh.com
system administrator      [WAY too many hats]        allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon univ.         KF8NH



More information about the freebsd-ports mailing list