XSLoader requires DynaLoader

If DynaLoader.pm is not installed:

$ perl -e 'require XSLoader; XSLoader::load(q{Cwd}, 0)'
Can't locate DynaLoader.pm in @INC (you may need to install the DynaLoader module) (@INC contains: /usr/local/lib64/perl5/5.32 /usr/local/share/perl5/5.32 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/perl5/XSLoader.pm line 115.

XSLoader::load() does "goto \&XSLoader::bootstrap_inherit" which does
"require DynaLoader". A private redefinition of DynaLoader package in
XSLoader is scoped to sub load {}. It's maybe an upstream bug.
This commit is contained in:
Petr Písař 2021-05-04 14:31:39 +02:00
parent 43ae47ecad
commit 42aff81459
1 changed files with 8 additions and 3 deletions

View File

@ -100,7 +100,7 @@ License: GPL+ or Artistic
Epoch: %{perl_epoch}
Version: %{perl_version}
# release number must be even higher, because dual-lived modules will be broken otherwise
Release: 470%{?dist}
Release: 471%{?dist}
Summary: Practical Extraction and Report Language
Url: https://www.perl.org/
Source0: https://www.cpan.org/src/5.0/perl-%{perl_version}.tar.xz
@ -541,6 +541,8 @@ Provides: perl(utf8_heavy.pl)
# utf8 and utf8_heavy.pl require Carp, re, strict, warnings, XSLoader
# For AnyDBM_File
Suggests: perl(DB_File)
# XSLoader requires DynaLoder
Requires: perl(DynaLoader)
# Encode is loaded in BOOT section of PerlIO::encoding
Requires: perl(Encode)
# File::Spec loaded by _charnames.pm that is loaded by \N{}
@ -557,8 +559,8 @@ Suggests: perl(ODBM_File)
%endif
# Remove private redefinitions
# XSLoader redefines DynaLoader name space for compatibility, but does not
# load the DynaLoader.pm (though the DynaLoader.xs is compiled into libperl).
# XSLoader redefines DynaLoader name space for compatibility, but it still
# loads DynaLoader.pm (though DynaLoader.xs is compiled into libperl).
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\((charnames|DynaLoader)\\)$
%description libs
@ -7101,6 +7103,9 @@ popd
# Old changelog entries are preserved in CVS.
%changelog
* Wed Jun 23 2021 Petr Pisar <ppisar@redhat.com> - 4:5.32.1-471
- XSLoader requires DynaLoader
* Wed Jun 16 2021 Jitka Plesnikova <jplesnik@redhat.com> - 4:5.32.1-470
- Updated list of *.ph files (bug#1972637)