diff --git a/.gitignore b/.gitignore index 0c191af..9dac23c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -YAML-LibYAML-0.33.tar.gz +/YAML-LibYAML-[0-9.]*.tar.gz diff --git a/YAML-LibYAML-0.35-format-error.patch b/YAML-LibYAML-0.35-format-error.patch new file mode 100644 index 0000000..2b25380 --- /dev/null +++ b/YAML-LibYAML-0.35-format-error.patch @@ -0,0 +1,39 @@ +diff -urbaN YAML-LibYAML-0.35-orig//LibYAML/perl_libyaml.c YAML-LibYAML-0.35/LibYAML/perl_libyaml.c +--- YAML-LibYAML-0.35-orig//LibYAML/perl_libyaml.c 2011-04-03 18:28:08.000000000 +0200 ++++ YAML-LibYAML-0.35/LibYAML/perl_libyaml.c 2011-04-08 09:25:49.633009787 +0200 +@@ -188,7 +188,7 @@ + return; + + load_error: +- croak(loader_error_msg(&loader, NULL)); ++ croak("%s", loader_error_msg(&loader, NULL)); + } + + /* +@@ -271,7 +271,7 @@ + return return_sv; + + load_error: +- croak(loader_error_msg(loader, NULL)); ++ croak("%s", loader_error_msg(loader, NULL)); + } + + /* +@@ -314,7 +314,7 @@ + else if (strlen(tag) <= strlen(prefix) || + ! strnEQ(tag, prefix, strlen(prefix)) + ) croak( +- loader_error_msg(loader, form("bad tag found for hash: '%s'", tag)) ++ "%s", loader_error_msg(loader, form("bad tag found for hash: '%s'", tag)) + ); + class = tag + strlen(prefix); + sv_bless(hash_ref, gv_stashpv(class, TRUE)); +@@ -347,7 +347,7 @@ + else if (strlen(tag) <= strlen(prefix) || + ! strnEQ(tag, prefix, strlen(prefix)) + ) croak( +- loader_error_msg(loader, form("bad tag found for array: '%s'", tag)) ++ "%s", loader_error_msg(loader, form("bad tag found for array: '%s'", tag)) + ); + class = tag + strlen(prefix); + sv_bless(array_ref, gv_stashpv(class, TRUE)); diff --git a/perl-YAML-LibYAML.spec b/perl-YAML-LibYAML.spec index 0b2d0a1..28a77e1 100644 --- a/perl-YAML-LibYAML.spec +++ b/perl-YAML-LibYAML.spec @@ -1,59 +1,117 @@ Name: perl-YAML-LibYAML -Version: 0.33 -Release: 1%{?dist} -Summary: YAML::LibYAML Perl module +Version: 0.38 +Release: 3%{?dist} +Summary: Perl YAML Serialization using XS and libyaml License: GPL+ or Artistic Group: Development/Libraries URL: http://search.cpan.org/dist/YAML-LibYAML/ -Source0: http://www.cpan.org/authors/id/N/NU/NUFFIN/YAML-LibYAML-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: perl(ExtUtils::MakeMaker) -BuildRequires: perl(Test::More) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Source0: http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-LibYAML-%{version}.tar.gz +Patch0: YAML-LibYAML-0.35-format-error.patch +# Install +BuildRequires: perl(Cwd) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Path) +BuildRequires: perl(File::Spec) + +# Module +BuildRequires: perl >= 3:5.8.3 +BuildRequires: perl(B::Deparse) +BuildRequires: perl(base) +BuildRequires: perl(constant) +BuildRequires: perl(Exporter) +BuildRequires: perl(XSLoader) + +# Tests +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(Devel::Peek) +BuildRequires: perl(Scalar::Util) +BuildRequires: perl(Test::Builder) +BuildRequires: perl(Test::Builder::Module) +BuildRequires: perl(Test::More) +BuildRequires: perl(Tie::Array) +BuildRequires: perl(Tie::Hash) + +# Runtime +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) + +# Avoid provides for perl shared objects %{?perl_default_filter} %description -Kirill Siminov's "libyaml" is arguably the best YAML -implementation. The C library is written precisely to the YAML 1.1 -specification. It was originally bound to Python and was later -bound to Ruby. +Kirill Siminov's "libyaml" is arguably the best YAML implementation. The C +library is written precisely to the YAML 1.1 specification. It was originally +bound to Python and was later bound to Ruby. %prep %setup -q -n YAML-LibYAML-%{version} -iconv -f iso8859-1 -t utf-8 < README > README.1 -mv README.1 README +# Fix format string vulnerabilities (CVE-2012-1152, CPAN RT#46507) +%patch0 -p1 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT - -make pure_install DESTDIR=$RPM_BUILD_ROOT - -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; -find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \; -find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \; - -%{_fixperms} $RPM_BUILD_ROOT/* +make pure_install DESTDIR=%{buildroot} +find %{buildroot} -type f -name .packlist -exec rm -f {} \; +find %{buildroot} -type f -name '*.bs' -size 0 -exec rm -f {} \; +%{_fixperms} %{buildroot} %check make test -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root,-) %doc Changes README -%{perl_vendorarch}/auto/* -%{perl_vendorarch}/YAML* -%{_mandir}/man3/* +%{perl_vendorarch}/auto/YAML/ +%{perl_vendorarch}/YAML/ +%{_mandir}/man3/YAML::XS.3pm* +%{_mandir}/man3/YAML::XS::LibYAML.3pm* %changelog +* Mon Jun 11 2012 Petr Pisar - 0.38-3 +- Perl 5.16 rebuild +- Build-require Data::Dumper + +* Thu Mar 29 2012 Paul Howarth - 0.38-2 +- Fix various format string vulnerabilities (CVE-2012-1152, CPAN RT#46507) +- De-duplicate buildreqs, with Module>Install>Tests priority +- Install to vendor directories +- Don't need to remove empty directories from buildroot +- Don't use macros for commands +- Make %%files list more explicit +- Tidy %%description + +* Fri Jan 13 2012 Marcela Mašláňová - 0.38-1 +- Bump to 0.38 + +* Fri Sep 30 2011 Petr Sabata - 0.37-1 +- 0.37 bump +- Remove defattr +- Correct BR + +* Fri Jun 17 2011 Marcela Mašláňová - 0.35-2 +- Perl mass rebuild + +* Mon Apr 04 2011 Petr Sabata - 0.35-1 +- 0.35 bump +- Removing obsolete buildroot stuff + +* Wed Mar 16 2011 Paul Howarth - 0.34-4 +- Improve overly-generic package summary +- README is already UTF-8 encoded in version 0.34 so don't try converting it + +* Wed Feb 09 2011 Fedora Release Engineering - 0.34-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Sep 29 2010 jkeating - 0.34-2 +- Rebuilt for gcc bug 634757 + +* Fri Sep 23 2010 Marcela Mašláňová - 0.34-1 +- update + * Thu Jun 3 2010 Marcela Maslanova - 0.33-1 - update diff --git a/sources b/sources index aaf6a41..0c83e44 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -001a21618af05ee3a12dbb8cd6bd9b13 YAML-LibYAML-0.33.tar.gz +4aadbcf1afcce9ce087f9bffd293e43e YAML-LibYAML-0.38.tar.gz