From 0b72e033db7493cf0d09c62fa2c02f29d0f878be Mon Sep 17 00:00:00 2001 From: wisdoman Date: Mon, 13 Jan 2020 15:14:45 +0800 Subject: [PATCH] add code --- ...-version-lookup-with-Module-CoreList.patch | 74 ------------------- perl-Module-Install.spec | 33 ++++----- 2 files changed, 14 insertions(+), 93 deletions(-) delete mode 100644 Module-Install-1.19-Fix-Perl-version-lookup-with-Module-CoreList.patch diff --git a/Module-Install-1.19-Fix-Perl-version-lookup-with-Module-CoreList.patch b/Module-Install-1.19-Fix-Perl-version-lookup-with-Module-CoreList.patch deleted file mode 100644 index d29ffed..0000000 --- a/Module-Install-1.19-Fix-Perl-version-lookup-with-Module-CoreList.patch +++ /dev/null @@ -1,74 +0,0 @@ -From d4b0f5dd2665dfe0124623379bfb6ce233cdd075 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -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ř ---- - 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 - diff --git a/perl-Module-Install.spec b/perl-Module-Install.spec index 1dfe554..7c9257a 100644 --- a/perl-Module-Install.spec +++ b/perl-Module-Install.spec @@ -1,28 +1,23 @@ Name: perl-Module-Install Version: 1.19 -Release: 8 +Release: 6 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 -Patch0001: Module-Install-1.19-Fix-Perl-version-lookup-with-Module-CoreList.patch BuildArch: noarch -BuildRequires: coreutils make perl-generators perl-interpreter perl(lib) perl(strict) perl(warnings) -BuildRequires: perl(Config) perl(Cwd) perl(Devel::PPPort) >= 3.16 perl(ExtUtils::MakeMaker) >= 6.76 -BuildRequires: perl(ExtUtils::Manifest) perl(ExtUtils::MM_Unix) perl(Fcntl) perl(File::Basename) -BuildRequires: perl(File::Find) perl(File::Path) perl(File::Remove) >= 1.42 perl(File::Spec) >= 3.28 -BuildRequires: perl(File::Temp) perl(FileHandle) perl(FindBin) perl(Module::CoreList) >= 2.17 -BuildRequires: perl(Module::ScanDeps) >= 1.09 perl(Parse::CPAN::Meta) >= 1.4413 perl(vars) perl(utf8) -BuildRequires: perl(YAML::Tiny) >= 1.38 perl(autodie) perl(ExtUtils::MM) perl(Symbol) perl(Test::More) -%if 0%{!?perl_bootstrap:1} -BuildRequires: perl(Module::Install::AuthorTests) perl(Module::Install::ExtraTests) >= 0.007 -%endif +BuildRequires: coreutils make perl-generators perl-interpreter perl(lib) perl(strict) perl(warnings) perl(Config) +BuildRequires: perl(Cwd) perl(Devel::PPPort) >= 3.16 perl(ExtUtils::MakeMaker) >= 6.76 perl(ExtUtils::Manifest) +BuildRequires: perl(ExtUtils::MM_Unix) perl(Fcntl) perl(File::Basename) perl(File::Find) perl(File::Path) +BuildRequires: perl(File::Remove) >= 1.42 perl(File::Spec) >= 3.28 perl(File::Temp) perl(FileHandle) perl(FindBin) +BuildRequires: perl(Module::CoreList) >= 2.17 perl(Parse::CPAN::Meta) >= 1.4413 perl(vars) perl(YAML::Tiny) >= 1.38 +BuildRequires: perl(autodie) perl(ExtUtils::MM) perl(Symbol) perl(Test::More) perl(utf8) Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version)) perl(Archive::Zip) >= 1.37 -Requires: perl(Carp) perl(CPAN) perl(Devel::PPPort) >= 3.16 perl(ExtUtils::MakeMaker) >= 6.59 +Requires: perl(Carp) perl(CPAN) perl(Devel::PPPort) >= 3.16 perl(ExtUtils::MakeMaker) >= 6.59 perl(ExtUtils::MM_Unix) Recommends: perl(CPANPLUS::Backend) -Requires: perl(ExtUtils::MM_Unix) perl(File::Remove) >= 1.42 perl(File::Spec) >= 3.28 perl(File::Temp) -Requires: perl(FileHandle) perl(FindBin) perl(Module::Build) >= 0.29 perl(Module::CoreList) >= 2.17 -Requires: perl(Module::ScanDeps) >= 1.09 perl(Parse::CPAN::Meta) >= 1.4413 perl(Socket) perl(YAML::Tiny) >= 1.38 +Requires: perl(File::Remove) >= 1.42 perl(File::Spec) >= 3.28 perl(File::Temp) perl(FileHandle) perl(FindBin) +Requires: perl(Module::Build) >= 0.29 perl(Module::CoreList) >= 2.17 perl(Parse::CPAN::Meta) >= 1.4413 +Requires: perl(Socket) perl(YAML::Tiny) >= 1.38 %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Devel::PPPort\\)$ %global __requires_exclude %__requires_exclude|^perl\\(ExtUtils::MakeMaker\\)$ @@ -43,11 +38,11 @@ installation, but involve as much DWIM (Do What I Mean) as possible when writing %autosetup -n Module-Install-%{version} -p1 %build -perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 %make_build %install -%make_install +make pure_install DESTDIR=%{buildroot} %{_fixperms} %{buildroot}/* %check @@ -60,6 +55,6 @@ make test %exclude /blib/lib/auto/share/dist/Module-Install/dist_file.txt %changelog -* Fri Jan 10 2019 Tianfei - 1.19-8 +* Fri Jan 10 2019 Tianfei - 1.19-6 - Package init