From 595984aedde2b73a779b48c0732ea7236617883a Mon Sep 17 00:00:00 2001 From: yuanhui Date: Fri, 14 Apr 2023 17:46:06 +0800 Subject: [PATCH] Optimize the spec file Signed-off-by: yuanhui --- perl-Compress-Raw-Bzip2.spec | 139 +++++++++-------------------------- 1 file changed, 34 insertions(+), 105 deletions(-) diff --git a/perl-Compress-Raw-Bzip2.spec b/perl-Compress-Raw-Bzip2.spec index 934cf0a..e276864 100644 --- a/perl-Compress-Raw-Bzip2.spec +++ b/perl-Compress-Raw-Bzip2.spec @@ -1,95 +1,58 @@ -%define anolis_release 1 +%define anolis_release 2 + +# Filter modules bundled for tests +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(CompTestUtils\\) +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir} +%if %{defined perl_bootstrap} +%global __requires_exclude %{__requires_exclude}|^perl\\(Test::Builder)\s*$ +%global __requires_exclude %{__requires_exclude}|^perl\\(Test::More)\s*$ +%global __requires_exclude %{__requires_exclude}|^perl\\(Test::Simple)\s*$ +%endif + %bcond_with perl_Compress_Raw_Bzip2_enables_optional_test Name: perl-Compress-Raw-Bzip2 -Summary: Low-level interface to bzip2 compression library Version: 2.204 Release: %{anolis_release}%{?dist} -# Other files: GPL+ or Artistic -## unbundled -# bzip2-src: BSD License: GPL-1.0-or-later OR Artistic-1.0-Perl +Summary: Low-level interface to bzip2 compression library URL: https://metacpan.org/release/Compress-Raw-Bzip2 Source0: https://cpan.metacpan.org/modules/by-module/Compress/Compress-Raw-Bzip2-%{version}.tar.gz # Module Build -BuildRequires: bzip2-devel -BuildRequires: coreutils -BuildRequires: findutils -BuildRequires: gcc -BuildRequires: make -BuildRequires: perl-devel -BuildRequires: perl-generators -BuildRequires: perl-interpreter -BuildRequires: perl(Config) -BuildRequires: perl(ExtUtils::Constant) -BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 -BuildRequires: perl(File::Copy) -BuildRequires: perl(File::Spec::Functions) -BuildRequires: perl(lib) +BuildRequires: gcc bzip2-devel make findutils coreutils +BuildRequires: perl-interpreter perl-devel perl-generators +BuildRequires: perl(ExtUtils::MakeMaker) >= 6.76 perl(Config) +BuildRequires: perl(File::Copy) perl(ExtUtils::Constant) perl(lib) perl(File::Spec::Functions) # Module Runtime -BuildRequires: perl(bytes) -BuildRequires: perl(Carp) -BuildRequires: perl(constant) -BuildRequires: perl(Exporter) -BuildRequires: perl(strict) -BuildRequires: perl(warnings) -BuildRequires: perl(XSLoader) +BuildRequires: perl(Exporter) perl(constant) perl(Carp) perl(bytes) +BuildRequires: perl(XSLoader) perl(warnings) perl(strict) # Test Suite -BuildRequires: perl(File::Path) -BuildRequires: perl(threads::shared) -# Dual-lived module needs rebuilding early in the boot process +BuildRequires: perl(threads::shared) perl(File::Path) perl(vars) + %if !%{defined perl_bootstrap} BuildRequires: perl(Test::More) %endif %if %{with perl_Compress_Raw_Bzip2_enables_optional_test} -# Optional Tests -BuildRequires: perl(File::Temp) -BuildRequires: perl(lib) -BuildRequires: perl(overload) +BuildRequires: perl(overload) perl(lib) perl(File::Temp) perl(Scalar::Util) %if !%{defined perl_bootstrap} -# Release tests are deleted BuildRequires: perl(Test::NoWarnings) %endif -BuildRequires: perl(Scalar::Util) %endif -BuildRequires: perl(vars) + # Runtime Requires: perl(XSLoader) -# Don't "provide" private Perl libs -%{?perl_default_filter} +Obsoletes: %{name}-tests < %{EVR} -# Filter modules bundled for tests -%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(CompTestUtils\\) -%if %{defined perl_bootstrap} -%global __requires_exclude %{__requires_exclude}|^perl\\(Test::Builder)\s*$ -%global __requires_exclude %{__requires_exclude}|^perl\\(Test::More)\s*$ -%global __requires_exclude %{__requires_exclude}|^perl\\(Test::Simple)\s*$ -%endif -%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir} +%{?perl_default_filter} %description -This module provides a Perl interface to the bzip2 compression library. -It is used by IO::Compress::Bzip2. - -%package tests -Summary: Tests for %{name} -Requires: %{name} = %{EVR} -Requires: perl-Test-Harness -%if %{with perl_Compress_Raw_Bzip2_enables_optional_test} -# Optional Tests -Requires: perl(File::Temp) -Requires: perl(overload) -# Dual-lived module needs rebuilding early in the boot process -%if !%{defined perl_bootstrap} -Requires: perl(Test::NoWarnings) -%endif -Requires: perl(Scalar::Util) -%endif +Compress::Raw::Bzip2 provides an interface to the in-memory compression/uncompression +functions from the bzip2 compression library. -%description tests -Tests from %{name}-%{version}. Execute them -with "%{_libexecdir}/%{name}/test". +Although the primary purpose for the existence of Compress::Raw::Bzip2 is for use by +the IO::Compress::Bzip2 and IO::Compress::Bunzip2 modules, it can be used on its own +for simple compression/uncompression tasks. %package doc Summary: Doc files for %{name} @@ -100,27 +63,7 @@ BuildArch: noarch Doc files for %{name} %prep -%setup -q -n Compress-Raw-Bzip2-%{version} -# Remove bundled bzip2 sources -rm -r bzip2-src -perl -i -ne 'print unless /^bzip2-src\//' MANIFEST - -%if ! %{defined perl_bootstrap} -# Remove bundled Test::* modules -rm -rf t/Test -perl -i -ne 'print $_ unless m{^t/Test/}' MANIFEST -%endif - -# Help file to recognise the Perl scripts -for F in t/*.t; do - perl -i -MConfig -ple 'print $Config{startperl} if $. == 1' "$F" - chmod +x "$F" -done - -# Remove release tests -rm t/99pod.t t/meta-*.t -perl -i -ne 'print $_ unless m{^t/99pod\.t}' MANIFEST -perl -i -ne 'print $_ unless m{^t/meta-.*\.t}' MANIFEST +%autosetup -n Compress-Raw-Bzip2-%{version} -p1 %build BUILD_BZIP2=0 @@ -133,20 +76,6 @@ perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" NO_PACKLIST=1 NO_PERL %{make_install} find %{buildroot} -type f -name '*.bs' -empty -delete -# Install tests -mkdir -p %{buildroot}/%{_libexecdir}/%{name} -cp -a t %{buildroot}/%{_libexecdir}/%{name} -perl -i -pe "s{DIR => '.'}{DIR => '/tmp'}" %{buildroot}/%{_libexecdir}/%{name}/t/compress/CompTestUtils.pm -cat > %{buildroot}/%{_libexecdir}/%{name}/test << 'EOF' -#!/bin/sh -unset PERL_CORE -cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)" -EOF -chmod +x %{buildroot}/%{_libexecdir}/%{name}/test - - -%{_fixperms} -c %{buildroot} - %check unset PERL_CORE export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') @@ -157,13 +86,13 @@ make test %{perl_vendorarch}/Compress/ %{_mandir}/man3/Compress::Raw::Bzip2.3* -%files tests -%{_libexecdir}/%{name} - %files doc -%doc Changes README +%doc README Changes %changelog +* Fri Apr 14 2023 yuanhui - 2.204-2 +- Optimize the spec file + * Fri Feb 10 2023 mgb01105731 - 2.204-1 - update to version 2.204 -- Gitee