2014-02-27 07:14:30 +00:00
|
|
|
#
|
|
|
|
# spec file for package perl-Lexical-SealRequireHints
|
|
|
|
#
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
# Copyright (c) 2023 SUSE LLC
|
2014-02-27 07:14:30 +00:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2014-02-27 07:14:30 +00:00
|
|
|
#
|
|
|
|
|
|
|
|
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
%define cpan_name Lexical-SealRequireHints
|
2014-02-27 07:14:30 +00:00
|
|
|
Name: perl-Lexical-SealRequireHints
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
Version: 0.012
|
2014-02-27 07:14:30 +00:00
|
|
|
Release: 0
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
|
|
|
Summary: Prevent leakage of lexical hints
|
|
|
|
URL: https://metacpan.org/release/%{cpan_name}
|
2017-08-02 16:54:46 +00:00
|
|
|
Source0: https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/%{cpan_name}-%{version}.tar.gz
|
2016-03-23 11:53:10 +00:00
|
|
|
Source1: cpanspec.yml
|
2025-08-12 18:14:59 +02:00
|
|
|
Source100: README.md
|
2014-02-27 07:14:30 +00:00
|
|
|
BuildRequires: perl
|
|
|
|
BuildRequires: perl-macros
|
|
|
|
BuildRequires: perl(Module::Build)
|
|
|
|
%{perl_requires}
|
|
|
|
|
|
|
|
%description
|
|
|
|
This module works around two historical bugs in Perl's handling of the
|
|
|
|
'%^H' (lexical hints) variable. One bug causes lexical state in one file to
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
leak into another that is 'require'd/'use'd/'do'ed from it. This bug, [perl
|
2014-02-27 07:14:30 +00:00
|
|
|
#68590], was present from Perl 5.6 up to Perl 5.10, fixed in Perl 5.11.0.
|
|
|
|
The second bug causes lexical state (normally a blank '%^H' once the first
|
|
|
|
bug is fixed) to leak outwards from 'utf8.pm', if it is automatically
|
|
|
|
loaded during Unicode regular expression matching, into whatever source is
|
|
|
|
compiling at the time of the regexp match. This bug, [perl #73174], was
|
|
|
|
present from Perl 5.8.7 up to Perl 5.11.5, fixed in Perl 5.12.0.
|
|
|
|
|
|
|
|
Both of these bugs seriously damage the usability of any module relying on
|
|
|
|
'%^H' for lexical scoping, on the affected Perl versions. It is in practice
|
|
|
|
essential to work around these bugs when using such modules. On versions of
|
|
|
|
Perl that require such a workaround, this module globally changes the
|
|
|
|
behaviour of 'require', including 'use' and the implicit 'require'
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
performed in Unicode regular expression matching, and of 'do', so that they
|
|
|
|
no longer exhibit these bugs.
|
2014-02-27 07:14:30 +00:00
|
|
|
|
|
|
|
The workaround supplied by this module takes effect the first time its
|
|
|
|
'import' method is called. Typically this will be done by means of a 'use'
|
|
|
|
statement. This should be done as early as possible, because it only
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
affects 'require'/'use'/'do' statements that are compiled after the
|
|
|
|
workaround goes into effect. For 'use' statements, and 'require' and 'do'
|
|
|
|
statements that are executed immediately and only once, it suffices to
|
|
|
|
invoke the workaround when loading the first module that will set up
|
|
|
|
vulnerable lexical state. Delayed-action 'require' and 'do' statements,
|
|
|
|
however, are more troublesome, and can require the workaround to be loaded
|
|
|
|
much earlier. Ultimately, an affected Perl program may need to load the
|
|
|
|
workaround as very nearly its first action. Invoking this module multiple
|
|
|
|
times, from multiple modules, is not a problem: the workaround is only
|
|
|
|
applied once, and applies to everything subsequently compiled.
|
2014-02-27 07:14:30 +00:00
|
|
|
|
|
|
|
This module is implemented in XS, with a pure Perl backup version for
|
|
|
|
systems that can't handle XS modules. The XS version has a better chance of
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
playing nicely with other modules that modify 'require' or 'do' handling.
|
|
|
|
The pure Perl version can't work at all on some Perl versions; users of
|
|
|
|
those versions must use the XS. On all Perl versions suffering the
|
|
|
|
underlying hint leakage bug, pure Perl hooking of 'require' breaks the use
|
|
|
|
of 'require' without an explicit parameter (implicitly using '$_').
|
2014-02-27 07:14:30 +00:00
|
|
|
|
|
|
|
%prep
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
%autosetup -n %{cpan_name}-%{version}
|
2014-02-27 07:14:30 +00:00
|
|
|
|
|
|
|
%build
|
Accepting request 1071464 from devel:languages:perl:autoupdate
- updated to 0.012
see /usr/share/doc/packages/perl-Lexical-SealRequireHints/Changes
version 0.012; 2023-03-10
* bugfix: comprehensive set of preemptive loads of modules for which
a delayed load might have been compiled while loading this module
* bugfix: if AutoLoader was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
autoloads of *.al files not leak hints
* bugfix: if utf8_heavy.pl was loaded during (or before) loading this
module, flush its compiled code and reload it, to make subsequent
loads of Unicode data files not leak hints
* bugfix: perform preemptive loads, of modules for which a delayed
load might have been compiled while loading this module, regardless
of whether XS module loading was successful
* bugfix: also work around hint leakage affecting do-file, which
suffers exactly the same problem as require
* correct thread behaviour: make the XS implementation behave the way
the pure Perl implementation already did, by not applying workaround
until it has been requested in a particular thread (including being
requested pre-cloning in a thread from which this thread was cloned)
* be more conservative about maintaining op tree structure
* port to Perl 5.33.1, which defines a PERL_VERSION_GE() macro that
clashes with the one this module previously had
* delay the preemptive module loads, of modules potentially subject
to early-compiled delayed loads, until applying the fix
* update swash test for Perl 5.27.11, which avoids actually loading
swashes most of the time
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* skip thread tests on pre-5.8.9 Perls where a core bug makes thread
creation corrupt memory
* skip thread tests on pre-5.8.3 Perls where a core bug makes thread
completion break the global PL_sv_placeholder
* in t/override.t, make the test overrides of require() provide the
correct context to the file scope of each file being loaded
* test the point at which the workaround goes into effect
* in documentation, describe the bug affecting "do" on Perls 5.15.{5..7}
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* use full stricture in the module, now that delayed module loads
compiled while loading this module are properly handled so there's
no need to try avoiding them entirely
* in XS, better argument parenthesisation in a macro
* avoid some compiler warnings that arise on Perl 5.6
* fix indentation in the reserve definition of wrap_op_checker()
OBS-URL: https://build.opensuse.org/request/show/1071464
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Lexical-SealRequireHints?expand=0&rev=9
2023-03-14 10:41:21 +00:00
|
|
|
perl Build.PL installdirs=vendor optimize="%{optflags}"
|
2014-02-27 07:14:30 +00:00
|
|
|
./Build build flags=%{?_smp_mflags}
|
|
|
|
|
|
|
|
%check
|
|
|
|
./Build test
|
|
|
|
|
|
|
|
%install
|
|
|
|
./Build install destdir=%{buildroot} create_packlist=0
|
|
|
|
%perl_gen_filelist
|
|
|
|
|
|
|
|
%files -f %{name}.files
|
|
|
|
%doc Changes README
|
|
|
|
|
|
|
|
%changelog
|