in reply to Re: CygPerl question: what to expect from update when Cygwin releases 5.42
in thread CygPerl question: what to expect from update when Cygwin releases 5.42

Sorry to take so long to acknowledge your reply, ikegami. What I have done so far has merely been to execute in the bash shell this command pipeline:

find /usr/local/share/perl5/site_perl/5.40 | cpio -p -d -B --dot --force-local --reset-access-time --make-directori +es \ --preserve-modification-time H:/

Where H:/ is an external USB pendrive. It's an unsophisticated and limited way to try to ensure I can get back to having the site_perl - installed modules re-installable, safely preserved no matter what bone-headed choices I make with my main CygPerl installation (the system Perl provided by Cygwin, in my case). But I confess I am not clear on the how and why of Perl versioning – in this case, perl 5.42 will install modules to /usr/local/share/perl5/site_perl/5.42, right?.

Cygwin appears to use versioned paths. So the modules that need reinstalling will simply vanish from perl's sight rather than malfunction.

Yes, ok. I just don't grasp why all of the modules under the versioned dir need to be reinstalled – if they aren't xs (compiled extensions) why wouldn't they behave properly with a newer perl? I've never understood this.

    — Soren

Oct 20, 2025 at 17:57 UTC
  • Comment on Re^2: CygPerl question: what to expect from update when Cygwin releases 5.42
  • Download Code

Replies are listed 'Best First'.
Re^3: CygPerl question: what to expect from update when Cygwin releases 5.42
by ikegami (Patriarch) on Oct 20, 2025 at 19:16 UTC

    perl 5.42 will install modules to /usr/local/share/perl5/site_perl/5.42, right?.

    The package manager shouldn't touch site_perl at all. Non-core modules it installs should be installed in the vendor dirs.

    If we're talking about modules you install yourself, then the paths can be configured when perl is built. perl -V:'^install.*' will show the installation dirs used by a perl. That said, /usr/local/share/perl5/site_perl/5.42 seems likely if /usr/local/share/perl5/site_perl/5.40 was previously used.

    I just don't grasp why all of the modules under the versioned dir need to be reinstalled

    Because someone decided to install them in a versioned dir.

    That said, that's a good practice because they might have XS dependencies.

Re^3: CygPerl question: what to expect from update when Cygwin releases 5.42
by ikegami (Patriarch) on Oct 20, 2025 at 19:12 UTC

    The package manager shouldn't touch site_perl at all.