Blob Blame History Raw
# Enable LZMA and XZ support via pure-Perl implementation
%if 0%{?rhel}
%bcond_with perl_Archive_Extract_enables_perl_xz
%else
%bcond_without perl_Archive_Extract_enables_perl_xz
%endif

Name:           perl-Archive-Extract
# Epoch to compete with core module from perl.spec
Epoch:          1
Version:        0.80
Release:        6%{?dist}
Summary:        Generic archive extracting mechanism
License:        GPL+ or Artistic
Group:          Development/Libraries
URL:            http://search.cpan.org/dist/Archive-Extract/
Source0:        http://www.cpan.org/authors/id/B/BI/BINGOS/Archive-Extract-%{version}.tar.gz
BuildArch:      noarch
BuildRequires:  findutils
BuildRequires:  make
BuildRequires:  perl-interpreter
BuildRequires:  perl-generators
BuildRequires:  perl(ExtUtils::MakeMaker)
BuildRequires:  perl(strict)
# Run-time:
# Prefer Archive::Tar to suppress warnings, bug #1217352, CPAN RT#104121
BuildRequires:  perl(Archive::Tar)
BuildRequires:  perl(Carp)
BuildRequires:  perl(constant)
BuildRequires:  perl(Cwd)
BuildRequires:  perl(deprecate)
BuildRequires:  perl(File::Basename)
BuildRequires:  perl(File::Path)
BuildRequires:  perl(File::Spec) >= 0.82
BuildRequires:  perl(FileHandle)
BuildRequires:  perl(if)
BuildRequires:  perl(IPC::Cmd) >= 0.64
BuildRequires:  perl(Locale::Maketext::Simple)
BuildRequires:  perl(Module::Load::Conditional) >= 0.66
BuildRequires:  perl(Params::Check) >= 0.07
BuildRequires:  perl(vars)
# Tests:
BuildRequires:  perl(Data::Dumper)
BuildRequires:  perl(File::Spec::Unix)
BuildRequires:  perl(lib)
BuildRequires:  perl(Test::More)
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires:       perl(deprecate)
# Prefer Archive::Tar to suppress warnings, bug #1217352, CPAN RT#104121
Requires:       perl(Archive::Tar)
Requires:       perl(File::Spec) >= 0.82
Requires:       perl(IPC::Cmd) >= 0.64
Requires:       perl(Module::Load::Conditional) >= 0.66
Requires:       perl(Params::Check) >= 0.07
# Decompressors:
Requires:       %{name}-bz2
Requires:       %{name}-gz
Requires:       %{name}-lzma
Requires:       %{name}-tar
Requires:       %{name}-tbz
Requires:       %{name}-tgz
Requires:       %{name}-txz
Requires:       %{name}-Z
Requires:       %{name}-zip
Requires:       %{name}-xz

# Filter under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\((File::Spec|IPC::Cmd|Module::Load::Conditional|Params::Check)\\)$

%description
Archive::Extract is a generic archive extraction mechanism.  It allows you to
extract any archive file of the type .tar, .tar.gz, .gz, .Z, tar.bz2, .tbz,
.bz2, .zip, .xz,, .txz, .tar.xz, or .lzma without having to worry how it does
so, or use different interfaces for each type by using either perl modules, or
command-line tools on your system.

# Decompressors:
# bz2:  bunzip2 || IO::Uncompress::Bunzip2
%package bz2-bunzip2
Summary:    Bzip2 decompressor for %{name} via bunzip2
Provides:   %{name}-bz2
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   bzip2
%description bz2-bunzip2
%{summary}.

%package bz2-IO-Uncompress-Bunzip2
Summary:    Bzip2 decompressor for %{name} via IO::Uncompress::Bunzip2
Provides:   %{name}-bz2
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(IO::Uncompress::Bunzip2)
%description bz2-IO-Uncompress-Bunzip2
%{summary}.

# gz:   gzip || Compress::Zlib
%package gz-gzip
Summary:    Gzip decompressor for %{name} via gzip
Provides:   %{name}-gz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   gzip
%description gz-gzip
%{summary}.

%package gz-Compress-Zlib
Summary:    Gzip decompressor for %{name} via Compress::Zlib
Provides:   %{name}-gz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Compress::Zlib)
%description gz-Compress-Zlib
%{summary}.

# lzma: unlzma || IO::Uncompress::UnLzma || Compress::unLZMA
%package lzma-unlzma
Summary:    Lzma decompressor for %{name} via unlzma
Provides:   %{name}-lzma
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   xz-lzma-compat
%description lzma-unlzma
%{summary}.

