[arch-dev-public] [RFC] Perl configuration revisited
bluewind at xinu.at
Fri Jun 6 17:55:55 EDT 2014
I've looked around a bit for possible ways to prevent segfault issues
like with the upgrade to 5.20.0.
I tried adding a version to libperl.so (including setting a soname for
the library), but that only helps programs that link to libperl (like
weechat). In my (rather short) tests it wouldn't affect perl modules
loaded by perl ("use FooBar::Blub;" in a perl script). Dead end IMHO.
I also tried adding the major perl version (5.20) to the perl dirs we
currently have in /usr/lib. So /usr/share/perl5/vendor_perl would become
/usr/share/perl5/vendor_perl/5.20, similar for the others. Perl's
default would do something similar, but include the full version which
seems overkill since I didn't see a minor update break API.
According to pkgfile such a change would affect 117 packages with 112
of those actually having a .so file in there. In case anyone wants to
know, the 5 packages are: perl-sgmls stow foomatic-db-engine
: pkgfile -r '/usr/lib/perl5/' | wc -l
: pkgfile -r '/usr/lib/perl5/.*\.so$' | wc -l
This change would remove binary modules from perl's @INC on update (@INC
is like $PATH, but for perl modules and contains the vendor_perl path
mentioned above amongst others) which is pretty much what we want,
except it leads to possibly confusing error messages ("module not found"
rather than "libperl.so.$oldversion not found"), but it should prevent
future segfaults in case of incompatible libs.
Non-binary modules are in /usr/share/perl5/vendor_perl (note share
instead of lib) and won't have to be rebuilt on perl upgrades.
I don't know why it was originally set up to be non-versioned, but the
wiki mentions that the current config is influenced by the Debian's perl
policy which probably has different requirements.
Unless people think it's a good idea to implement this now (would
require a rebuild of ~130 packages) I'm targeting perl 5.22. The change
should not require any changes to PKGBUILDs (tested weechat,
perl-net-dns and perl-dbi).
Any input is welcome, especially possible downsides of my idea.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: OpenPGP digital signature
More information about the arch-dev-public