diff --git a/.gitignore b/.gitignore index 996f853..8905d0e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/Archive-Zip-1.67.tar.gz +Archive-Zip-1.68.tar.gz diff --git a/.perl-Archive-Zip.metadata b/.perl-Archive-Zip.metadata deleted file mode 100644 index 6c6c845..0000000 --- a/.perl-Archive-Zip.metadata +++ /dev/null @@ -1 +0,0 @@ -50955cbeb51c2ee8587b1350ee20b4a5f4619079 SOURCES/Archive-Zip-1.67.tar.gz diff --git a/SPECS/perl-Archive-Zip.spec b/perl-Archive-Zip.spec similarity index 72% rename from SPECS/perl-Archive-Zip.spec rename to perl-Archive-Zip.spec index d0586e3..ecaf9fa 100644 --- a/SPECS/perl-Archive-Zip.spec +++ b/perl-Archive-Zip.spec @@ -1,20 +1,21 @@ Name: perl-Archive-Zip -Version: 1.67 -Release: 1%{?dist} +Version: 1.68 +Release: 17%{?dist} Summary: Perl library for accessing Zip archives -# lib/Archive/Zip/Member.pm: (GPL+ or Artistic) and BSD +# lib/Archive/Zip/Member.pm: (GPL-1.0-or-later OR Artistic-1.0-Perl) and Info-ZIP # (The _mapPermissionsToUnix() comments are -# copied from BSD-licensed unzip) -# other files: GPL+ or Artistic -License: (GPL+ or Artistic) and BSD +# copied from Info-ZIP licensed unzip) +# other files: GPL-1.0-or-later OR Artistic-1.0-Perl +License: ( GPL-1.0-or-later OR Artistic-1.0-Perl ) AND Info-ZIP URL: https://metacpan.org/release/Archive-Zip Source0: https://cpan.metacpan.org/authors/id/P/PH/PHRED/Archive-Zip-%{version}.tar.gz BuildArch: noarch +BuildRequires: coreutils # For a Git binary patch BuildRequires: git-core BuildRequires: make -BuildRequires: perl-interpreter BuildRequires: perl-generators +BuildRequires: perl-interpreter BuildRequires: perl(:VERSION) >= 5.4 BuildRequires: perl(Config) BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 @@ -43,18 +44,20 @@ BuildRequires: perl(vars) BuildRequires: perl(File::Spec::Unix) # IO::Scalar not used BuildRequires: perl(lib) -BuildRequires: perl(Test::MockModule) BuildRequires: perl(Test::More) >= 0.88 BuildRequires: perl(utf8) BuildRequires: perl(warnings) BuildRequires: unzip BuildRequires: zip -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(Exporter) Requires: perl(File::Spec) >= 0.80 # Remove under-specified dependencies %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(File::Spec\\)$ +# Filter modules bundled for tests +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir} +%global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}^%{_libexecdir}/%{name}/examples +%global __requires_exclude %{__requires_exclude}|^perl\\(common\\) %description The Archive::Zip module allows a Perl program to create, manipulate, @@ -67,6 +70,17 @@ or other attributes queried or modified. Their data can be compressed or uncompressed as needed. Members can be created from members in existing Zip files, or from existing directories, files, or strings. +%package tests +Summary: Tests for %{name} +License: GPL-1.0-or-later OR Artistic-1.0-Perl +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness +Requires: unzip +Requires: zip + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". %prep %autosetup -S git -n Archive-Zip-%{version} @@ -74,29 +88,106 @@ for F in examples/*.pl; do perl -MExtUtils::MakeMaker -e "ExtUtils::MM_Unix->fixin(q{$F})" done +# 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 -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=$RPM_BUILD_ROOT -%{_fixperms} $RPM_BUILD_ROOT/* - +%{make_install} +%{_fixperms} %{buildroot}/* +# Install tests +mkdir -p %{buildroot}%{_libexecdir}/%{name} +cp -a t examples %{buildroot}%{_libexecdir}/%{name} +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/bash +set -e +# Some tests write into temporary files/directories. The 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 examples/ %{_bindir}/crc32 %{perl_vendorlib}/Archive/ %{_mandir}/man3/Archive*.3* +%files tests +%{_libexecdir}/%{name} %changelog +* Tue Oct 29 2024 Troy Dawson - 1.68-17 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Mon Jul 08 2024 Jitka Plesnikova - 1.68-16 +- Update dependencies of sub-package tests + +* Mon Jun 24 2024 Troy Dawson - 1.68-15 +- Bump release for June 2024 mass rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.68-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.68-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 1.68-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Mar 08 2023 Jitka Plesnikova - 1.68-11 +- Package tests + +* Thu Jan 19 2023 Fedora Release Engineering - 1.68-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.68-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue May 31 2022 Jitka Plesnikova - 1.68-8 +- Perl 5.36 rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 1.68-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.68-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 21 2021 Jitka Plesnikova - 1.68-5 +- Perl 5.34 rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.68-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Petr Pisar - 1.68-3 +- Remove an unused build-time dependency on Test::MockModule + +* Tue Jun 23 2020 Jitka Plesnikova - 1.68-2 +- Perl 5.32 rebuild + +* Fri Mar 13 2020 Jitka Plesnikova - 1.68-1 +- 1.68 bump +- Use make_* macros + +* Wed Jan 29 2020 Fedora Release Engineering - 1.67-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Mon Oct 07 2019 Jitka Plesnikova - 1.67-1 - 1.67 bump diff --git a/sources b/sources new file mode 100644 index 0000000..f8739db --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (Archive-Zip-1.68.tar.gz) = 40c3ba26b1c27a8b15b919934e7fcd531f208bec73de3454e123ac1fb771831e287b8fade421be40e243498beb6dad9b6133ef07d2e5d407afbd1f3d6a30b916