perl5, perl5.* changes

Dan Ports dports at macports.org
Mon Feb 28 16:34:22 PST 2011


I've tried in the past to avoid finding out too much about how the p5
ports work, not being an avid perl user, but this situation has
motivated me to look into it a bit more. 

My understanding of the current state of things is that a typical user,
after a selfupdate and port upgrade outdated, will find himself with:
  - both perl5.8 and 5.12 installed
  - /opt/local/bin/perl pointing to perl5.12
  - but all modules installed only for perl5.8
...in other words, a broken installation of perl.

I see this as a high-priority issue that affects many people. So if we
can get things closer to working by revbumping a bunch of ports, we
should do that ASAP. Is there any reason *not* to revbump p5-* (or more
precisely anything using PortGroup perl5?)

On Sun, Feb 27, 2011 at 12:10:59AM -0600, Ryan Schmidt wrote:
> It was said that only the p5-* ports that compile things need to be rebuilt (not those that just install files). If that is true, then those portfiles that say "supported_archs noarch" would not need a revision bump.

I don't think this is true. Looking at an arbitrary noarch port, p5-yaml, I
see that it installs into /opt/local/lib/perl5/vendor_perl/5.8.9/YAML.pm.
So even though it doesn't need to be recompiled, it probably needs to
be reinstalled ino the right location.

> However, the separate perl5.8/perl5.10/perl5.12 ports give the impression that users can install multiple versions simultaneously and expect all their p5-* modules to work with whatever is active. It sounds like this is not actually the case, so perhaps first we should clean up this situation, move perl 5.12.3 into the perl5 port, mark perl5.8/perl5.10/perl5.12 as replaced_by perl5, then finally revbump the affected p5-* ports.

Yes, I'm also confused by this. It's possible to have multiple versions
of perl5 installed, but as far as I can tell modules can only be
installed for one of them -- whichever one was installed as
$prefix/bin/perl at the time the moduls were built. If so, we don't
really support multiple versions of perl at all. If having only one
version of perl5 installed is acceptable (I'm not a perl user, so I
can't judge that myself, but that's the impression I get), I think
that's the way to go.

But I don't think we should let this keep us from revbumping ports to
get people's systems working again in the meantime.

Dan

-- 
Dan R. K. Ports              MIT CSAIL                http://drkp.net/


More information about the macports-users mailing list