On 2019/10/31 07:11, Michael Schroeder wrote:
It should work like this for SUSE's perl:
If there's a minor version update (i.e. no ABI breakage), perl will be configured so that it also looks into the directory of the older perl.
So perl-5.28.1 should also look into the 5.28.0 directory. Also, perl-5.28.1 should provide both "perl(:MODULE_COMPAT_5.28.1)" and "perl(:MODULE_COMPAT_5.28.0)".
---- It should also be true if there was a 5.28.2 and a 5.28.3.
Now, looking at Factory's perl this doesn't seem to be true, so apparently I made a mistake when I did the 5.28.1 update.
---- If that is the correct process, it has NEVER been done "correctly". That being the case, I would take it that the process is at fault and that it lends itself toward making it difficult or impossible to get right. Since all of the minor version updates are required by the perl authors to be ABI compatible, it only seems smart to have a release process that supports that case so that incompatibilities won't keep cropping up. I.e. it seems that configuring perl to use library versions based on the middle number would be consistent with ABI compatibility and would be the 'smart thing to do'.
With perl upstream doing major version updates this often, all of this is moot. Factory will get perl-5.30.0 in a couple of weeks, which will not be compatible to 5.28.*.
---- None of it is moot, since 5.30.1 has also been released and makes it the perfect opportunity for a switch to using 5.30 as the library directory. For purposes of dealing with 'hanging chad', or left-over extra version usage, installing symlinks for minor versions would seem to be prudent in catching any module that isn't "with the program", i.e. when 5.30.x is first installed, it would be installed with libs in 5.30, and symlinks created in each of the perl5 subdirs (dist,suse,site) for each of the subversions released to that date -- i.e. 5.30.0 => 5.30 5.30.1 => 5.30 (etc.).... Handling minor releases is even more important for non-tumbleweed releases as they come less frequently. Do you handle both releases, or is there someone else that needs to become aware of the new directory scheme. Also, as part of that -- there are other packages that should be built to use a shared perl library. Does the perl build put that in /usr/lib64? or is that required for each project that wants to use that shared library? That may be part of the problem with usage in programs like 'gvim'.
Cheers, Michael.
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org