Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
00ee7b1113 | ||
|
a7446ef907 | ||
|
2c14e5996d |
@ -0,0 +1,74 @@
|
||||
From d4b0f5dd2665dfe0124623379bfb6ce233cdd075 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Mon, 6 May 2019 15:22:32 +0200
|
||||
Subject: [PATCH] Fix Perl version lookup with Module::CoreList
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
If a distribution declares a dependency on '5.010' Perl,
|
||||
inc::Module::Install dies in
|
||||
Module::Install::Admin::ScanDeps::scan_dependencies() with:
|
||||
|
||||
Module::CoreList has no information on perl 5.010 at /usr/lib/perl5/ site_perl/5.10.1/Module/Install/Admin/ScanDeps.pm line 25.
|
||||
|
||||
This is because %Module::CoreList::version is indiced only with some
|
||||
arbitrary versions and normalized numeral versions only. E.g. it
|
||||
contains an entry for 5.005, 5.005000 and 5.010000 but no entry of 5.010.
|
||||
|
||||
This patch fixes the lookup by converting a version string into
|
||||
a numeral.
|
||||
|
||||
https://rt.cpan.org/Public/Bug/Display.html?id=71565
|
||||
https://github.com/Perl-Toolchain-Gang/Module-Install/pull/47
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
lib/Module/Install/Admin/ScanDeps.pm | 1 +
|
||||
t/35_perl_version.t | 23 +++++++++++++++++++++++
|
||||
2 files changed, 24 insertions(+)
|
||||
create mode 100644 t/35_perl_version.t
|
||||
|
||||
diff --git a/lib/Module/Install/Admin/ScanDeps.pm b/lib/Module/Install/Admin/ScanDeps.pm
|
||||
index a75ba6e..9cee31e 100644
|
||||
--- a/lib/Module/Install/Admin/ScanDeps.pm
|
||||
+++ b/lib/Module/Install/Admin/ScanDeps.pm
|
||||
@@ -18,6 +18,7 @@ Please first specify a required perl version, like this:
|
||||
perl_version('5.005');
|
||||
END_MESSAGE
|
||||
$perl_version =~ s{^(\d+)\.(\d+)\.(\d+)}{$1 + $2/1_000 + $3/1_000_000}e;
|
||||
+ $perl_version = 0 + $perl_version;
|
||||
|
||||
require Module::ScanDeps;
|
||||
require Module::CoreList;
|
||||
diff --git a/t/35_perl_version.t b/t/35_perl_version.t
|
||||
new file mode 100644
|
||||
index 0000000..888b8c0
|
||||
--- /dev/null
|
||||
+++ b/t/35_perl_version.t
|
||||
@@ -0,0 +1,23 @@
|
||||
+use strict;
|
||||
+BEGIN {
|
||||
+ $| = 1;
|
||||
+ $^W = 1;
|
||||
+}
|
||||
+use Test::More;
|
||||
+
|
||||
+my @existing_versions = ( qw(5.005 5.01 5.010 5.0100 5.01000 5.010000 5.10.0
|
||||
+ 5.010.000) );
|
||||
+my @missing_versions = ( qw(5.005002 5.5.2) );
|
||||
+plan tests => 1 + @existing_versions + @missing_versions;
|
||||
+
|
||||
+require_ok( 'Module::Install::Admin::ScanDeps' );
|
||||
+my $m = Module::Install::Admin::ScanDeps->new;
|
||||
+
|
||||
+for my $version (@existing_versions) {
|
||||
+ eval { $m->scan_dependencies(q{Carp}, $version, q{0}) };
|
||||
+ ok(!$@, "scan_dependencies() can query core modules for $version Perl");
|
||||
+}
|
||||
+for my $version (@missing_versions) {
|
||||
+ eval { $m->scan_dependencies(q{Carp}, $version, q{0}) };
|
||||
+ ok($@, "scan_dependencies() cannot query core modules for $version Perl");
|
||||
+}
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,10 +1,13 @@
|
||||
Name: perl-Module-Install
|
||||
Version: 1.19
|
||||
Release: 5%{?dist}
|
||||
Release: 7%{?dist}
|
||||
Summary: Standalone, extensible Perl module installer
|
||||
License: GPL+ or Artistic
|
||||
URL: https://metacpan.org/release/Module-Install
|
||||
Source0: https://cpan.metacpan.org/authors/id/E/ET/ETHER/Module-Install-%{version}.tar.gz
|
||||
# Fix a crash when looking up 5.010 Perl core modules, CPAN RT#71565, proposed
|
||||
# to upstream <https://github.com/Perl-Toolchain-Gang/Module-Install/pull/64>
|
||||
Patch0: Module-Install-1.19-Fix-Perl-version-lookup-with-Module-CoreList.patch
|
||||
BuildArch: noarch
|
||||
# Build
|
||||
BuildRequires: coreutils
|
||||
@ -41,7 +44,7 @@ BuildRequires: perl(FindBin)
|
||||
# XXX: BuildRequires: perl(LWP::Simple) >= 6.00
|
||||
# XXX: BuildRequires: perl(Module::Build) >= 0.29
|
||||
BuildRequires: perl(Module::CoreList) >= 2.17
|
||||
# XXX: BuildRequires: perl(Module::ScanDeps) >= 1.09
|
||||
BuildRequires: perl(Module::ScanDeps) >= 1.09
|
||||
# XXX: BuildRequires: perl(Net::FTP)
|
||||
# XXX: BuildRequires: perl(PAR::Dist) >= 0.29
|
||||
BuildRequires: perl(Parse::CPAN::Meta) >= 1.4413
|
||||
@ -106,13 +109,14 @@ version 5.005 or newer.
|
||||
|
||||
%prep
|
||||
%setup -q -n Module-Install-%{version}
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1
|
||||
make %{?_smp_mflags}
|
||||
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1
|
||||
%{make_build}
|
||||
|
||||
%install
|
||||
make pure_install DESTDIR=%{buildroot}
|
||||
%{make_install}
|
||||
rm -f %{buildroot}/blib/lib/auto/share/dist/Module-Install/dist_file.txt
|
||||
%{_fixperms} %{buildroot}/*
|
||||
|
||||
@ -125,6 +129,13 @@ make test
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%changelog
|
||||
* Wed May 15 2019 Petr Pisar <ppisar@redhat.com> - 1.19-7
|
||||
- Build-require Module::Scandeps for the "Fix a crash when looking up 5.010 Perl
|
||||
core modules" patch (CPAN RT#71565)
|
||||
|
||||
* Mon May 06 2019 Petr Pisar <ppisar@redhat.com> - 1.19-6
|
||||
- Fix a crash when looking up 5.010 Perl core modules (CPAN RT#71565)
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user