fyi
-- 
http://hackcoop.com.ar


--- Begin Message ---
Hi,

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[1] such a change would affect 117 packages with 112
of those actually having a .so file in there[2]. In case anyone wants to
know, the 5 packages are: perl-sgmls stow foomatic-db-engine
perl-anyevent perl-common-sense.

[1]: pkgfile -r '/usr/lib/perl5/' | wc -l
[2]: 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.

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

Attachment: pgpqDlHrZEU8D.pgp
Description: PGP signature

_______________________________________________
Dev mailing list
[email protected]
https://lists.parabolagnulinux.org/mailman/listinfo/dev

Reply via email to