Переглянути джерело

* perl: {site,vendor}lib path changes (VineSeed:024756)

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@5843 ec354946-7b23-47d6-9f5a-488ba84defc7
shaolin 12 роки тому
батько
коміт
d16f4d61f8
1 змінених файлів з 48 додано та 8 видалено
  1. 48 8
      p/perl/perl-vl.spec

+ 48 - 8
p/perl/perl-vl.spec

@@ -12,7 +12,7 @@
 %define new_perl %{new_perl_flags} $RPM_BUILD_ROOT/%{_bindir}/perl
 
 %define perl_version 5.12.3
-%define perlrel 3
+%define perlrel 5
 %define perl_epoch 2
 
 Provides: perl(:WITH_PERLIO)
@@ -126,6 +126,11 @@ Patch1010:        perl-5.10.0-x86_64-io-test-failure.patch
 # Do not leak when destroying thread; RT #77352, RHBZ #630667
 Patch1011: perl-5.12.1-fix_thread_leak.patch
 
+## security
+# CVE-2011-1487
+# based http://perl5.git.perl.org/perl.git/commitdiff/539689e74a3bcb04d29e4cd9396de91a81045b99
+Patch2001: perl-5.12.3-CVE-2011-1487.patch
+
 Buildroot:    %{_tmppath}/%{name}-%{version}-root
 BuildRequires:  gawk, grep, tcsh, gdbm-devel, db4-devel
 BuildRequires:  rpm-devel, gpm-devel, ncurses-devel, zlib-devel, netpbm-devel
@@ -258,6 +263,10 @@ Perl library directories in /usr/local
 %patch1010 -p1
 %patch1011 -p1
 
+## security patch(es)
+# CVE-2011-1487
+%patch2001 -p1
+
 # Compress Changes* to save space
 %{__gzip} Changes*
 
@@ -285,9 +294,32 @@ find . -name \*.orig -exec rm -fv {} \;
 
 # Oh, the irony. Perl generates some non-versioned provides we don't need.
 # Each of these has a versioned provide, which we keep.
