a82cae
%global base_version 2.51
a82cae
a82cae
Name:           perl-Storable
a82cae
Epoch:          1
a82cae
Version:        2.56
a82cae
Release:        369%{?dist}
a82cae
Summary:        Persistence for Perl data structures
a82cae
License:        GPL+ or Artistic
a82cae
Group:          Development/Libraries
a82cae
URL:            http://search.cpan.org/dist/Storable/
a82cae
Source0:        http://www.cpan.org/authors/id/A/AM/AMS/Storable-%{base_version}.tar.gz
a82cae
# Unbundled from perl 5.21.11
a82cae
Patch0:         Storable-2.51-Upgrade-to-2.53.patch
a82cae
# Unbundled from perl 5.24.0
a82cae
Patch1:         Storable-2.53-Upgrade-to-2.56.patch
a82cae
# Avoid loading optional modules from default . (CVE-2016-1238)
a82cae
Patch2:         Storable-2.56-CVE-2016-1238-avoid-loading-optional-modules-from.patch
a82cae
# Fix crash in Storable when deserializing malformed code reference, RT#68348,
a82cae
# RT130098
a82cae
Patch3:         perl-5.25.7-Fix-Storable-segfaults.patch
a82cae
# Fix a stack buffer overflow in deserialization of hooks, RT#130635,
a82cae
# fixed in perl after 5.25.9
a82cae
Patch4:         Storable-2.56-Fix-stack-buffer-overflow-in-deserialization-of-hook.patch
a82cae
# Fix a memory leak of a class name from retrieve_hook() on an exception,
a82cae
# RT#130635, fixed in perl after 5.25.9
a82cae
Patch5:         Storable-2.56-prevent-leak-of-class-name-from-retrieve_hook-on-an-.patch
a82cae
BuildRequires:  coreutils
a82cae
BuildRequires:  gcc
a82cae
BuildRequires:  make
a82cae
BuildRequires:  perl
a82cae
BuildRequires:  perl-devel
a82cae
BuildRequires:  perl-generators
a82cae
BuildRequires:  perl(Config)
a82cae
BuildRequires:  perl(ExtUtils::MakeMaker)
a82cae
BuildRequires:  sed
a82cae
# Run-time:
a82cae
# Carp substitutes missing Log::Agent
a82cae
BuildRequires:  perl(Carp)
a82cae
BuildRequires:  perl(Exporter)
a82cae
# Fcntl is optional, but locking is good
a82cae
BuildRequires:  perl(Fcntl)
a82cae
BuildRequires:  perl(IO::File)
a82cae
# Log::Agent is optional
a82cae
BuildRequires:  perl(vars)
a82cae
BuildRequires:  perl(XSLoader)
a82cae
# Tests:
a82cae
BuildRequires:  perl(bytes)
a82cae
BuildRequires:  perl(integer)
a82cae
BuildRequires:  perl(overload)
a82cae
BuildRequires:  perl(utf8)
a82cae
BuildRequires:  perl(Test::More)
a82cae
BuildRequires:  perl(threads)
a82cae
BuildRequires:  perl(Safe)
a82cae
BuildRequires:  perl(Scalar::Util)
a82cae
BuildRequires:  perl(strict)
a82cae
BuildRequires:  perl(warnings)
a82cae
# Optional tests:
a82cae
# Data::Dump not used
a82cae
# Data::Dumper not used
a82cae
BuildRequires:  perl(B::Deparse) >= 0.61
a82cae
BuildRequires:  perl(Digest::MD5)
a82cae
BuildRequires:  perl(File::Spec) >= 0.8
a82cae
BuildRequires:  perl(Hash::Util)
a82cae
BuildRequires:  perl(Tie::Hash)
a82cae
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
a82cae
# Carp substitutes missing Log::Agent
a82cae
Requires:       perl(Carp)
a82cae
Requires:       perl(Config)
a82cae
# Fcntl is optional, but locking is good
a82cae
Requires:       perl(Fcntl)
a82cae
Requires:       perl(IO::File)
a82cae
a82cae
%{?perl_default_filter}
a82cae
a82cae
%description
a82cae
The Storable package brings persistence to your Perl data structures
a82cae
containing scalar, array, hash or reference objects, i.e. anything that
a82cae
can be conveniently stored to disk and retrieved at a later time.
a82cae
a82cae
%prep
a82cae
%setup -q -n Storable-%{base_version}
a82cae
%patch0 -p1
a82cae
%patch1 -p1
a82cae
%patch2 -p1
a82cae
%patch3 -p3
a82cae
%patch4 -p1
a82cae
%patch5 -p1
a82cae
# Remove bundled modules
a82cae
rm -rf t/compat
a82cae
sed -i -e '/^t\/compat\//d' MANIFEST
a82cae
a82cae
%build
a82cae
# Be ware hints/linux.pl removes "-ON" from CFLAGS if N > 2 because it can
a82cae
# break the code.
a82cae
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
a82cae
make %{?_smp_mflags}
a82cae
a82cae
%install
a82cae
make pure_install DESTDIR=$RPM_BUILD_ROOT
a82cae
find $RPM_BUILD_ROOT -type f -name .packlist -delete
a82cae
find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete
a82cae
%{_fixperms} $RPM_BUILD_ROOT/*
a82cae
a82cae
%check
a82cae
make test
a82cae
a82cae
%files
a82cae
%doc ChangeLog README
a82cae
%{perl_vendorarch}/auto/*
a82cae
%{perl_vendorarch}/Storable*
a82cae
%{_mandir}/man3/*
a82cae
a82cae
%changelog
a82cae
* Fri Mar 29 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.56-369
a82cae
- Rebuild with enable hardening (bug #1636329)
a82cae
a82cae
* Mon Feb 06 2017 Petr Pisar <ppisar@redhat.com> - 1:2.56-368
a82cae
- Fix a stack buffer overflow in deserialization of hooks (RT#130635)
a82cae
- Fix a memory leak of a class name from retrieve_hook() on an exception
a82cae
  (RT#130635)
a82cae
a82cae
* Tue Dec 20 2016 Petr Pisar <ppisar@redhat.com> - 1:2.56-367
a82cae
- Fix crash in Storable when deserializing malformed code reference
a82cae
  (RT#68348, RT#130098)
a82cae
a82cae
* Wed Aug 03 2016 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.56-366
a82cae
- Avoid loading optional modules from default . (CVE-2016-1238)
a82cae
a82cae
* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.56-365
a82cae
- Increase release to favour standalone package
a82cae
a82cae
* Wed May 11 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.56-1
a82cae
- 2.56 bump in order to dual-live with perl 5.24
a82cae
a82cae
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.53-347
a82cae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
a82cae
a82cae
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:2.53-346
a82cae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
a82cae
a82cae
* Thu Jun 04 2015 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.53-345
a82cae
- Increase release to favour standalone package
a82cae
a82cae
* Wed Jun 03 2015 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.53-2
a82cae
- Perl 5.22 rebuild
a82cae
a82cae
* Wed May 06 2015 Petr Pisar <ppisar@redhat.com> - 1:2.53-1
a82cae
- 2.53 bump in order to dual-live with perl 5.22
a82cae
a82cae
* Wed Sep 03 2014 Jitka Plesnikova <jplesnik@redhat.com> - 1:2.51-4
a82cae
- Increase Epoch to favour standalone package
a82cae
a82cae
* Tue Aug 26 2014 Jitka Plesnikova <jplesnik@redhat.com> - 2.51-3
a82cae
- Perl 5.20 rebuild
a82cae
a82cae
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.51-2
a82cae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
a82cae
a82cae
* Mon Jul 07 2014 Petr Pisar <ppisar@redhat.com> - 2.51-1
a82cae
- 2.51 bump
a82cae
a82cae
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.45-3
a82cae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
a82cae
a82cae
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.45-2
a82cae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
a82cae
a82cae
* Mon Jul 15 2013 Petr Pisar <ppisar@redhat.com> - 2.45-1
a82cae
- 2.45 bump
a82cae
a82cae
* Fri Jul 12 2013 Petr Pisar <ppisar@redhat.com> - 2.39-3
a82cae
- Link minimal build-root packages against libperl.so explicitly
a82cae
a82cae
* Tue Jun 11 2013 Petr Pisar <ppisar@redhat.com> - 2.39-2
a82cae
- Do not export private libraries
a82cae
a82cae
* Fri May 24 2013 Petr Pisar <ppisar@redhat.com> 2.39-1
a82cae
- Specfile autogenerated by cpanspec 1.78.