Subject: Re: USE_PERL5
To: Christoph Badura <bad@ora.de>
From: Dean Huxley <dean@huxley.org>
List: tech-pkg
Date: 03/30/1999 20:15:44
Christoph Badura <bad@ora.de> wrote:
> dean@huxley.org (Dean Huxley) writes:
> >Christoph Badura <bad@ora.de> wrote:
> >>
> >> You're probably better of making yourself an updated perl pkg and hack
> >> bsd.pkg.mk to use/depend on that instead of the supplied perl.
> 
> >So anyone who wants to run the latest version of perl should do this?
> 
> Yes.  Although, I wouldn't mind a perl-current pkg and a change to
> bsd.pkg.mk so that one can set the perl version in /etc/mk.conf.
> Although, we'd have to be careful to not get such an "infected" binary
> pkg on the FTP site.

This would work for me...  I'll like any solution that will let me run
the latest version of perl without installing perl5.04004 

> >If they already have it installed without using the package system
> >they'll have to reinstall with a their own package so things show up
> >with pkg_info.  Then they have to modify bsd.pkg.mk and remember not
> >to overwrite it the next time they get pkgsrc.tar.gz, but then they
> >might have to merge in changes.  
> 
> Right.

That's what I've been doing.  Of course, I forgot to modify bsd.pkg.mk
when I untarred a recent tarball.  Then some package dependant on perl5
overwrote my perl5.005* with perl5.00404.  Having to patch bsd.pkg.mk
each time I update pkgsrc is a PITA.

> >Of course, if they don't know to do all this, the default behaviour
> >of a pkg with USE_PERL5=yes is to overwrite the version of perl
> >already installed on the system, even if it is newer than the pkg'd
> >one.
> 
> Excuse me?  How is the "version of perl already installed on the system"
> overwritten by the pkg version?  Have you set LOCALBASE to /usr/local?
> Don't do that if you don't want to have random crap in LOCALBASE
> overwritten by the package system.  That is one reason why LOCALBASE
> is /usr/pkg by default.

Yes, I have LOCALBASE set to /usr/local; no I don't install my own
stuff there - just pkgs.  I understand your point, but I must wonder
why it's called LOCALBASE if /usr/local is bad setting?  Seems rather
anti-intuitive to me. ;-)

The "version that was already installed" was perl5.005*, and it
was installed as a package in the same way you suggested earlier.
(although bsd.pkg.mk wasn't updated)

If USE_PERL would have looked for perl-5.* instead of perl-5.00404
everything would be fine.

> >I don't see this as an desirable solution...
> 
> Well, do you have a better solution?

My original one that you shot down.  Have the package system check if
perl exists and $] >= 5.00404.  If a gnu configure script can figure
it out, why can't the pkg system?  I know you want a purist solution,
but from a practical standpoint there are people who want to use the
latest version of perl.  Perl5.00404 is already old, and somethings
gotta change with the USE_PERL5 checks if we ever want to upgrade to
a newer version.

Cheers,
Dean.