%if %{with perl_Archive_Extract_enables_perl_xz}
%package lzma-IO-Uncompress-UnLzma
Summary:    Lzma decompressor for %{name} via IO::Uncompress::UnLzma
Provides:   %{name}-lzma
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(IO::Uncompress::UnLzma)
# perl-Extract-Archive-lzma-Compress-unLZMA removed because Compress::unLZMA
# is not yet packaged
Obsoletes:  perl-Archive-Extract-lzma-Compress-unLZMA < 1:0.80-6
%description lzma-IO-Uncompress-UnLzma
%{summary}.
%endif

%if %{with perl_Archive_Extract_enables_perl_xz}
# Compress::unLZMA not yet packaged
#%%package lzma-Compress-unLZMA
#Summary:    Lzma decompressor for %%{name} via Compress::unLZMA
#Provides:   %%{name}-lzma
#Requires:   %%{name} = %%{epoch}:%%{version}-%%{release}
#Requires:   perl(Compress::unLZMA)
#%%description lzma-Compress-unLZMA
#%%{summary}.
%endif

# tar:  tar || Archive::Tar
%package tar-tar
Summary:    Tar decompressor for %{name} via tar
Provides:   %{name}-tar
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   tar
%description tar-tar
%{summary}.

%package tar-Archive-Tar
Summary:    Tar decompressor for %{name} via Archive::Tar
Provides:   %{name}-tar
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Archive::Tar)
%description tar-Archive-Tar
%{summary}.

# tbz:  (tar && bunzip2) || (Archive::Tar && IO::Uncompress::Bunzip2)
%package tbz-tar-bunzip2
Summary:    Bzipped-tar decompressor for %{name} via tar an bunzip2
Provides:   %{name}-tbz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   tar
Requires:   bzip2
%description tbz-tar-bunzip2
%{summary}.

%package tbz-Archive-Tar-IO-Uncompress-Bunzip2
Summary:    Bzipped-tar decompressor for %{name} via Archive::Tar and IO::Uncompress::Bunzip2
Provides:   %{name}-tbz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Archive::Tar)
Requires:   perl(IO::Uncompress::Bunzip2)
%description tbz-Archive-Tar-IO-Uncompress-Bunzip2
%{summary}.

# tgz:  (tar && gzip) || (Archive::Tar && (Compress::Zlib || IO::Zlib))
%package tgz-tar-gzip
Summary:    Gzipped-tar decompressor for %{name} via tar and gzip
Provides:   %{name}-tgz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   tar
Requires:   gzip
%description tgz-tar-gzip
%{summary}.

%package tgz-Archive-Tar-Compress-Zlib
Summary:    Gzipped-tar decompressor for %{name} via Archive::Tar and Compress::Zlib
Provides:   %{name}-tgz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Archive::Tar)
Requires:   perl(Compress::Zlib)
%description tgz-Archive-Tar-Compress-Zlib
%{summary}.

%package tgz-Archive-Tar-IO-Zlib
Summary:    Gzipped-tar decompressor for %{name} via Archive::Tar and IO::Zlib
Provides:   %{name}-tgz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Archive::Tar)
Requires:   perl(IO::Zlib)
%description tgz-Archive-Tar-IO-Zlib
%{summary}.

# txz:  (tar && unxz) || (Archive::Tar && IO::Uncompress::UnXz)
%package txz-tar-unxz
Summary:    Xzed-tar decompressor for %{name} via tar and unxz
Provides:   %{name}-txz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   tar
Requires:   xz
%description txz-tar-unxz
%{summary}.

%if %{with perl_Archive_Extract_enables_perl_xz}
%package txz-Archive-Tar-IO-Uncompress-UnXz
Summary:    Xzed-tar decompressor for %{name} via Archive::Tar and IO::Uncompress::UnXz
Provides:   %{name}-txz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Archive::Tar)
Requires:   perl(IO::Uncompress::UnXz)
%description txz-Archive-Tar-IO-Uncompress-UnXz
%{summary}.
%endif

# Z:    uncompress || Compress::Zlib
%package Z-uncompress
Summary:    Z decompressor for %{name} via uncompress
Provides:   %{name}-Z
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   ncompress
%description Z-uncompress
%{summary}.

%package Z-Compress-Zlib
Summary:    Z decompressor for %{name} via Compress::Zlib
Provides:   %{name}-Z
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Compress::Zlib)
%description Z-Compress-Zlib
%{summary}.

# zip:  unzip || Archive::Zip
%package zip-unzip
Summary:    ZIP decompressor for %{name} via unzip
Provides:   %{name}-zip
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   unzip
%description zip-unzip
%{summary}.

%package zip-Archive-Zip
Summary:    ZIP decompressor for %{name} via Archive::Zip
Provides:   %{name}-zip
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(Archive::Zip)
%description zip-Archive-Zip
%{summary}.

