On 1 Jan 2018, at 14:55 (-0500), Craig Treleaven wrote:

On Dec 31, 2017, at 11:46 PM, Bill Cole <[email protected]> wrote:

Ah, so apparently the reason this met total silence was that it got lost/dropped somewhere so only I thought it was posted. Odd...

Reposted message:

From: Bill Cole <[email protected]>
To: [email protected]
Subject: What's the push to require the latest Perl?
Date: Fri, 15 Dec 2017 18:00:20 -0500

In regards to https://trac.macports.org/ticket/55208 :

In doing pre-upgrade due diligence I ran across this:

# port rdeps p5.24-net-dns
The following ports are dependencies of p5.24-net-dns @1.140.0_0:
 perl5.24
[...]
 p5.24-net-libidn2
   libidn2
     pkgconfig
     autoconf
       xz
     automake
     libtool
       xattr
         unzip
     libunistring
       perl5
       texinfo
         help2man
           perl5.26
           p5.26-locale-gettext


That seems unhelpful... Why would help2man demand the absolute latest Perl? Well, because the Portfile says it does. However, in the real world, help2man is happy with any perl since 5.8.

Doing a 'port -y upgrade outdated' reveals that multiple ports are threatening to demand perl5.26 if I try to upgrade them, like whois!? Because it needs perl to build???

This is insanity. Can anyone convince me otherwise or even explain how this hasn't led to an angry mob with torches and pitchforks? Because I have one of each if anyone wants to join the revolt…

I’m not the best to explain the situation, but the issue basically comes down to manpower. We have many thousands of ports and not all that many active maintainers.

Understood. Always a problem in the FOSS world. I'd like to be able to offer help but cannot responsibly do so currently. I am grateful that there are people who can do so.

It is felt that supporting multiple Perl versions drains resources that would be better spent keeping up to date. Especially since older versions are no longer supported upstream or even receiving critical security fixes.

Note that 5.24 still will be supported upstream for a few months. Hopefully all the issues with 5.26 in modules I rely on will be fixed before 5.28 comes out. Updating my whole Perl world is not an option quite yet.

Since most users receive and install pre-compiled binaries, it doesn’t present a big burden when they upgrade.

Not everyone can do that. It would help if I could, since eliminating build dependencies greatly reduces the places in the dependency forest where the Perl core will get upgraded as a dependency.

Should a user be concerned about old versions wasting disk space, the port reclaim command is available to pare things down.

Disk space is not the problem. Here's the problem:

***There is no canonical documented process for cleanly updating the MacPorts Perl universe and specifying only the latest Perl version in dependencies appears at first encounter to make that universe fragile.***

After some experimentation on a non-critical system, it seems now that my alarm over seeing 5.26 dragged in was not so justified, because it doesn't grab the /opt/local/bin/perl{,5} symlinks. So the existing working 5.24 world is apparently safe from damage until I switch the perl5 port to the 5.26 variant. It seems. I still haven't worked out an upgrade process any better than I've used in the past: feeding the list of p5.x-* ports into a script that installs the new version of each one then switching the symlinks by switching the perl5 variant and finally removing all the old versions.

Has the MacPorts core team considered the implementation of an analog to the FreeBSD 'UPDATING' file? Having a reference for updates that require special procedures would make it less likely that users are startled by updates they aren't really prepared for.

As the home page says: "We provide a single software tree that attempts to track the latest release of every software title (port) we distribute”. Note the _latest release_ part.

Yeah, but it isn't really feasible to always use the latest Perl or any other language whose ecosystem is the product of many independent module authors.

--
Bill Cole
[email protected] or [email protected]
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Currently Seeking Steady Work: https://linkedin.com/in/billcole

Reply via email to