Blame SPECS/perl-CPAN.spec

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