[Bug 1200990] New: yast2-perl-bindings does not work with perl-5.36.0
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 Bug ID: 1200990 Summary: yast2-perl-bindings does not work with perl-5.36.0 Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 Assignee: yast2-maintainers@suse.de Reporter: mls@suse.com QA Contact: jsrain@suse.com Found By: --- Blocker: --- New perl versions like 5.36.0, calling SvPV or SvPV_nolen will no longer set the POK flag. The perldelta man page says: Reading the string form of an integer value no longer sets the flag SVf_POK. The string form is still cached internally, and still re-read directly by the macros SvPV(sv) etc (inline, without calling a C function). XS code that already calls the APIs to get values will not be affected by this change. XS code that accesses flags directly instead of using API calls to express its intent might break, but such code likely is already buggy if passed some other values, such as floating point values or objects with string overloading. The code in yast2-perl-bindings relies on the old behavior in a couple of places. For example, YPerl::fromPerlScalarToAny looks like this: const char *pv = SvPV_nolen (sv); if (SvPOK (sv)) { val = YCPString (pv); } This will no longer work. Please change the if condition to: if (SvPOK(sv) || SvIOK(sv) || SvNOK(sv)) -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 https://bugzilla.suse.com/show_bug.cgi?id=1200990#c1 --- Comment #1 from Michael Schr�der <mls@suse.com> --- (And maybe add testcases as well? This caused the yast2-users package to fail the build and took quite a bit to figure out.) -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 https://bugzilla.suse.com/show_bug.cgi?id=1200990#c2 --- Comment #2 from Stefan Hundhammer <shundhammer@suse.com> --- Ref docs: https://perldoc.perl.org/perlguts -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 https://bugzilla.suse.com/show_bug.cgi?id=1200990#c3 --- Comment #3 from Stefan Hundhammer <shundhammer@suse.com> --- First tentative fix: https://github.com/yast/yast-perl-bindings/pull/30 -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 https://bugzilla.suse.com/show_bug.cgi?id=1200990#c4 --- Comment #4 from Stefan Hundhammer <shundhammer@suse.com> --- @Michael: TW still has Perl-5.34.1 that does not have this new behavior yet. Do you have an OBS project with this new Perl-5.36.0 that we can use for testing? -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 https://bugzilla.suse.com/show_bug.cgi?id=1200990#c5 --- Comment #5 from Michael Schr�der <mls@suse.com> --- devel:languages:perl should do the trick. -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CONFIRMED URL| |https://trello.com/c/jkB6qh | |ZJ Assignee|yast2-maintainers@suse.de |yast-internal@suse.de -- You are receiving this mail because: You are on the CC list for the bug.
![](https://seccdn.libravatar.org/avatar/a895f78a81a109471893519443e4d933.jpg?s=120&d=mm&r=g)
https://bugzilla.suse.com/show_bug.cgi?id=1200990 https://bugzilla.suse.com/show_bug.cgi?id=1200990#c6 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #6 from Stefan Hundhammer <shundhammer@suse.com> --- Submitted to OBS as yast2-perl-bindings-2.5.1: https://build.opensuse.org/request/show/988660 See the PR for more details and the (manual!) testing procedure: https://github.com/yast/yast-perl-bindings/pull/30 -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com