+%if %{_dist_release} > "vl6"
+%global __provides_exclude %{?__provides_exclude:__provides_exclude|}^perl\\(Carp\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(DynaLoader\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(Locale::Maketext\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(Log::Message::Handlers\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(Math::BigInt\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(Net::Config\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(Tie::Hash\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(bigint\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(bigrat\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(bytes\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(utf8\\)$
+%global __provides_exclude %__provides_exclude|^perl\\(DB\\)$
+#
+%global __requires_exclude %{?__requires_exclude:__requires_exclude|}^perl\\(DBIx::Simple\\)
+%global __requires_exclude %__requires_exclude|^perl\\(FCGI\\)
+%global __requires_exclude %__requires_exclude|^perl\\(Log::Message::Handlers\\)
+%global __requires_exclude %__requires_exclude|^perl\\(Mac::BuildTools\\)
+%global __requires_exclude %__requires_exclude|^perl\\(Mac::InternetConfig\\)
+%global __requires_exclude %__requires_exclude|^perl\\(Tk\\)
+%global __requires_exclude %__requires_exclude|^perl\\(Tk::Pod\\)
+%global __requires_exclude %__requires_exclude|^perl\\(Your::Module::Here\\)
+%else
 cat << EOF > perl-prov
 #!/bin/sh
-%{__perl_provides} $* |\
+/usr/lib/rpm/perl.prov $* |\
     sed -e '/^perl(Carp)$/d' |\
     sed -e '/^perl(DynaLoader)$/d' |\
     sed -e '/^perl(Locale::Maketext)$/d' |\
@@ -304,6 +336,7 @@ cat << EOF > perl-prov
 EOF
 %define __perl_provides %{_builddir}/%{name}-%{perl_version}/perl-prov
 chmod +x %{__perl_provides}
+%endif
 
 # Configure Compress::Zlib to use system zlib
 sed -i 's|BUILD_ZLIB      = True|BUILD_ZLIB      = False|
@@ -336,9 +369,9 @@ echo "RPM Build arch: %{_arch}"
         -Dprefix=%{_prefix} \
 %ifarch %{multilib_64_archs}
         -Dlibpth="/lib64 %{_prefix}/lib64" \
-        -Dprivlib="%{_libdir}/perl5/%{perl_version}" \
-        -Dsitelib="%{_libdir}/perl5/site_perl/%{perl_version}" \
-        -Dvendorlib="%{_libdir}/perl5/vendor_perl/%{perl_version}" \
+        -Dprivlib="%{_prefix}/lib/perl5/%{perl_version}" \
+        -Dsitelib="%{_prefix}/lib/perl5/site_perl/%{perl_version}" \
+        -Dvendorlib="%{_prefix}/lib/perl5/vendor_perl/%{perl_version}" \
         -Darchlib="%{_libdir}/perl5/%{perl_version}/%{perl_archname}" \
         -Dsitearch="%{_libdir}/perl5/site_perl/%{perl_version}/%{perl_archname}" \
         -Dvendorarch="%{_libdir}/perl5/vendor_perl/%{perl_version}/%{perl_archname}" \
@@ -369,7 +402,7 @@ echo "RPM Build arch: %{_arch}"
         -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto \
         -Ud_endservent_r_proto -Ud_setservent_r_proto \
 %ifarch %{multilib_64_archs}
-	-Dotherlibdirs="%{_prefix}/lib/perl5/%{perl_version}:%{_prefix}/lib/perl5/vendor_perl/%{perl_version}:%{_prefix}/lib/perl5/vendor_perl:%{_prefix}/lib/perl5/site_perl/%{perl_version}:%{_prefix}/lib/perl5/site_perl:%{_prefix}/local/lib/site_perl:%{_prefix}/local/lib64/site_perl" \
+	-Dotherlibdirs="%{_libdir}/perl5/%{perl_version}:%{_libdir}/perl5/vendor_perl/%{perl_version}:%{_libdir}/perl5/vendor_perl:%{_libdir}/perl5/site_perl/%{perl_version}:%{_libdir}/perl5/site_perl:%{_prefix}/local/lib/site_perl:%{_prefix}/local/lib64/site_perl" \
 %else
         -Dotherlibdirs="%{_prefix}/local/lib/site_perl" \
 %endif
@@ -450,8 +483,8 @@ pushd $RPM_BUILD_ROOT/%{_libdir}/perl5/%{perl_version}/CGI/examples/
 popd
 
 # miniperl? As an interpreter? How odd.
-sed -i 's|./miniperl|%{_bindir}/perl|' $RPM_BUILD_ROOT/%{_libdir}/perl5/%{perl_version}/ExtUtils/xsubpp
-chmod +x $RPM_BUILD_ROOT/%{_libdir}/perl5/%{perl_version}/ExtUtils/xsubpp
+sed -i 's|./miniperl|%{_bindir}/perl|' $RPM_BUILD_ROOT/%{_prefix}/lib/perl5/%{perl_version}/ExtUtils/xsubpp
+chmod +x $RPM_BUILD_ROOT/%{_prefix}/lib/perl5/%{perl_version}/ExtUtils/xsubpp
 
 # Don't need the .packlist
 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{perl_version}/%{perl_archname}/.packlist
@@ -516,6 +549,13 @@ make test
 %dir %{_prefix}/local/lib/site_perl/%{perl_version}/%{_arch}-%{_os}%{thread_arch}
 
 %changelog
+* Mon Mar 05 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 5.12.3-5
+- fix vendorlib/sitelib paths (so that building noarch Perl module will
+  always go into library paths whith starts with /usr/lib on x86_64 archs)
+
+* Sun Aug  7 2011 IWAI, Masaharu <iwai@alib.jp> 5.12.3-4
+- fix CVE-2011-1487 (Patch2001): based upstream patch
+
 * Sat Mar 26 2011 IWAI, Masaharu <iwai@alib.jp> 5.12.3-3
 - add Requires: groff: for perldoc(1)
 - drop Obsoletes: perl-MD5