Compare commits

..

No commits in common. "rawhide" and "f27" have entirely different histories.
rawhide ... f27

11 changed files with 215 additions and 263 deletions

View File

@ -1 +0,0 @@
1

8
.gitignore vendored
View File

@ -2,11 +2,3 @@
/CPAN-2.10.tar.gz /CPAN-2.10.tar.gz
/CPAN-2.14.tar.gz /CPAN-2.14.tar.gz
/CPAN-2.16.tar.gz /CPAN-2.16.tar.gz
/CPAN-2.22.tar.gz
/CPAN-2.25.tar.gz
/CPAN-2.26.tar.gz
/CPAN-2.27.tar.gz
/CPAN-2.28.tar.gz
/CPAN-2.29.tar.gz
/CPAN-2.33.tar.gz
/CPAN-2.34.tar.gz

View File

@ -1,4 +1,4 @@
From 5f0215694664fe0dc78ef59a7c8ca0af83896187 Mon Sep 17 00:00:00 2001 From 16089db168d6f62a6ba88d1d160946b8c756acbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 30 Oct 2014 13:19:16 +0100 Date: Thu, 30 Oct 2014 13:19:16 +0100
Subject: [PATCH] Attemp to create site library directories on first time Subject: [PATCH] Attemp to create site library directories on first time
@ -21,10 +21,10 @@ Signed-off-by: Petr Písař <ppisar@redhat.com>
1 file changed, 18 insertions(+) 1 file changed, 18 insertions(+)
diff --git a/lib/CPAN/FirstTime.pm b/lib/CPAN/FirstTime.pm diff --git a/lib/CPAN/FirstTime.pm b/lib/CPAN/FirstTime.pm
index 531c115..8d82795 100644 index fb6b7eb..79035b8 100644
--- a/lib/CPAN/FirstTime.pm --- a/lib/CPAN/FirstTime.pm
+++ b/lib/CPAN/FirstTime.pm +++ b/lib/CPAN/FirstTime.pm
@@ -2068,6 +2068,24 @@ sub _print_urllist { @@ -2059,6 +2059,24 @@ sub _print_urllist {
} }
sub _can_write_to_libdirs { sub _can_write_to_libdirs {
@ -50,5 +50,5 @@ index 531c115..8d82795 100644
&& -w $Config{installarchlib} && -w $Config{installarchlib}
&& -w $Config{installsitelib} && -w $Config{installsitelib}
-- --
2.13.6 2.5.5

View File

@ -0,0 +1,52 @@
From 8b3473d00f9490f8ee07425ef44b23c6f72a8938 Mon Sep 17 00:00:00 2001
From: brian d foy <brian.d.foy@gmail.com>
Date: Tue, 18 Oct 2016 16:02:51 -0400
Subject: [PATCH] For cpan -j, make the file an absolute path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is an additional fix for rt.cpan.org #116507.
Since . will not be in @INC, we can't assume we are
loading from the current directory (although that's
a very likely situation for -j). Take whatever
argument we get and expand it to an absolute path.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/App/Cpan.pm | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/App/Cpan.pm b/lib/App/Cpan.pm
index 6561bd4..a9e73cd 100644
--- a/lib/App/Cpan.pm
+++ b/lib/App/Cpan.pm
@@ -291,7 +291,7 @@ use CPAN 1.80 (); # needs no test
use Config;
use autouse Cwd => qw(cwd);
use autouse 'Data::Dumper' => qw(Dumper);
-use File::Spec::Functions;
+use File::Spec::Functions qw(catfile file_name_is_absolute rel2abs);
use File::Basename;
use Getopt::Std;
@@ -1095,12 +1095,14 @@ sub _shell
sub _load_config # -j
{
- my $file = shift || '';
+ my $argument = shift;
+
+ my $file = file_name_is_absolute( $argument ) ? $argument : rel2abs( $argument );
+ croak( "cpan config file [$file] for -j does not exist!\n" ) unless -e $file;
# should I clear out any existing config here?
$CPAN::Config = {};
delete $INC{'CPAN/Config.pm'};
- croak( "Config file [$file] does not exist!\n" ) unless -e $file;
my $rc = eval "require '$file'";
--
2.7.4

View File

@ -1,4 +1,4 @@
From c6f460b4bb60352e40e25efe72acd3c2bd14f216 Mon Sep 17 00:00:00 2001 From f850784742603449bc881030fa5dc2bb0490d771 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 28 Jan 2015 13:21:10 +0100 Date: Wed, 28 Jan 2015 13:21:10 +0100
Subject: [PATCH] Replace configuration directory string with a marker Subject: [PATCH] Replace configuration directory string with a marker
@ -19,10 +19,10 @@ Signed-off-by: Petr Písař <ppisar@redhat.com>
5 files changed, 17 insertions(+), 17 deletions(-) 5 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL diff --git a/Makefile.PL b/Makefile.PL
index 2cd2f82..3b826cf 100644 index a0370cd..564e3ce 100644
--- a/Makefile.PL --- a/Makefile.PL
+++ b/Makefile.PL +++ b/Makefile.PL
@@ -339,21 +339,21 @@ record-session : @@ -340,21 +340,21 @@ record-session :
$(PERL) -Ilib -MCPAN -e '$$CPAN::Suppress_readline=$$CPAN::Echo_readline=1;shell' | tee ttt.out $(PERL) -Ilib -MCPAN -e '$$CPAN::Suppress_readline=$$CPAN::Echo_readline=1;shell' | tee ttt.out
run-with-sqlite : run-with-sqlite :
@ -50,7 +50,7 @@ index 2cd2f82..3b826cf 100644
runadmin : runadmin :
$(PERL) -Ilib -MCPAN::Admin -eshell $(PERL) -Ilib -MCPAN::Admin -eshell
diff --git a/README b/README diff --git a/README b/README
index aaf3101..2618d71 100644 index f28834f..2be2869 100644
--- a/README --- a/README
+++ b/README +++ b/README
@@ -269,7 +269,7 @@ DESCRIPTION @@ -269,7 +269,7 @@ DESCRIPTION
@ -80,7 +80,7 @@ index aaf3101..2618d71 100644
search path of the CPAN module before the use() or require() statements. search path of the CPAN module before the use() or require() statements.
The mkmyconfig command writes this file for you. The mkmyconfig command writes this file for you.
@@ -1996,8 +1996,8 @@ FAQ @@ -1993,8 +1993,8 @@ FAQ
You may want to configure something like You may want to configure something like
@ -92,10 +92,10 @@ index aaf3101..2618d71 100644
so that STDOUT is captured in a file for later inspection. so that STDOUT is captured in a file for later inspection.
diff --git a/lib/CPAN.pm b/lib/CPAN.pm diff --git a/lib/CPAN.pm b/lib/CPAN.pm
index 4f02850..2c117b4 100644 index ab2d00f..981b5c8 100644
--- a/lib/CPAN.pm --- a/lib/CPAN.pm
+++ b/lib/CPAN.pm +++ b/lib/CPAN.pm
@@ -1745,7 +1745,7 @@ restarting the whole get/make/test/install procedure from scratch. @@ -1722,7 +1722,7 @@ restarting the whole get/make/test/install procedure from scratch.
=item Lockfile =item Lockfile
@ -104,7 +104,7 @@ index 4f02850..2c117b4 100644
Batch jobs can run without a lockfile and not disturb each other. Batch jobs can run without a lockfile and not disturb each other.
The shell offers to run in I<downgraded mode> when another process is The shell offers to run in I<downgraded mode> when another process is
@@ -1819,7 +1819,7 @@ C<install_tested>. @@ -1796,7 +1796,7 @@ C<install_tested>.
=head2 mkmyconfig =head2 mkmyconfig
@ -113,7 +113,7 @@ index 4f02850..2c117b4 100644
directory so that you can save your own preferences instead of the directory so that you can save your own preferences instead of the
system-wide ones. system-wide ones.
@@ -2034,7 +2034,7 @@ in a file CPAN/Config.pm. @@ -2011,7 +2011,7 @@ in a file CPAN/Config.pm.
Default values defined in the CPAN/Config.pm file can be Default values defined in the CPAN/Config.pm file can be
overridden in a user specific file: CPAN/MyConfig.pm. Such a file is overridden in a user specific file: CPAN/MyConfig.pm. Such a file is
@ -122,7 +122,7 @@ index 4f02850..2c117b4 100644
added to the search path of the CPAN module before the use() or added to the search path of the CPAN module before the use() or
require() statements. The mkmyconfig command writes this file for you. require() statements. The mkmyconfig command writes this file for you.
@@ -3729,8 +3729,8 @@ there is too much output to keep track of. @@ -3703,8 +3703,8 @@ there is too much output to keep track of.
You may want to configure something like You may want to configure something like
@ -134,10 +134,10 @@ index 4f02850..2c117b4 100644
so that STDOUT is captured in a file for later inspection. so that STDOUT is captured in a file for later inspection.
diff --git a/lib/CPAN/HandleConfig.pm b/lib/CPAN/HandleConfig.pm diff --git a/lib/CPAN/HandleConfig.pm b/lib/CPAN/HandleConfig.pm
index c72439f..a6b92e8 100644 index bd28948..a9612af 100644
--- a/lib/CPAN/HandleConfig.pm --- a/lib/CPAN/HandleConfig.pm
+++ b/lib/CPAN/HandleConfig.pm +++ b/lib/CPAN/HandleConfig.pm
@@ -538,7 +538,7 @@ sub cpan_home_dir_candidates { @@ -537,7 +537,7 @@ sub cpan_home_dir_candidates {
push @dirs, $ENV{USERPROFILE} if $ENV{USERPROFILE}; push @dirs, $ENV{USERPROFILE} if $ENV{USERPROFILE};
$CPAN::Config->{load_module_verbosity} = $old_v; $CPAN::Config->{load_module_verbosity} = $old_v;
@ -160,5 +160,5 @@ index fe0e29c..493c140 100644
=head1 TO DO =head1 TO DO
-- --
2.13.6 2.5.5

View File

@ -0,0 +1,117 @@
From 582ed99d657fb10750e31e942f88b6ddc0259e01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 10 May 2017 16:44:06 +0200
Subject: [PATCH] Rebase to 2.18 from perl-5.25.12
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/CPAN.pm | 2 +-
lib/CPAN/Bundle.pm | 7 ++++++-
lib/CPAN/Distribution.pm | 8 +++++++-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/lib/CPAN.pm b/lib/CPAN.pm
index 1fba5c1..4f02850 100644
--- a/lib/CPAN.pm
+++ b/lib/CPAN.pm
@@ -2,7 +2,7 @@
# vim: ts=4 sts=4 sw=4:
use strict;
package CPAN;
-$CPAN::VERSION = '2.16';
+$CPAN::VERSION = '2.18';
$CPAN::VERSION =~ s/_//;
# we need to run chdir all over and we would get at wrong libraries
diff --git a/lib/CPAN/Bundle.pm b/lib/CPAN/Bundle.pm
index 3f17b54..3b4e93d 100644
--- a/lib/CPAN/Bundle.pm
+++ b/lib/CPAN/Bundle.pm
@@ -8,7 +8,7 @@ use CPAN::Module;
use vars qw(
$VERSION
);
-$VERSION = "5.5002";
+$VERSION = "5.5003";
sub look {
my $self = shift;
@@ -21,6 +21,11 @@ sub undelay {
delete $self->{later};
for my $c ( $self->contains ) {
my $obj = CPAN::Shell->expandany($c) or next;
+ if ($obj->id eq $self->id){
+ my $id = $obj->id;
+ $CPAN::Frontend->mywarn("$id seems to contain itself, skipping\n");
+ next;
+ }
$obj->undelay;
}
}
diff --git a/lib/CPAN/Distribution.pm b/lib/CPAN/Distribution.pm
index b5744fd..64976eb 100644
--- a/lib/CPAN/Distribution.pm
+++ b/lib/CPAN/Distribution.pm
@@ -8,7 +8,7 @@ use CPAN::InfoObj;
use File::Path ();
@CPAN::Distribution::ISA = qw(CPAN::InfoObj);
use vars qw($VERSION);
-$VERSION = "2.16";
+$VERSION = "2.18";
# no prepare, because prepare is not a command on the shell command line
# TODO: clear instance cache on reload
@@ -377,6 +377,7 @@ sub get {
? $ENV{PERL5LIB}
: ($ENV{PERLLIB} || "");
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ # local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # get
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
@@ -1302,6 +1303,7 @@ Could not determine which directory to use for looking at $dist.
: ($ENV{PERLLIB} || "");
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ # local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # look
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
@@ -1821,6 +1823,7 @@ sub prepare {
? $ENV{PERL5LIB}
: ($ENV{PERLLIB} || "");
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # prepare
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
@@ -2115,6 +2118,7 @@ is part of the perl-%s distribution. To install that, you need to run
? $ENV{PERL5LIB}
: ($ENV{PERLLIB} || "");
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # make
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
@@ -3482,6 +3486,7 @@ sub test {
: ($ENV{PERLLIB} || "");
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # test
$CPAN::META->set_perl5lib;
local $ENV{MAKEFLAGS}; # protect us from outer make calls
local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
@@ -3955,6 +3960,7 @@ sub install {
: ($ENV{PERLLIB} || "");
local $ENV{PERL5OPT} = defined $ENV{PERL5OPT} ? $ENV{PERL5OPT} : "";
+ local $ENV{PERL_USE_UNSAFE_INC} = exists $ENV{PERL_USE_UNSAFE_INC} ? $ENV{PERL_USE_UNSAFE_INC} : 1; # install
$CPAN::META->set_perl5lib;
local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};
--
2.9.3

View File

@ -1,7 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View File

@ -1,40 +1,41 @@
# Don not run gnupg1 tests by default, they need network access # Don not run gnupg1 tests by default, they need network access
# (Socket::inet_aton('pool.sks-keyservers.net')). # (Socket::inet_aton('pool.sks-keyservers.net')).
%bcond_with perl_CPAN_enables_gnupg_test %bcond_with perl_CPAN_enables_gnupg_test
# Run optional test %global cpan_version 2.16
%if ! (0%{?rhel})
%bcond_without perl_CPAN_enables_optional_test
%else
%bcond_with perl_CPAN_enables_optional_test
%endif
Name: perl-CPAN Name: perl-CPAN
Version: 2.34 Version: 2.18
Release: 4%{?dist} Release: 395%{?dist}
Summary: Query, download and build perl modules from CPAN sites Summary: Query, download and build perl modules from CPAN sites
License: GPL+ or Artistic License: GPL+ or Artistic
URL: https://metacpan.org/release/CPAN URL: http://search.cpan.org/dist/CPAN/
Source0: https://cpan.metacpan.org/authors/id/A/AN/ANDK/CPAN-%{version}.tar.gz Source0: http://www.cpan.org/authors/id/A/AN/ANDK/CPAN-%{cpan_version}.tar.gz
# Upgrade to CPAN-2.18 as provided in perl-5.25.12 to properly dual-live after
# upgrading perl to 5.26
Patch0: CPAN-2.16-Rebase-to-2.18-from-perl-5.25.12.patch
# Create site paths for the first time, bug #1158873, CPAN RT#99905 # Create site paths for the first time, bug #1158873, CPAN RT#99905
Patch0: CPAN-2.18-Attemp-to-create-site-library-directories-on-first-t.patch Patch1: CPAN-2.14-Attemp-to-create-site-library-directories-on-first-t.patch
# Change configuration directory name # Change configuration directory name
Patch1: CPAN-2.18-Replace-configuration-directory-string-with-a-marke.patch Patch2: CPAN-2.14-Replace-configuration-directory-string-with-a-marke.patch
# Do not search cpan -j file in @INC, CPAN RT#116507, proposed in
# <https://github.com/andk/cpanpm/pull/105>
Patch3: CPAN-2.14-For-cpan-j-make-the-file-an-absolute-path.patch
BuildArch: noarch BuildArch: noarch
BuildRequires: coreutils BuildRequires: coreutils
BuildRequires: findutils BuildRequires: findutils
BuildRequires: make BuildRequires: make
BuildRequires: perl-generators
BuildRequires: perl-interpreter BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(Config) BuildRequires: perl(Config)
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(File::Basename) BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Path) BuildRequires: perl(File::Path)
# Module::Signature not used
BuildRequires: perl(strict) BuildRequires: perl(strict)
BuildRequires: perl(vars) BuildRequires: perl(vars)
BuildRequires: sed
# Optional: # Optional:
BuildRequires: perl(File::Spec) BuildRequires: perl(File::Spec)
# YAML::Syck is not used because @ST_PREFS is empty in Makefile.PL # YAML::Syck is not not used because @ST_PREFS is empty in Makefile.PL
# Run-time: # Run-time:
# Prefer Archive::Tar and Compress::Zlib over tar and gzip # Prefer Archive::Tar and Compress::Zlib over tar and gzip
@ -54,7 +55,6 @@ BuildRequires: perl(Data::Dumper)
# Devel::Size not used at tests # Devel::Size not used at tests
BuildRequires: perl(DirHandle) BuildRequires: perl(DirHandle)
BuildRequires: perl(Dumpvalue) BuildRequires: perl(Dumpvalue)
BuildRequires: perl(Errno)
BuildRequires: perl(Exporter) BuildRequires: perl(Exporter)
# ExtUtils::Manifest not used at tests # ExtUtils::Manifest not used at tests
BuildRequires: perl(Fcntl) BuildRequires: perl(Fcntl)
@ -69,9 +69,6 @@ BuildRequires: perl(Getopt::Std)
# HTTP::Request is optional # HTTP::Request is optional
BuildRequires: perl(HTTP::Tiny) >= 0.005 BuildRequires: perl(HTTP::Tiny) >= 0.005
BuildRequires: perl(if) BuildRequires: perl(if)
# IO::Socket::SSL 1.56 is optional
# YAML::XS or YAML::Syck or JSON::PP, we already use YAML::Syck at a different
# place, keep JSON::PP optional
BuildRequires: perl(lib) BuildRequires: perl(lib)
# local::lib is optional # local::lib is optional
# LWP is optional, prefer HTTP::Tiny and Net::FTP # LWP is optional, prefer HTTP::Tiny and Net::FTP
@ -81,11 +78,8 @@ BuildRequires: perl(lib)
# Module::Signature is optional # Module::Signature is optional
# Net::Config not used at tests # Net::Config not used at tests
# Net::FTP not used at tests # Net::FTP not used at tests
# Net::Ping is required but >= 2.13 version is a soft dependency
# Net::SSLeay 1.49 is optional
BuildRequires: perl(Net::Ping) BuildRequires: perl(Net::Ping)
BuildRequires: perl(overload) BuildRequires: perl(overload)
# Pod::Perldoc is optional
BuildRequires: perl(POSIX) BuildRequires: perl(POSIX)
BuildRequires: perl(Safe) BuildRequires: perl(Safe)
BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Sys::Hostname)
@ -99,33 +93,24 @@ BuildRequires: perl(Text::Wrap)
# User::pwent not used at tests # User::pwent not used at tests
BuildRequires: perl(warnings) BuildRequires: perl(warnings)
# Optional: # Optional:
#%%if !%%{defined perl_bootstrap}
# CPAN::DistnameInfo not used at tests
#%%endif
BuildRequires: perl(CPAN::Meta) >= 2.110350 BuildRequires: perl(CPAN::Meta) >= 2.110350
# Crypt::OpenPGP not used at tests # Crypt::OpenPGP not used at tests
# Digest::MD5 not used at tests # Digest::MD5 not used at tests
BuildRequires: perl(Digest::SHA) BuildRequires: perl(Digest::SHA)
# Keep Log::Log4perl optional
# Keep MIME::Base64 optional # Keep MIME::Base64 optional
%if !%{defined perl_bootstrap} %if !%{defined perl_bootstrap}
BuildRequires: perl(Module::Build) BuildRequires: perl(Module::Build)
%endif %endif
# Tests: # Tests:
BuildRequires: perl(blib)
# CPAN::Checksums not used # CPAN::Checksums not used
BuildRequires: perl(File::Which)
BuildRequires: perl(FindBin) BuildRequires: perl(FindBin)
BuildRequires: perl(Pod::Usage) BuildRequires: perl(Pod::Usage)
BuildRequires: perl(Test::More) BuildRequires: perl(Test::More)
BuildRequires: perl(version)
%if %{with perl_CPAN_enables_optional_test}
# Optional tests: # Optional tests:
%if %{with perl_CPAN_enables_gnupg_test} %if %{with perl_CPAN_enables_gnupg_test}
BuildRequires: %{_bindir}/gpg BuildRequires: %{_bindir}/gpg
# CPAN::Perl::Releases is helpfull only on RC or TRIAL Perl interpreters
# Digest::SHA1 not needed if Digest::SHA is available # Digest::SHA1 not needed if Digest::SHA is available
# Digest::SHA::PurePerl not needed if Digest::SHA is available # Digest::SHA::PurePerl not needed if Digest::SHA is available
%endif %endif
@ -140,7 +125,6 @@ BuildRequires: perl(Module::Signature) >= 0.66
%endif %endif
BuildRequires: perl(Perl::Version) BuildRequires: perl(Perl::Version)
%endif %endif
BuildRequires: perl(Pod::Perldoc::ToMan)
%if %{with perl_CPAN_enables_gnupg_test} %if %{with perl_CPAN_enables_gnupg_test}
BuildRequires: perl(Socket) BuildRequires: perl(Socket)
%endif %endif
@ -152,22 +136,10 @@ BuildRequires: perl(Test::Pod) >= 1.00
BuildRequires: perl(Test::Pod::Coverage) >= 0.18 BuildRequires: perl(Test::Pod::Coverage) >= 0.18
BuildRequires: perl(YAML) >= 0.60 BuildRequires: perl(YAML) >= 0.60
%endif %endif
%endif
Requires: make Requires: make
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
# Some subpackages modules are not dual-lived. E.g. "open". If a distribution
# on CPAN declares a dependency on such a module, CPAN client will fail
# because the only provider is perl distribution.
# Another issue is with dual-lived modules whose distribution actually does
# not declare all needed core dependencies and the installation would also
# fail.
# As a result, any CPAN client must run-require the complete perl.
Requires: perl
Requires: perl(Archive::Tar) >= 1.50 Requires: perl(Archive::Tar) >= 1.50
%if !%{defined perl_bootstrap}
Recommends: perl(CPAN::DistnameInfo)
%endif
Requires: perl(CPAN::Meta::Requirements) >= 2.121 Requires: perl(CPAN::Meta::Requirements) >= 2.121
Requires: perl(Data::Dumper) Requires: perl(Data::Dumper)
%if !%{defined perl_bootstrap} %if !%{defined perl_bootstrap}
@ -178,12 +150,7 @@ Requires: perl(ExtUtils::Manifest)
Requires: perl(File::HomeDir) >= 0.65 Requires: perl(File::HomeDir) >= 0.65
%endif %endif
Requires: perl(File::Temp) >= 0.16 Requires: perl(File::Temp) >= 0.16
# YAML::XS or YAML::Syck or JSON::PP, we already use YAML::Syck at a different
# place, keep JSON::PP optional
Requires: perl(lib) Requires: perl(lib)
%if !%{defined perl_bootstrap}
Suggests: perl(Log::Log4perl)
%endif
Requires: perl(Net::Config) Requires: perl(Net::Config)
Requires: perl(Net::FTP) Requires: perl(Net::FTP)
Requires: perl(POSIX) Requires: perl(POSIX)
@ -207,10 +174,6 @@ Requires: perl(Digest::MD5)
Requires: perl(Digest::SHA) Requires: perl(Digest::SHA)
Requires: perl(Dumpvalue) Requires: perl(Dumpvalue)
Requires: perl(ExtUtils::CBuilder) Requires: perl(ExtUtils::CBuilder)
# Optional for signature verification CVE-2020-16156
%if ! %{defined perl_bootstrap}
Requires: perl(Module::Signature)
%endif
%if ! %{defined perl_bootstrap} %if ! %{defined perl_bootstrap}
# Avoid circular deps local::lib -> Module::Install -> CPAN when bootstraping # Avoid circular deps local::lib -> Module::Install -> CPAN when bootstraping
# local::lib recommended by CPAN::FirstTime default choice, bug #1122498 # local::lib recommended by CPAN::FirstTime default choice, bug #1122498
@ -218,15 +181,12 @@ Requires: perl(local::lib)
%endif %endif
%if ! %{defined perl_bootstrap} %if ! %{defined perl_bootstrap}
Requires: perl(Module::Build) Requires: perl(Module::Build)
%endif
Recommends: perl(Pod::Perldoc)
%if ! %{defined perl_bootstrap}
Recommends: perl(Term::ReadKey) Recommends: perl(Term::ReadKey)
Requires: perl(Text::Glob) Requires: perl(Text::Glob)
# Text::Levenshtein::XS or Text::Levenshtein::Damerau::XS or Text::Levenshtein # Text::Levenshtein::XS or Text::Levenshtein::Damerau::XS or Text::Levenshtein
# or Text::Levenshtein::Damerau::PP # or Text::Levenshtein::Damerau::PP
Suggests: perl(Text::Levenshtein::Damerau::XS) Suggests: perl(Text::Levenshtein::Damerau::XS)
# YAML::Syck or YAML or Data::Dumper or overload # YAML::Syck or YAML or Data::Dumper
Suggests: perl(YAML::Syck) Suggests: perl(YAML::Syck)
%endif %endif
Provides: cpan = %{version} Provides: cpan = %{version}
@ -235,10 +195,7 @@ Provides: cpan = %{version}
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Mac::BuildTools\\) %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Mac::BuildTools\\)
# Filter under-specified dependencies # Filter under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(CPAN::Meta::Requirements\\) %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(CPAN::Meta::Requirements\\)
# Filter modules bundled for tests
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir}
%global __requires_exclude %{__requires_exclude}|^perl\\(CPAN::MyConfig\\)
%global __requires_exclude %{__requires_exclude}|^perl\\(local_utils\\)
%description %description
The CPAN module automates or at least simplifies the make and install of The CPAN module automates or at least simplifies the make and install of
@ -246,75 +203,28 @@ perl modules and extensions. It includes some primitive searching
capabilities and knows how to use LWP, HTTP::Tiny, Net::FTP and certain capabilities and knows how to use LWP, HTTP::Tiny, Net::FTP and certain
external download clients to fetch distributions from the net. external download clients to fetch distributions from the net.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl-Test-Harness
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep %prep
%setup -q -n CPAN-%{version} %setup -q -n CPAN-%{cpan_version}
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1
%patch3 -p1
# Change configuration name # Change configuration name
find -type f -exec perl -i -pe 's/XCPANCONFIGNAMEX/cpan/g' {} \; find -type f -exec sed -i -e 's/XCPANCONFIGNAMEX/cpan/g' {} \;
# Remove bundled modules # Remove bundled modules
rm -r ./inc/* rm -r ./inc/*
perl -i -ne 'print $_ unless m{^inc/}' MANIFEST sed -i -e '/inc\//d' MANIFEST
# Help generators to recognize Perl scripts
for F in t/*.t; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build %build
perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 perl Makefile.PL INSTALLDIRS=vendor
%{make_build} make %{?_smp_mflags}
%install %install
%{make_install} make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name .packlist -delete
%{_fixperms} $RPM_BUILD_ROOT/* %{_fixperms} $RPM_BUILD_ROOT/*
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t distroprefs %{buildroot}%{_libexecdir}/%{name}
# Does not work with system module
rm %{buildroot}%{_libexecdir}/%{name}/t/51pod.t
# Remove the tests which need ./lib and ./blib
rm %{buildroot}%{_libexecdir}/%{name}/t/03pkgs.t
rm %{buildroot}%{_libexecdir}/%{name}/t/04clean_load.t
# Needed internet connection
rm %{buildroot}%{_libexecdir}/%{name}/t/31sessions.t
# Use system modules for tests
perl -i -ple 's{-Mblib}{}' %{buildroot}%{_libexecdir}/%{name}/t/97-run.t
perl -i -ple 's{-Mblib}{}' %{buildroot}%{_libexecdir}/%{name}/t/97-return_values.t
mkdir -p %{buildroot}%{_libexecdir}/%{name}/blib/script
ln -s %{_bindir}/cpan %{buildroot}%{_libexecdir}/%{name}/blib/script
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/bin/sh
set -e
unset AUTHOR_TEST CPAN_EXPECT_TIMEOUT CPAN_RUN_SHELL_TEST_WITHOUT_EXPECT \
ftp_proxy http_proxy no_proxy \
PERL5_CPAN_IS_RUNNING PERL5_CPAN_IS_RUNNING_IN_RECURSION PERL_CORE VERBOSE
# Some tests write into temporary files/directories. The easiest solution
# is to copy the tests into a writable directory and execute them from there.
DIR=$(mktemp -d)
pushd "$DIR"
cp -a %{_libexecdir}/%{name}/* ./
prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
popd
rm -rf "$DIR"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%check %check
unset AUTHOR_TEST CPAN_EXPECT_TIMEOUT CPAN_RUN_SHELL_TEST_WITHOUT_EXPECT \
ftp_proxy http_proxy no_proxy \
PERL5_CPAN_IS_RUNNING PERL5_CPAN_IS_RUNNING_IN_RECURSION PERL_CORE VERBOSE
make test make test
%files %files
@ -324,109 +234,7 @@ make test
%{_mandir}/man1/* %{_mandir}/man1/*
%{_mandir}/man3/* %{_mandir}/man3/*
%files tests
%{_libexecdir}/%{name}
%changelog %changelog
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.34-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 03 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.34-3
- Perl 5.36 re-rebuild of bootstrapped packages
* Mon May 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.34-2
- Perl 5.36 rebuild
* Wed Apr 20 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.34-1
- 2.34 bump
* Mon Apr 04 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.33-1
- 2.33 bump
* Wed Feb 09 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.29-3
- Package tests
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Dec 16 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2.29-1
- 2.29 bump
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.28-479
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 24 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2.28-478
- Perl 5.34 re-rebuild of bootstrapped packages
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2.28-477
- Increase release to favour standalone package
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.28-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Sep 23 2020 Petr Pisar <ppisar@redhat.com> - 2.28-5
- Run-require complete perl
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.28-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 26 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.28-3
- Perl 5.32 re-rebuild of bootstrapped packages
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.28-2
- Perl 5.32 rebuild
* Mon Jun 15 2020 Petr Pisar <ppisar@redhat.com> - 2.28-1
- 2.28 bump
* Fri Jan 31 2020 Petr Pisar <ppisar@redhat.com> - 2.27-4
- Enable loading objects from session YAML files (CPAN RT#131615)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.27-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jul 04 2019 Petr Pisar <ppisar@redhat.com> - 2.27-1
- 2.27 bump
* Sun Jun 02 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2.26-3
- Perl 5.30 re-rebuild of bootstrapped packages
* Thu May 30 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2.26-2
- Perl 5.30 rebuild
* Tue Mar 19 2019 Petr Pisar <ppisar@redhat.com> - 2.26-1
- 2.26 bump
* Mon Mar 04 2019 Petr Pisar <ppisar@redhat.com> - 2.25-1
- 2.25 bump
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 02 2019 Petr Pisar <ppisar@redhat.com> - 2.22-1
- 2.22 bump
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-418
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Jul 01 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2.20-417
- Perl 5.28 re-rebuild of bootstrapped packages
* Tue Jun 26 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2.20-416
- Increase release to favour standalone package
* Wed May 23 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2.20-1
- Upgrade to 2.20 as provided in perl-5.28.0
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.18-397
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Dec 19 2017 Petr Pisar <ppisar@redhat.com> - 2.18-396
- Rebase patches to prevent from installing back-up files
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.18-395 * Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.18-395
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

View File

@ -1,5 +0,0 @@
summary: Sanity tests
discover:
how: fmf
execute:
how: tmt

View File

@ -1 +1 @@
SHA512 (CPAN-2.34.tar.gz) = 7238a09ef3c14bc407c1e3a70999d71cb15a0c25950495915bf8cf588ae13d864f1ecad71be8917e96b4399cf626e5782c0abe72a1992b8e3ab48dcc55ae1879 SHA512 (CPAN-2.16.tar.gz) = 178f350d498643b692616d1190320451ffe4e7f184a47ec6080cd2760e69d05752a47de5861869648879b5e121a89f46455e3b7be6acde7833aec635492f578d

View File

@ -1,4 +0,0 @@
summary: Upstream tests
component: perl-CPAN
require: perl-CPAN-tests
test: /usr/libexec/perl-CPAN/test