# xz:   unxz || IO::Uncompress::UnXz
%package xz-unxz
Summary:    Xz decompressor for %{name} via unxz
Provides:   %{name}-xz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   xz
%description xz-unxz
%{summary}.

%if %{with perl_Archive_Extract_enables_perl_xz}
%package xz-IO-Uncompress-UnXz
Summary:    Xz decompressor for %{name} via IO::Uncompress::UnXz
Provides:   %{name}-xz
Requires:   %{name} = %{epoch}:%{version}-%{release}
Requires:   perl(IO::Uncompress::UnXz)
%description xz-IO-Uncompress-UnXz
%{summary}.
%endif

%prep
%setup -q -n Archive-Extract-%{version}

%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 README
%{perl_vendorlib}/*
%{_mandir}/man3/*

%files bz2-bunzip2
%files bz2-IO-Uncompress-Bunzip2
%files gz-gzip
%files gz-Compress-Zlib
%files lzma-unlzma
%if %{with perl_Archive_Extract_enables_perl_xz}
%files lzma-IO-Uncompress-UnLzma
%endif
%if %{with perl_Archive_Extract_enables_perl_xz}
#%%files lzma-Compress-unLZMA
%endif
%files tar-tar
%files tar-Archive-Tar
%files tbz-tar-bunzip2
%files tbz-Archive-Tar-IO-Uncompress-Bunzip2
%files tgz-tar-gzip
%files tgz-Archive-Tar-Compress-Zlib
%files tgz-Archive-Tar-IO-Zlib
%files txz-tar-unxz
%if %{with perl_Archive_Extract_enables_perl_xz}
%files txz-Archive-Tar-IO-Uncompress-UnXz
%endif
%files Z-uncompress
%files Z-Compress-Zlib
%files zip-unzip
%files zip-Archive-Zip
%files xz-unxz
%if %{with perl_Archive_Extract_enables_perl_xz}
%files xz-IO-Uncompress-UnXz
%endif

%changelog
* Thu Sep 06 2018 Petr Pisar <ppisar@redhat.com> - 1:0.80-6
- Remove perl-Extract-Archive-lzma-Compress-unLZMA subpackage because
  Compress::unLZMA is not packaged (bug #1625872)
- Remove perl-Archive-Extract-lzma-IO-Uncompress-UnLzma,
  perl-Archive-Extract-txz-Archive-Tar-IO-Uncompress-UnXz, and
  perl-Archive-Extract-xz-IO-Uncompress-UnXz subpackages (bug #1625872)

* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.80-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.80-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.80-3
- Perl 5.26 rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.80-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Jan 19 2017 Petr Pisar <ppisar@redhat.com> - 1:0.80-1
- 0.80 bump

* Fri Jul 29 2016 Petr Pisar <ppisar@redhat.com> - 1:0.78-1
- 0.78 bump

* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.76-3
- Perl 5.24 rebuild

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.76-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Jul 07 2015 Petr Pisar <ppisar@redhat.com> - 1:0.76-1
- 0.76 bump

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.74-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Jun 03 2015 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.74-4
- Perl 5.22 rebuild

* Thu Apr 30 2015 Petr Pisar <ppisar@redhat.com> - 1:0.74-3
- Fix a typo, unxz is provided by xz

* Thu Apr 30 2015 Petr Pisar <ppisar@redhat.com> - 1:0.74-2
- Prefer Archive::Tar (bug #1217352)

* Fri Nov 21 2014 Petr Pisar <ppisar@redhat.com> - 1:0.74-1
- 0.74 bump

* Wed Aug 27 2014 Jitka Plesnikova <jplesnik@redhat.com> - 1:0.72-3
- Perl 5.20 rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.72-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu Jan 30 2014 Petr Pisar <ppisar@redhat.com> - 1:0.72-1
- 0.72 bump

* Mon Nov 18 2013 Petr Pisar <ppisar@redhat.com> - 1:0.70-1
- 0.70 bump

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.68-291
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Mon Jul 15 2013 Petr Pisar <ppisar@redhat.com> - 1:0.68-290
- Increase release to favour standalone package

* Fri Jul 12 2013 Petr Pisar <ppisar@redhat.com> - 1:0.68-3
- Perl 5.18 rebuild

* Tue May 28 2013 Petr Pisar <ppisar@redhat.com> - 1:0.68-2
- Correct typo in dependencies

* Fri Mar 15 2013 Petr Pisar <ppisar@redhat.com> - 1:0.68-1
- 0.68 bump

* Mon Feb 11 2013 Petr Pisar <ppisar@redhat.com> 0.66-1
- Specfile autogenerated by cpanspec 1.78.