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