import perl-CPAN-2.18-397.module_el8.1.0+225+978beb03

i8c-stream-5.26 changed/i8c-stream-5.26/perl-CPAN-2.18-397.module_el8.1.0+225+978beb03
MSVSphere Packaging Team 10 months ago
commit 0940c7e2da

1
.gitignore vendored

@ -0,0 +1 @@
SOURCES/CPAN-2.16.tar.gz

@ -0,0 +1 @@
353f0d6590743bcd113fd39050f6182c96449e43 SOURCES/CPAN-2.16.tar.gz

@ -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

@ -0,0 +1,54 @@
From 5f0215694664fe0dc78ef59a7c8ca0af83896187 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 30 Oct 2014 13:19:16 +0100
Subject: [PATCH] Attemp to create site library directories on first time
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some vendors configures site library directories into /usr/local, but
they do not provide the directory on their systems because an
administrator can have a read-only network-mounted file system there.
When running CPAN for the first time, CPAN cannot find the site
directories and falls back to local::lib. To restore the user
expectations with writable /usr/local, this patch tries to create the
missing directories before checking for their presents.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/CPAN/FirstTime.pm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/lib/CPAN/FirstTime.pm b/lib/CPAN/FirstTime.pm
index 531c115..8d82795 100644
--- a/lib/CPAN/FirstTime.pm
+++ b/lib/CPAN/FirstTime.pm
@@ -2068,6 +2068,24 @@ sub _print_urllist {
}
sub _can_write_to_libdirs {
+ for ($Config{installsitelib}, $Config{installsitearch}) {
+ if (!-d $_) {
+ $CPAN::Frontend->mywarn(sprintf(
+ qq{Perl site library directory "%s" does not exist.\n},
+ $_));
+ File::Path::make_path($_, { error => \my $failure });
+ if (@$failure) {
+ $CPAN::Frontend->mywarn(sprintf(
+ qq{Perl site library directory "%s" } .
+ qq{could not been created: %s.\n},
+ $_, ${$$failure[0]}{$_}));
+ } else {
+ $CPAN::Frontend->mywarn(sprintf(
+ qq{Perl site library directory "%s" created.\n},
+ $_));
+ }
+ }
+ }
return -w $Config{installprivlib}
&& -w $Config{installarchlib}
&& -w $Config{installsitelib}
--
2.13.6

@ -0,0 +1,52 @@
From be1fa8db08d1995779592880cfe156f4351a89d5 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 3ddcbe8..bc22cbc 100644
--- a/lib/App/Cpan.pm
+++ b/lib/App/Cpan.pm
@@ -289,7 +289,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;
@@ -1093,12 +1093,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.13.6

@ -0,0 +1,164 @@
From c6f460b4bb60352e40e25efe72acd3c2bd14f216 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 28 Jan 2015 13:21:10 +0100
Subject: [PATCH] Replace configuration directory string with a marker
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This allows to redefine the configuration directory name at build
time.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
Makefile.PL | 10 +++++-----
README | 10 +++++-----
lib/CPAN.pm | 10 +++++-----
lib/CPAN/HandleConfig.pm | 2 +-
scripts/cpan-mirrors | 2 +-
5 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL
index 2cd2f82..3b826cf 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -339,21 +339,21 @@ record-session :
$(PERL) -Ilib -MCPAN -e '$$CPAN::Suppress_readline=$$CPAN::Echo_readline=1;shell' | tee ttt.out
run-with-sqlite :
- $(PERL) -I$$HOME/.cpan -Ilib -MCPAN::SQLite -MCPAN::MyConfig -MCPAN -e '$$CPAN::Config->{use_sqlite}++; $$CPAN::Config->{sqlite_dbname}="cpandb-sqlite"; shell'
+ $(PERL) -I$$HOME/.XCPANCONFIGNAMEX -Ilib -MCPAN::SQLite -MCPAN::MyConfig -MCPAN -e '$$CPAN::Config->{use_sqlite}++; $$CPAN::Config->{sqlite_dbname}="cpandb-sqlite"; shell'
testrun_very_offline : rm_mirrored_by run_emu_offline
testrun_emu_offline :
- $(PERL) -I$$HOME/.cpan -Ilib -MCPAN::MyConfig -MCPAN -e '@CPAN::Defaultsites = qw(file:///dev/null); $$CPAN::Config->{urllist} = []; shell'
+ $(PERL) -I$$HOME/.XCPANCONFIGNAMEX -Ilib -MCPAN::MyConfig -MCPAN -e '@CPAN::Defaultsites = qw(file:///dev/null); $$CPAN::Config->{urllist} = []; shell'
rm_mirrored_by :
- rm -f $$HOME/.cpan/sources/MIRRORED.BY*
+ rm -f $$HOME/.XCPANCONFIGNAMEX/sources/MIRRORED.BY*
testrun_http_only :
- $(PERL) -I$$HOME/.cpan -Ilib -MCPAN::MyConfig -MCPAN -e '$$CPAN::Config->{urllist} = [qw(http://www.planet-elektronik.de/CPAN/)]; shell'
+ $(PERL) -I$$HOME/.XCPANCONFIGNAMEX -Ilib -MCPAN::MyConfig -MCPAN -e '$$CPAN::Config->{urllist} = [qw(http://www.planet-elektronik.de/CPAN/)]; shell'
urllist :
- $(PERL) -Ilib -MCPAN -MCPAN::FirstTime -e 'CPAN::FirstTime::init("$$ENV{HOME}/.cpan/CPAN/MyConfig", args => [qw(urllist)])'
+ $(PERL) -Ilib -MCPAN -MCPAN::FirstTime -e 'CPAN::FirstTime::init("$$ENV{HOME}/.XCPANCONFIGNAMEX/CPAN/MyConfig", args => [qw(urllist)])'
runadmin :
$(PERL) -Ilib -MCPAN::Admin -eshell
diff --git a/README b/README
index aaf3101..2618d71 100644
--- a/README
+++ b/README
@@ -269,7 +269,7 @@ DESCRIPTION
restarting the whole get/make/test/install procedure from scratch.
Lockfile
- Interactive sessions maintain a lockfile, by default "~/.cpan/.lock".
+ Interactive sessions maintain a lockfile, by default "~/.XCPANCONFIGNAMEX/.lock".
Batch jobs can run without a lockfile and not disturb each other.
The shell offers to run in *downgraded mode* when another process is
@@ -329,7 +329,7 @@ DESCRIPTION
"install_tested".
mkmyconfig
- mkmyconfig() writes your own CPAN::MyConfig file into your "~/.cpan/"
+ mkmyconfig() writes your own CPAN::MyConfig file into your "~/.XCPANCONFIGNAMEX/"
directory so that you can save your own preferences instead of the
system-wide ones.
@@ -530,7 +530,7 @@ CONFIGURATION
Default values defined in the CPAN/Config.pm file can be overridden in a
user specific file: CPAN/MyConfig.pm. Such a file is best placed in
- "$HOME/.cpan/CPAN/MyConfig.pm", because "$HOME/.cpan" is added to the
+ "$HOME/.XCPANCONFIGNAMEX/CPAN/MyConfig.pm", because "$HOME/.XCPANCONFIGNAMEX" is added to the
search path of the CPAN module before the use() or require() statements.
The mkmyconfig command writes this file for you.
@@ -1996,8 +1996,8 @@ FAQ
You may want to configure something like
- o conf make_arg "| tee -ai /root/.cpan/logs/make.out"
- o conf make_install_arg "| tee -ai /root/.cpan/logs/make_install.out"
+ o conf make_arg "| tee -ai /root/.XCPANCONFIGNAMEX/logs/make.out"
+ o conf make_install_arg "| tee -ai /root/.XCPANCONFIGNAMEX/logs/make_install.out"
so that STDOUT is captured in a file for later inspection.
diff --git a/lib/CPAN.pm b/lib/CPAN.pm
index 4f02850..2c117b4 100644
--- a/lib/CPAN.pm
+++ b/lib/CPAN.pm
@@ -1736,7 +1736,7 @@ restarting the whole get/make/test/install procedure from scratch.
=item Lockfile
-Interactive sessions maintain a lockfile, by default C<~/.cpan/.lock>.
+Interactive sessions maintain a lockfile, by default C<~/.XCPANCONFIGNAMEX/.lock>.
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
@@ -1810,7 +1810,7 @@ C<install_tested>.
=head2 mkmyconfig
-mkmyconfig() writes your own CPAN::MyConfig file into your C<~/.cpan/>
+mkmyconfig() writes your own CPAN::MyConfig file into your C<~/.XCPANCONFIGNAMEX/>
directory so that you can save your own preferences instead of the
system-wide ones.
@@ -2025,7 +2025,7 @@ in a file CPAN/Config.pm.
Default values defined in the CPAN/Config.pm file can be
overridden in a user specific file: CPAN/MyConfig.pm. Such a file is
-best placed in C<$HOME/.cpan/CPAN/MyConfig.pm>, because C<$HOME/.cpan> is
+best placed in C<$HOME/.XCPANCONFIGNAMEX/CPAN/MyConfig.pm>, because C<$HOME/.XCPANCONFIGNAMEX> is
added to the search path of the CPAN module before the use() or
require() statements. The mkmyconfig command writes this file for you.
@@ -3720,8 +3720,8 @@ there is too much output to keep track of.
You may want to configure something like
- o conf make_arg "| tee -ai /root/.cpan/logs/make.out"
- o conf make_install_arg "| tee -ai /root/.cpan/logs/make_install.out"
+ o conf make_arg "| tee -ai /root/.XCPANCONFIGNAMEX/logs/make.out"
+ o conf make_install_arg "| tee -ai /root/.XCPANCONFIGNAMEX/logs/make_install.out"
so that STDOUT is captured in a file for later inspection.
diff --git a/lib/CPAN/HandleConfig.pm b/lib/CPAN/HandleConfig.pm
index c72439f..a6b92e8 100644
--- a/lib/CPAN/HandleConfig.pm
+++ b/lib/CPAN/HandleConfig.pm
@@ -538,7 +538,7 @@ sub cpan_home_dir_candidates {
push @dirs, $ENV{USERPROFILE} if $ENV{USERPROFILE};
$CPAN::Config->{load_module_verbosity} = $old_v;
- my $dotcpan = $^O eq 'VMS' ? '_cpan' : '.cpan';
+ my $dotcpan = $^O eq 'VMS' ? '_XCPANCONFIGNAMEX' : '.XCPANCONFIGNAMEX';
@dirs = map { File::Spec->catdir($_, $dotcpan) } grep { defined } @dirs;
return wantarray ? @dirs : $dirs[0];
}
diff --git a/scripts/cpan-mirrors b/scripts/cpan-mirrors
index fe0e29c..493c140 100644
--- a/scripts/cpan-mirrors
+++ b/scripts/cpan-mirrors
@@ -143,7 +143,7 @@ to your configuration.
If you don't have a F<MIRRORED.BY> file, this program will download one
for you. It looks through your existing C<urllist> configuration and
-then default locations. It stores it in C<~/.cpan> (or your configured
+then default locations. It stores it in C<~/.XCPANCONFIGNAMEX> (or your configured
location to store files).
=head1 TO DO
--
2.13.6

@ -0,0 +1,340 @@
# Don not run gnupg1 tests by default, they need network access
# (Socket::inet_aton('pool.sks-keyservers.net')).
%bcond_with perl_CPAN_enables_gnupg_test
# Run optional test
%if ! (0%{?rhel})
%bcond_without perl_CPAN_enables_optional_test
%else
%bcond_with perl_CPAN_enables_optional_test
%endif
%global cpan_version 2.16
Name: perl-CPAN
Version: 2.18
Release: 397%{?dist}
Summary: Query, download and build perl modules from CPAN sites
License: GPL+ or Artistic
URL: http://search.cpan.org/dist/CPAN/
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
Patch1: CPAN-2.18-Attemp-to-create-site-library-directories-on-first-t.patch
# Change configuration directory name
Patch2: CPAN-2.18-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.18-For-cpan-j-make-the-file-an-absolute-path.patch
BuildArch: noarch
BuildRequires: coreutils
BuildRequires: findutils
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-generators
BuildRequires: perl(Config)
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(File::Basename)
BuildRequires: perl(File::Path)
BuildRequires: perl(strict)
BuildRequires: perl(vars)
BuildRequires: sed
# Optional:
BuildRequires: perl(File::Spec)
# YAML::Syck is not not used because @ST_PREFS is empty in Makefile.PL
# Run-time:
# Prefer Archive::Tar and Compress::Zlib over tar and gzip
BuildRequires: perl(Archive::Tar) >= 1.50
%if !%{defined perl_bootstrap}
# Prefer Archive::Zip over unzip
BuildRequires: perl(Archive::Zip)
%endif
BuildRequires: perl(autouse)
BuildRequires: perl(base)
BuildRequires: perl(Carp)
BuildRequires: perl(constant)
BuildRequires: perl(Compress::Zlib)
BuildRequires: perl(CPAN::Meta::Requirements) >= 2.121
BuildRequires: perl(Cwd)
BuildRequires: perl(Data::Dumper)
# Devel::Size not used at tests
BuildRequires: perl(DirHandle)
BuildRequires: perl(Dumpvalue)
BuildRequires: perl(Exporter)
# ExtUtils::Manifest not used at tests
BuildRequires: perl(Fcntl)
BuildRequires: perl(File::Copy)
BuildRequires: perl(File::Find)
# File::HomeDir 0.65 not used at tests
BuildRequires: perl(File::Spec::Functions)
BuildRequires: perl(File::Temp) >= 0.16
BuildRequires: perl(FileHandle)
BuildRequires: perl(Getopt::Std)
# HTTP::Date is optional, prefer in-core Time::Local
# HTTP::Request is optional
BuildRequires: perl(HTTP::Tiny) >= 0.005
BuildRequires: perl(if)
BuildRequires: perl(lib)
# local::lib is optional
# LWP is optional, prefer HTTP::Tiny and Net::FTP
# LWP::UserAgent is optional
# Mac::BuildTools not needed
# Mac::Files not needed
# Module::Signature is optional
# Net::Config not used at tests
# Net::FTP not used at tests
BuildRequires: perl(Net::Ping)
BuildRequires: perl(overload)
BuildRequires: perl(POSIX)
BuildRequires: perl(Safe)
BuildRequires: perl(Sys::Hostname)
BuildRequires: perl(Term::ReadLine)
BuildRequires: perl(Text::ParseWords)
BuildRequires: perl(Text::Wrap)
# Time::Local not used at tests
# URI not used at tests
# URI::Escape not used at tests
# URI::URL 0.08 is optional
# User::pwent not used at tests
BuildRequires: perl(warnings)
# Optional:
BuildRequires: perl(CPAN::Meta) >= 2.110350
# Crypt::OpenPGP not used at tests
# Digest::MD5 not used at tests
BuildRequires: perl(Digest::SHA)
# Keep MIME::Base64 optional
%if !%{defined perl_bootstrap}
BuildRequires: perl(Module::Build)
%endif
# Tests:
# CPAN::Checksums not used
BuildRequires: perl(FindBin)
BuildRequires: perl(Pod::Usage)
BuildRequires: perl(Test::More)
%if %{with perl_CPAN_enables_optional_test}
# Optional tests:
%if %{with perl_CPAN_enables_gnupg_test}
BuildRequires: %{_bindir}/gpg
# Digest::SHA1 not needed if Digest::SHA is available
# Digest::SHA::PurePerl not needed if Digest::SHA is available
%endif
%if !%{defined perl_bootstrap}
BuildRequires: perl(Expect)
%endif
BuildRequires: perl(Hash::Util)
%if !%{defined perl_bootstrap}
# Kwalify not yet packaged
%if %{with perl_CPAN_enables_gnupg_test}
BuildRequires: perl(Module::Signature) >= 0.66
%endif
BuildRequires: perl(Perl::Version)
%endif
%if %{with perl_CPAN_enables_gnupg_test}
BuildRequires: perl(Socket)
%endif
%if !%{defined perl_bootstrap}
BuildRequires: perl(Sort::Versions)
# Test::MinimumVersion not used
# Test::Perl::Critic not used
BuildRequires: perl(Test::Pod) >= 1.00
BuildRequires: perl(Test::Pod::Coverage) >= 0.18
BuildRequires: perl(YAML) >= 0.60
%endif
%endif
Requires: make
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(Archive::Tar) >= 1.50
Requires: perl(CPAN::Meta::Requirements) >= 2.121
Requires: perl(Data::Dumper)
%if !%{defined perl_bootstrap}
Requires: perl(Devel::Size)
%endif
Requires: perl(ExtUtils::Manifest)
%if !%{defined perl_bootstrap}
Requires: perl(File::HomeDir) >= 0.65
%endif
Requires: perl(File::Temp) >= 0.16
Requires: perl(lib)
Requires: perl(Net::Config)
Requires: perl(Net::FTP)
Requires: perl(POSIX)
Requires: perl(Term::ReadLine)
Requires: perl(Time::Local)
%if !%{defined perl_bootstrap}
Requires: perl(URI)
Requires: perl(URI::Escape)
%endif
Requires: perl(User::pwent)
# Optional but highly recommended:
%if !%{defined perl_bootstrap}
# Prefer Archive::Zip over unzip
Requires: perl(Archive::Zip)
Requires: perl(Compress::Bzip2)
Requires: perl(CPAN::Meta) >= 2.110350
%endif
Requires: perl(Compress::Zlib)
Requires: perl(Digest::MD5)
# CPAN encourages Digest::SHA strongly because of integrity checks
Requires: perl(Digest::SHA)
Requires: perl(Dumpvalue)
Requires: perl(ExtUtils::CBuilder)
%if ! %{defined perl_bootstrap}
# Avoid circular deps local::lib -> Module::Install -> CPAN when bootstraping
# local::lib recommended by CPAN::FirstTime default choice, bug #1122498
Requires: perl(local::lib)
%endif
%if ! %{defined perl_bootstrap}
Requires: perl(Module::Build)
Recommends: perl(Term::ReadKey)
Requires: perl(Text::Glob)
# Text::Levenshtein::XS or Text::Levenshtein::Damerau::XS or Text::Levenshtein
# or Text::Levenshtein::Damerau::PP
Suggests: perl(Text::Levenshtein::Damerau::XS)
# YAML::Syck or YAML or Data::Dumper
Suggests: perl(YAML::Syck)
%endif
Provides: cpan = %{version}
# Filter non-Linux dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Mac::BuildTools\\)
# Filter under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(CPAN::Meta::Requirements\\)
%description
The CPAN module automates or at least simplifies the make and install of
perl modules and extensions. It includes some primitive searching
capabilities and knows how to use LWP, HTTP::Tiny, Net::FTP and certain
external download clients to fetch distributions from the net.
%prep
%setup -q -n CPAN-%{cpan_version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
# Change configuration name
find -type f -exec sed -i -e 's/XCPANCONFIGNAMEX/cpan/g' {} \;
# Remove bundled modules
rm -r ./inc/*
sed -i -e '/inc\//d' MANIFEST
%build
perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags}
%install
make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name .packlist -delete
%{_fixperms} $RPM_BUILD_ROOT/*
%check
make test
%files
%doc Changes PAUSE*.pub README Todo
%{_bindir}/*
%{perl_vendorlib}/*
%{_mandir}/man1/*
%{_mandir}/man3/*
%changelog
* Thu Apr 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 2.18-397
- Rebuilt for MSVSphere 8.9
* 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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jun 07 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.18-394
- Perl 5.26 re-rebuild of bootstrapped packages
* Sat Jun 03 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.18-393
- Perl 5.26 rebuild
* Fri May 12 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.18-2
- Don't BR: perl(Module::Build) when bootstrapping
* Wed May 10 2017 Petr Pisar <ppisar@redhat.com> - 2.18-1
- Upgrade to CPAN-2.18 as provided in perl-5.25.12
* Wed Feb 15 2017 Petr Pisar <ppisar@redhat.com> - 2.16-1
- 2.16 bump
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jan 09 2017 Petr Pisar <ppisar@redhat.com> - 2.14-4
- Use Perl porter's fix for searching cpan -j file (CPAN RT#116507)
- Fix logging fatal errors (https://github.com/andk/cpanpm/pull/104)
* Tue Oct 18 2016 Petr Pisar <ppisar@redhat.com> - 2.14-3
- Apply remains of CVE-2016-1238 fix from perl (CPAN RT#116507)
- Do not search cpan -j file in @INC (CPAN RT#116507)
* Wed Oct 12 2016 Petr Pisar <ppisar@redhat.com> - 2.14-2
- Fix CVE-2016-1238 properly (CPAN RT#116507)
* Mon Jun 27 2016 Petr Pisar <ppisar@redhat.com> - 2.14-1
- 2.14 bump
- Fix installation from a working directory (CPAN RT#115734)
- Fix "cpan -O" invocation (CPAN RT#115786)
- Do not use Net::FTP if ftp_proxy variable points to an HTTP server
(CPAN RT#110833)
- Recognize URL schemata disregarding the case
- Fix CVE-2016-1238 (loading optional modules from current working directory)
- Recognize exact version dependency operator (CPAN RT#47934)
- Cope with non-digit version strings
* Wed May 18 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-366
- Perl 5.24 re-rebuild of bootstrapped packages
* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-365
- Increase release to favour standalone package
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.11-349
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Dec 15 2015 Petr Pisar <ppisar@redhat.com> - 2.11-348
- Require make package
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.11-347
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Jun 10 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-346
- Perl 5.22 re-rebuild of bootstrapped packages
* Thu Jun 04 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-345
- Increase release to favour standalone package
* Thu Jun 04 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.11-2
- Perl 5.22 rebuild
* Wed May 06 2015 Petr Pisar <ppisar@redhat.com> - 2.11-1
- 2.11 bump in order to dual-live with perl 5.22
* Fri Mar 13 2015 Petr Pisar <ppisar@redhat.com> - 2.10-1
- 2.10 bump
* Wed Jan 28 2015 Petr Pisar <ppisar@redhat.com> - 2.05-309
- Allow changing the configuration directory name
* Thu Oct 30 2014 Petr Pisar <ppisar@redhat.com> - 2.05-308
- Create site paths for the first time (bug #1158873)
* Wed Sep 10 2014 Petr Pisar <ppisar@redhat.com> 2.05-307
- Synchronize to perl.spec modifications
- Disable non-core modules when bootstrapping
* Tue Apr 22 2014 Petr Pisar <ppisar@redhat.com> 2.05-1
- Specfile autogenerated by cpanspec 1.78.
Loading…
Cancel
Save