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