Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

8 changed files with 278 additions and 15 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

13
.gitignore vendored
View File

@ -1,2 +1,13 @@
SOURCES/Module-Install-1.19.tar.gz
Module-Install-0.95.tar.gz
/Module-Install-1.00.tar.gz
/Module-Install-1.01.tar.gz
/Module-Install-1.04.tar.gz
/Module-Install-1.06.tar.gz
/Module-Install-1.10.tar.gz
/Module-Install-1.14.tar.gz
/Module-Install-1.15.tar.gz
/Module-Install-1.16.tar.gz
/Module-Install-1.17.tar.gz
/Module-Install-1.18.tar.gz
/Module-Install-1.19.tar.gz
/Module-Install-1.21.tar.gz

View File

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

19
gating.yaml Normal file
View File

@ -0,0 +1,19 @@
# Fedora
--- !Policy
id: fedora_policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_testing
- bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
# RHEL
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,10 +1,20 @@
# Run optional test
%if ! (0%{?rhel})
%bcond_without perl_Module_Install_enables_optional_test
%else
%bcond_with perl_Module_Install_enables_optional_test
%endif
Name: perl-Module-Install
Version: 1.19
Release: 2%{?dist}
Version: 1.21
Release: 6%{?dist}
Summary: Standalone, extensible Perl module installer
License: GPL+ or Artistic
URL: http://search.cpan.org/dist/Module-Install/
Source0: http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Install-%{version}.tar.gz
License: GPL-1.0-or-later OR Artistic-1.0-Perl
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 +51,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
@ -54,12 +64,11 @@ BuildRequires: perl(ExtUtils::MM)
BuildRequires: perl(Symbol)
BuildRequires: perl(Test::More)
# Optional tests only
%if 0%{!?perl_bootstrap:1}
%if %{with perl_Module_Install_enables_optional_test} && 0%{!?perl_bootstrap:1}
BuildRequires: perl(Module::Install::AuthorTests)
BuildRequires: perl(Module::Install::ExtraTests) >= 0.007
%endif
BuildRequires: perl(utf8)
Requires: perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version))
Requires: perl(Archive::Zip) >= 1.37
Requires: perl(Carp)
Requires: perl(CPAN)
@ -97,6 +106,9 @@ Requires: perl(YAML::Tiny) >= 1.38
%global __requires_exclude %__requires_exclude|^perl\\(File::Spec\\)$
%global __requires_exclude %__requires_exclude|^perl\\(YAML::Tiny\\)$
# Filter modules bundled for tests
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir}
%global __requires_exclude %__requires_exclude|^perl\\(MyTest\\)$
%description
Module::Install is a package for writing installers for CPAN (or CPAN-like)
@ -104,27 +116,157 @@ distributions that are clean, simple, minimalist, act in a strictly correct
manner with ExtUtils::MakeMaker, and will run on any Perl installation
version 5.005 or newer.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl-Test-Harness
%if %{with perl_Module_Install_enables_optional_test} && 0%{!?perl_bootstrap:1}
Requires: perl(Module::Install::AuthorTests)
Requires: perl(Module::Install::ExtraTests) >= 0.007
%endif
Requires: perl(utf8)
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep
%setup -q -n Module-Install-%{version}
%patch -P0 -p1
# Help generators to recognize Perl scripts
for F in `find t -name *.t`; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%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}/*
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t %{buildroot}%{_libexecdir}/%{name}
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/bin/bash
set -e
# 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
export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}')
make test
%files
%doc Changes README
%{perl_vendorlib}/*
%{_mandir}/man3/*
%{perl_vendorlib}/Module*
%{perl_vendorlib}/inc*
%{_mandir}/man3/Module::*
%{_mandir}/man3/inc::*
%files tests
%{_libexecdir}/%{name}
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.21-6
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.21-5
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed May 03 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1.21-1
- 1.21 bump
- Package tests
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 03 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-22
- Perl 5.36 re-rebuild of bootstrapped packages
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-21
- Perl 5.36 rebuild
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 24 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-18
- Perl 5.34 re-rebuild of bootstrapped packages
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-17
- Perl 5.34 rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 26 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-14
- Perl 5.32 re-rebuild of bootstrapped packages
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-13
- Perl 5.32 rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jun 02 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-10
- Perl 5.30 re-rebuild of bootstrapped packages
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-9
- Perl 5.30 rebuild
* Wed May 15 2019 Petr Pisar <ppisar@redhat.com> - 1.19-8
- 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-7
- Fix a crash when looking up 5.010 Perl core modules (CPAN RT#71565)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Jul 01 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-4
- Perl 5.28 re-rebuild of bootstrapped packages
* Thu Jun 28 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1.19-3
- Perl 5.28 rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

5
plans/sanity.fmf Normal file
View File

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

View File

@ -1 +1 @@
SHA512 (Module-Install-1.19.tar.gz) = 68a255402c98955cfcb5a8a99555fe511b89d5fccf96ee1c498cab347c8945f3abe53485ea936f7419420d9c7beb52c861516f4cfd299812cebf80eab50fa5ba
SHA512 (Module-Install-1.21.tar.gz) = f3dd1dfcae81704f1aa9ac409abd22c9e0d5d66c048adac13da19ab88559d717427b5471b7a065db8312d4d44e829afea52567cd0993e4016df0e10c760ada85

11
tests/upstream-tests.fmf Normal file
View File

@ -0,0 +1,11 @@
summary: Upstream tests
component: perl-Module-Install
require: perl-Module-Install-tests
test: /usr/libexec/perl-Module-Install/test
enabled: true
tag:
- rhel-buildroot
adjust:
- enabled: false
when: distro < rhel-10 or distro < centos-stream-10
continue: false