%define threading 1 %define largefiles 1 %define suidperl 1 %define multilib_64_archs x86_64 s390x ppc64 sparc64 %define perlver 5.8.0 %define perlrel 98.EL3.%{mysig} %define perlepoch 2 %define cpanver 1.61 %define dbfilever 1.806 %define cgiver 2.89 %{?!perl_debugging: %define perl_debugging 0} %if %{perl_debugging} %define debug_package %{nil} %endif Provides: perl(:WITH_PERLIO) %if %{threading} %define thread_arch -thread-multi Provides: perl(:WITH_ITHREADS) Provides: perl(:WITH_THREADS) %else %define thread_arch %{nil} Provides: perl(:WITHOUT_ITHREADS) Provides: perl(:WITHOUT_THREADS) %endif %define perlmodcompat 5.8.0 Provides: perl(:MODULE_COMPAT_5.8.0) %if %{largefiles} Provides: perl(:WITH_LARGEFILES) %else Provides: perl(:WITHOUT_LARGEFILES) %endif Provides: perl(Carp::Heavy) Summary: The Perl programming language. Name: perl Version: %{perlver} Release: %{perlrel} Epoch: %{perlepoch} License: Artistic Group: Development/Languages Source0: ftp://ftp.perl.org/pub/perl/CPAN/src/perl-%{perlver}.tar.bz2 Source1: clean-manifest.pl Source5: MANIFEST.CPAN Source6: MANIFEST.CGI Source7: MANIFEST.DB_File Source9: MANIFEST.suidperl Source10: system-owned-directories Source11: filter-depends.sh Source12: perl-5.8.0-libnet.cfg # Milan Kerslager # update to latest version (for OpenWebMail) Source99: MIME-Base64-3.07.tar.gz # Patch1: perl-5.6.0-installman.patch # Patch2: perl5.005_03-db1.patch # Patch3: perl-5.6.0-nodb.patch Patch4: perl-5.6.1-prereq.patch Patch5: perl-5.6.0-root.patch Patch6: perl-5.8.0-fhs.patch Patch7: perl-5.6.0-buildroot.patch Patch8: perl-5.8.0-errno.patch Patch9: perl-5.7.3-syslog.patch Patch13: perl-5.8.3-perlbug-tag.patch %define __perl_requires %{SOURCE11} # Conflicts: perl-NDBM_File <= 1:1.75-34.99.6 Obsoletes: perl-Digest-MD5 Obsoletes: perl-MIME-Base64 Obsoletes: perl-libnet Obsoletes: perl-Storable # Configure doesn't listen well when we say no ndbm. When it links in, it then conflicts with berkeley db. oops. Patch16: perl-5.8.0-nondbm.patch # make sure we get the proper ldflags on libperl.so Patch17: perl-5.8.0-sharedlinker.patch # perl 5.8.0 likes to use man3ext for BOTH directories AND files. not kosher. Patch18: perl-5.8.0-manext.patch # lynx is depracated, use links instead Patch19: perl-5.8.0-links.patch # work around annoying rpath issue Patch21: perl-5.8.0-rpath-make.patch # fix h2ph test - upstream patches make it emit 'my', not 'local': Patch22: perl-5.8.0-new_h2ph_output.patch # arch-specific patches Patch100: perl-5.8.0-s390.patch Patch101: perl-5.8.0-libdir64.patch # module updates Patch202: perl-5.8.0-Safe2.09.patch Patch203: perl-5.8.0-CGI2.89.patch # security patches Patch1000: perl-5.8.0-cssfix.patch Patch1001: perl-5.8.0-CGI-encoded-path.patch # CAN-2004-0452: Patch1002: perl-5.8.0-rmtree.patch # CAN-2005-0155-0156: Patch1003: perl-5.8.0-bug33990.patch # Patch1004: perl-5.8.0-CAN-2005-0448-rmtree.patch # Patch1005: perl-5.8.0-CAN-2004-0976.patch # # pseudo-official module updates (mostly from cvs, etc) # Patch300: perl-5.8.0-makemaker-prefix.patch # upstream patches Patch17649: perl-5.8.0-upstream-17649.patch Patch18079: perl-5.8.0-upstream-18079.patch Patch18080: perl-5.8.0-upstream-18080.patch Patch18081: perl-5.8.0-upstream-18081.patch Patch18082: perl-5.8.0-upstream-18082.patch Patch18087: perl-5.8.0-upstream-18087.patch Patch18089: perl-5.8.0-upstream-18089.patch Patch18095: perl-5.8.0-upstream-18095.patch Patch18096: perl-5.8.0-upstream-18096.patch Patch18097: perl-5.8.0-upstream-18097.patch Patch18098: perl-5.8.0-upstream-18098.patch Patch18100: perl-5.8.0-upstream-18100.patch Patch18101: perl-5.8.0-upstream-18101.patch Patch18103: perl-5.8.0-upstream-18103.patch Patch18104: perl-5.8.0-upstream-18104.patch Patch18110: perl-5.8.0-upstream-18110.patch Patch18111: perl-5.8.0-upstream-18111.patch Patch18112: perl-5.8.0-upstream-18112.patch Patch18126: perl-5.8.0-upstream-18126.patch Patch18127: perl-5.8.0-upstream-18127.patch Patch18128: perl-5.8.0-upstream-18128.patch Patch18129: perl-5.8.0-upstream-18129.patch Patch18130: perl-5.8.0-upstream-18130.patch Patch18131: perl-5.8.0-upstream-18131.patch Patch18132: perl-5.8.0-upstream-18132.patch Patch18133: perl-5.8.0-upstream-18133.patch Patch18134: perl-5.8.0-upstream-18134.patch Patch18143: perl-5.8.0-upstream-18143.patch Patch18144: perl-5.8.0-upstream-18144.patch Patch18145: perl-5.8.0-upstream-18145.patch Patch18146: perl-5.8.0-upstream-18146.patch Patch18153: perl-5.8.0-upstream-18153.patch Patch18155: perl-5.8.0-upstream-18155.patch Patch18156: perl-5.8.0-upstream-18156.patch Patch18173: perl-5.8.0-upstream-18173.patch Patch18174: perl-5.8.0-upstream-18174.patch Patch18187: perl-5.8.0-upstream-18187.patch Patch18189: perl-5.8.0-upstream-18189.patch Patch18190: perl-5.8.0-upstream-18190.patch Patch18191: perl-5.8.0-upstream-18191.patch Patch18192: perl-5.8.0-upstream-18192.patch Patch18197: perl-5.8.0-upstream-18197.patch Patch18202: perl-5.8.0-upstream-18202.patch Patch18204: perl-5.8.0-upstream-18204.patch Patch18205: perl-5.8.0-upstream-18205.patch Patch18206: perl-5.8.0-upstream-18206.patch Patch18207: perl-5.8.0-upstream-18207.patch Patch18208: perl-5.8.0-upstream-18208.patch Patch18209: perl-5.8.0-upstream-18209.patch Patch18210: perl-5.8.0-upstream-18210.patch Patch18211: perl-5.8.0-upstream-18211.patch Patch18214: perl-5.8.0-upstream-18214.patch Patch18215: perl-5.8.0-upstream-18215.patch Patch18218: perl-5.8.0-upstream-18218.patch Patch18219: perl-5.8.0-upstream-18219.patch Patch18227: perl-5.8.0-upstream-18227.patch Patch18234: perl-5.8.0-upstream-18234.patch Patch18235: perl-5.8.0-upstream-18235.patch Patch18236: perl-5.8.0-upstream-18236.patch Patch18241: perl-5.8.0-upstream-18241.patch Patch18242: perl-5.8.0-upstream-18242.patch Patch18243: perl-5.8.0-upstream-18243.patch Patch18247: perl-5.8.0-upstream-18247.patch Patch18248: perl-5.8.0-upstream-18248.patch Patch18252: perl-5.8.0-upstream-18252.patch Patch18253: perl-5.8.0-upstream-18253.patch Patch18254: perl-5.8.0-upstream-18254.patch Patch18255: perl-5.8.0-upstream-18255.patch Patch18256: perl-5.8.0-upstream-18256.patch Patch18257: perl-5.8.0-upstream-18257.patch Patch18258: perl-5.8.0-upstream-18258.patch Patch18271: perl-5.8.0-upstream-18271.patch Patch18273: perl-5.8.0-upstream-18273.patch Patch18274: perl-5.8.0-upstream-18274.patch Patch18275: perl-5.8.0-upstream-18275.patch Patch18276: perl-5.8.0-upstream-18276.patch Patch18286: perl-5.8.0-upstream-18286.patch Patch18289: perl-5.8.0-upstream-18289.patch Patch18290: perl-5.8.0-upstream-18290.patch Patch18291: perl-5.8.0-upstream-18291.patch Patch18293: perl-5.8.0-upstream-18293.patch Patch18294: perl-5.8.0-upstream-18294.patch Patch18295: perl-5.8.0-upstream-18295.patch Patch18296: perl-5.8.0-upstream-18296.patch Patch18297: perl-5.8.0-upstream-18297.patch Patch18301: perl-5.8.0-upstream-18301.patch Patch18322: perl-5.8.0-upstream-18322.patch Patch18347: perl-5.8.0-upstream-18347.patch Patch18348: perl-5.8.0-upstream-18348.patch Patch18349: perl-5.8.0-upstream-18349.patch Patch18352: perl-5.8.0-upstream-18352.patch Patch18353: perl-5.8.0-upstream-18353.patch Patch18359: perl-5.8.0-upstream-18359.patch Patch18360: perl-5.8.0-upstream-18360.patch Patch18361: perl-5.8.0-upstream-18361.patch Patch18362: perl-5.8.0-upstream-18362.patch Patch18363: perl-5.8.0-upstream-18363.patch Patch18364: perl-5.8.0-upstream-18364.patch Patch18365: perl-5.8.0-upstream-18365.patch Patch18366: perl-5.8.0-upstream-18366.patch Patch18367: perl-5.8.0-upstream-18367.patch Patch18368: perl-5.8.0-upstream-18368.patch Patch18369: perl-5.8.0-upstream-18369.patch Patch18370: perl-5.8.0-upstream-18370.patch Patch18375: perl-5.8.0-upstream-18375.patch Patch18379: perl-5.8.0-upstream-18379.patch Patch18380: perl-5.8.0-upstream-18380.patch Patch18608: perl-5.8.0-upstream-18608.patch Patch18609: perl-5.8.0-upstream-18609.patch # fix bug 171653 with upstream patch 18663 (perl bug 20667): Patch18663: perl-5.8.0-bz171653_up18663.patch Patch32000: perl-5.8.0-protofix.patch Patch32001: perl-5.8.0-pagerfix.patch # fix bug 171055: Patch171055: perl-5.8.0-bz171055.patch # fix bug 172160: Patch172160: perl-5.8.0-bz172160.patch # fix bug 166732 / upstream bug 22375: Patch166732: perl-5.8.0-bz166732_obz22375.patch # fix bug 172256: Patch172256: perl-h2ph-5.8.0-5.8.7.patch # fix bug 165078: Patch165078: perl-5.8.0-bz165078.patch # fix bug 172315: Patch172315: perl-5.8.0-bz172315.patch # fix bug 172317 / upstream bug 37535: Patch172317: perl-5.8.0-bz172317_obz37535.patch # fix the fix for bug 171055: t/op/write.t failed Patch1710550: perl-5.8.0-171055_write_t.patch Patch409760: perl-5.8.0-CAN-2004-0976-2.patch Patch147946: perl-5.8.0-bz147946.patch Patch145215: perl-5.8.0-bz145215_obz28938.patch Patch137075: perl-5.8.0-bz137075_obz24846.patch Patch135975: perl-5.8.0-bz135975_obz17757.patch Patch123176: perl-5.8.0-bz123176_obz24061.patch Patch99093: perl-5.8.0-bz99093_obz22965.patch Patch136009: perl-5.8.0-MM_Unix-bz136009.patch Patch174717: perl-5.8.0-CVE-2005-3962-bz174717.patch Patch24: perl-5.8.0-fix_find_tests.patch Patch136325: perl-5.8.0-CVE-2004-0976-2.patch Patch179139: perl-5.8.0-bz179139.patch Patch185241: perl-5.8.0-bz185241.patch Patch185623: perl-5.8.0-bz185623_obz18711.patch Patch186250: perl-5.8.0-bz186250.patch Patch122378: perl-5.8.0-bz122378_fix_utf8_require_context.patch Patch185406: perl-5.8.0-bz185406.patch Patch030618: perl-5.8.0-CVE-2003-0618.patch Patch192140: perl-5.8.0-bz192140_B_Deparse.patch Patch323571: perl-5.8.0-bz323571.patch Patch25: perl-5.8.0-disable_test_hosts.patch Patch323572: perl-5.8.0-CVE-2008-1927.patch Buildroot: %{_tmppath}/%{name}-root BuildRequires: bash, gcc, binutils, make, gawk, grep, tcsh, gdbm-devel, db4-devel, dos2unix # required for perl headers: BuildRequires: glibc-headers, glibc-kernheaders BuildRequires: elfutils-devel, gdbm-devel, gpm-devel, libjpeg-devel BuildRequires: libpng-devel, libtiff-devel, ncurses-devel, popt BuildRequires: zlib-devel, e2fsprogs-devel, pam-devel, rpm-devel # By definition of 'do' (see 'man perlfunc') this package provides all # versions of perl previous to it. Provides: perl <= %{epoch}:%{version} # These provides are needed by the perl pkg itself with auto-generated perl.req Provides: perl(VMS::Filespec) Provides: perl(VMS::Stdio) # XXX needed by perl-libnet Provides: perl(Mac::Files) # XXX needed by perl-CGI Provides: perl(FCGI) Provides: perl(abbrev.pl) Provides: perl(assert.pl) Provides: perl(bigfloat.pl) Provides: perl(bigint.pl) Provides: perl(bigrat.pl) Provides: perl(bytes_heavy.pl) Provides: perl(cacheout.pl) Provides: perl(complete.pl) Provides: perl(ctime.pl) Provides: perl(dotsh.pl) Provides: perl(dumpvar.pl) Provides: perl(exceptions.pl) Provides: perl(fastcwd.pl) Provides: perl(find.pl) Provides: perl(finddepth.pl) Provides: perl(flush.pl) Provides: perl(ftp.pl) Provides: perl(getcwd.pl) Provides: perl(getopt.pl) Provides: perl(getopts.pl) Provides: perl(hostname.pl) Provides: perl(importenv.pl) Provides: perl(look.pl) Provides: perl(newgetopt.pl) Provides: perl(open2.pl) Provides: perl(open3.pl) Provides: perl(perl5db.pl) Provides: perl(pwd.pl) Provides: perl(shellwords.pl) Provides: perl(stat.pl) Provides: perl(syslog.pl) Provides: perl(tainted.pl) Provides: perl(termcap.pl) Provides: perl(timelocal.pl) Provides: perl(utf8_heavy.pl) Provides: perl(validate.pl) # These modules appear to be missing or break assumptions made by the # dependency analysis tools. Typical problems include refering to # CGI::Apache as Apache and having no package line in CPAN::Nox.pm. I # hope that the perl people fix these to work with our dependency # engine or give us better dependency tools. # # Provides: perl(Apache) # Provides: perl(ExtUtils::MM_Mac) # Provides: perl(ExtUtils::XSSymSet) # Provides: perl(LWP::UserAgent) # Provides: perl(URI::URL) %description Perl is a high-level programming language with roots in C, sed, awk and shell scripting. Perl is good at handling processes and files, and is especially good at handling text. Perl's hallmarks are practicality and efficiency. While it is used to do a lot of different things, Perl's most common applications are system administration utilities and web programming. A large proportion of the CGI scripts on the web are written in Perl. You need the perl package installed on your system so that your system can handle Perl scripts. Install this package if you want to program in Perl or enable your system to handle Perl scripts. %package CPAN Version: %{cpanver} Release: %{perlrel} Summary: CPAN module for Perl Group: Development/Languages Requires: perl >= %{perlepoch}:%{perlver}-%{perlrel} %description CPAN CPAN modules for Perl %package CGI Version: %{cgiver} Release: %{perlrel} Summary: CGI modules for Perl Group: Development/Languages Requires: perl >= %{perlepoch}:%{perlver}-%{perlrel} %description CGI CGI modules for Perl %package DB_File Version: %{dbfilever} Release: %{perlrel} Summary: DB_File module for Perl Group: Development/Languages Requires: perl >= %{perlepoch}:%{perlver}-%{perlrel} %description DB_File DB_File modules for Perl %if %{suidperl} %package suidperl Version: %{perlver} Release: %{perlrel} Summary: suidperl, for use with setuid perl scripts Group: Development/Languages Requires: perl = %{perlepoch}:%{perlver}-%{perlrel} %description suidperl suidperl is a setuid binary copy of perl that allows for (hopefully) more secure running of setuid perl scripts. %endif %prep %setup -q # %patch1 -p1 -b .instman # Perl does not have a single entry point to define what db library to use # so the patch below is mostly broken... #%patch2 -p1 # %patch3 -p1 -b .nodb #%patch4 -p1 -b .prereq %patch5 -p1 %patch6 -p1 #%xpatch7 -p1 -b .buildroot %patch8 -p1 %patch9 -p1 #%%patch10 -p1 -b .incs %patch13 -p1 # %xpatch16 -p1 -b .nondbm %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch21 -p1 %patch22 -p1 %patch100 -p1 %ifarch %{multilib_64_archs} %patch101 -p1 %endif %patch202 -p1 %patch203 -p1 %patch1000 -p1 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 %patch1004 -p1 %patch1005 -p1 # this is ugly, but apparently necessary. /usr/bin/dos2unix win32/Makefile win32/makefile.mk README.win32 README.dos jpl/JNI/JNI.xs jpl/JNI/Makefile.PL %patch17649 -p1 %patch18079 -p1 %patch18080 -p1 %patch18081 -p1 %patch18082 -p1 %patch18087 -p1 %patch18089 -p1 %patch18095 -p1 %patch18096 -p1 %patch18097 -p1 %patch18098 -p1 %patch18100 -p1 %patch18101 -p1 %patch18103 -p1 %patch18104 -p1 %patch18110 -p1 %patch18111 -p1 %patch18112 -p1 %patch18126 -p1 %patch18127 -p1 %patch18128 -p1 %patch18129 -p1 %patch18130 -p1 %patch18131 -p1 %patch18132 -p1 %patch18133 -p1 %patch18134 -p1 %patch18143 -p1 %patch18144 -p1 %patch18145 -p1 %patch18146 -p1 %patch18153 -p1 %patch18155 -p1 %patch18156 -p1 %patch18173 -p1 %patch18174 -p1 %patch18187 -p1 %patch18189 -p1 %patch18190 -p1 %patch18191 -p1 %patch18192 -p1 %patch18197 -p1 %patch18202 -p1 %patch18204 -p1 %patch18205 -p1 %patch18206 -p1 %patch18207 -p1 %patch18208 -p1 %patch18209 -p1 %patch18210 -p1 %patch18211 -p1 %patch18214 -p1 %patch18215 -p1 %patch18218 -p1 %patch18219 -p1 %patch18227 -p1 %patch18234 -p1 %patch18235 -p1 %patch18236 -p1 %patch18241 -p1 %patch18242 -p1 %patch18243 -p1 %patch18247 -p1 %patch18248 -p1 %patch18252 -p1 %patch18253 -p1 %patch18254 -p1 %patch18255 -p1 %patch18256 -p1 %patch18257 -p1 %patch18258 -p1 %patch18271 -p1 %patch18273 -p1 %patch18274 -p1 %patch18275 -p1 %patch18276 -p1 %patch18286 -p1 %patch18289 -p1 %patch18290 -p1 %patch18291 -p1 %patch18293 -p1 %patch18294 -p1 %patch18295 -p1 %patch18296 -p1 %patch18297 -p1 %patch18301 -p1 %patch18322 -p1 %patch18347 -p1 %patch18348 -p1 %patch18349 -p1 %patch18352 -p1 %patch18353 -p1 %patch18359 -p1 %patch18360 -p1 %patch18361 -p1 %patch18362 -p1 %patch18363 -p1 %patch18364 -p1 %patch18365 -p1 %patch18366 -p1 %patch18367 -p1 %patch18368 -p1 %patch18369 -p1 %patch18370 -p1 %patch18375 -p1 %patch18379 -p1 %patch18380 -p1 %patch18608 -p1 %patch18609 -p1 %patch18663 -p1 %patch32000 -p1 %patch32001 -p1 %patch171055 -p1 %patch172160 -p1 %patch166732 -p1 %patch172256 -p2 %patch165078 -p1 %patch172315 -p1 %patch172317 -p1 %patch1710550 -p1 %patch409760 -p1 %patch147946 -p1 %patch145215 -p1 %patch137075 -p1 %patch135975 -p1 %patch123176 -p1 %patch99093 -p1 %patch136009 -p1 %patch174717 -p1 %patch24 -p1 %patch136325 -p1 %patch179139 -p1 %patch185241 -p1 %patch185623 -p1 %patch186250 -p1 %patch122378 -p1 %patch185406 -p1 %patch030618 -p1 %patch192140 -p1 %patch323571 -p1 %patch323572 -p1 %patch25 -p1 find . -name \*.orig -exec rm -fv {} \; # put new MIME-Base64-3.05.tar.gz to the source tree (Milan Kerslager) tar xzf %{S:99} -C ext/MIME rm -rf ext/MIME/Base64 mv ext/MIME/MIME-Base64-3.07 ext/MIME/Base64 %build echo "RPM Build arch: %{_arch}" [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT # yes; don't use %_libdir so that noarch packages from other OSs # arches work correctly :\ the Configure lines below hardcode lib for # similar reasons. %ifarch %{multilib_64_archs} mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/%{perlver} mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/site_perl/%{perlver} mkdir -p $RPM_BUILD_ROOT/usr/lib/perl5/vendor_perl/%{perlver} %endif sh Configure -des -Doptimize="$RPM_OPT_FLAGS" \ -Dmyhostname=localhost \ -Dperladmin=root@localhost \ -Dcc='%{__cc}' \ -Dcf_by='Red Hat, Inc.' \ -Dinstallprefix=$RPM_BUILD_ROOT%{_prefix} \ -Dprefix=%{_prefix} \ %ifarch %{multilib_64_archs} -Dlibpth="/usr/local/lib64 /lib64 /usr/lib64" \ -Dprivlib="/usr/lib/perl5/%{version}" \ -Dsitelib="/usr/lib/perl5/site_perl/%{version}" \ -Dvendorlib="/usr/lib/perl5/vendor_perl/%{version}" \ -Darchlib="%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch}" \ -Dsitearch="%{_libdir}/perl5/site_perl/%{perlver}" \ -Dvendorarch="%{_libdir}/perl5/vendor_perl/%{perlver}/%{_arch}-%{_os}%{thread_arch}" \ %endif -Darchname=%{_arch}-%{_os} \ %ifarch sparc -Ud_longdbl \ %endif -Dvendorprefix=%{_prefix} \ -Dsiteprefix=%{_prefix} \ -Dotherlibdirs=/usr/lib/perl5/%{perlver} \ -Duseshrplib \ %if %threading -Dusethreads \ -Duseithreads \ %else -Uusethreads \ -Uuseithreads \ %endif %if %largefiles -Duselargefiles \ %else -Uuselargefiles \ %endif -Dd_dosuid \ -Dd_semctl_semun \ -Di_db \ -Ui_ndbm \ -Di_gdbm \ -Di_shadow \ -Di_syslog \ -Dman3ext=3pm \ -Duseperlio \ -Dinstallusrbinperl \ -Ubincompat5005 \ -Uversiononly \ -Dpager='/usr/bin/less -isr' \ -Dinc_version_list='%{perlmodcompat}' make -f Makefile make -f Makefile test # || /bin/true %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} make install -f Makefile pushd $RPM_BUILD_ROOT/%{_libdir}/perl5 for i in %{perlmodcompat}; do mkdir -pm 755 $i/%{_arch}-%{_os}%{thread_arch}/CORE mkdir -pm 755 $i/%{_arch}-%{_os}%{thread_arch}/auto done popd %ifarch %{multilib_64_archs} mkdir -p ${RPM_BUILD_ROOT}/usr/lib64/perl5/vendor_perl/%{perlver}/%{_arch}-%{_os} %endif mkdir -p ${RPM_BUILD_ROOT}%{_bindir} install -m 755 utils/pl2pm ${RPM_BUILD_ROOT}%{_bindir}/pl2pm [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress %define new_perl_lib $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver} %define new_arch_lib $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch} %define new_perl_flags LD_LIBRARY_PATH=%{new_arch_lib}/CORE PERL5LIB=%{new_perl_lib} %define new_perl %{new_perl_flags} $RPM_BUILD_ROOT/%{_bindir}/perl %define new_h2ph %{new_perl} $RPM_BUILD_ROOT/%{_bindir}/h2ph -Q -a -d ${RPM_BUILD_ROOT}%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch} %define redirect_out "'>/dev/null 2>&1 || :;'" %define h2ph_cmd "'LD_LIBRARY_PATH='%{new_arch_lib}/CORE' PERL5LIB='%{new_perl_lib}' '$RPM_BUILD_ROOT/%{_bindir}/perl' '$RPM_BUILD_ROOT/%{_bindir}/h2ph' -Q -a -d '${RPM_BUILD_ROOT}%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch}' '%{redirect_out}" # Remove references to build root from Config.pm : %{new_perl} -p -i -e "s|${RPM_BUILD_ROOT}||g;" %{new_arch_lib}/Config.pm; # Generate perl headers: # (let's err on the side of excess rather than deficiency :-) # # C Standard Headers: ( gccDir=`LC_ALL=C gcc -print-search-dirs | sed -n '/install\:/{s/^.*\ //;p}'`include; cd $gccDir; %{new_h2ph} *.h >/dev/null 2>&1 || :; ); # Every header that might be included by a perl program and that # was meant to be shipped in previous versions: ( rpm -ql \ glibc-headers glibc-kernheaders binutils elfutils-devel \ gdbm-devel gpm-devel libjpeg-devel \ libpng-devel libtiff-devel ncurses-devel popt \ zlib-devel e2fsprogs-devel pam-devel \ rpm-devel | egrep '\.h$' ) | ( h2ph_cmd="%{h2ph_cmd}"; %{new_perl} -e '$cmd=$ENV{h2ph_cmd}; $clen=length($cmd); $len=$clen; $cmd=""; while(<>) { $_=~s/\n$/ /; $_=~s|^'%{_includedir}/'||; $len += length($_); if( $len > 131072 ){ print $cmd,"\n"; $cmd=""; $len=$clen; }; $cmd .= $_; }; print $cmd,"\n";' ) | ( cd %{_includedir}; while read f; do %{new_h2ph} $f >/dev/null 2>&1 || :; done ); # for i in %{perlver} %{perlmodcompat} ; do mkdir -pm 755 $RPM_BUILD_ROOT%{_libdir}/perl5/site_perl/$i/%{_arch}-%{_os}%{thread_arch}/auto mkdir -pm 755 $RPM_BUILD_ROOT%{_libdir}/perl5/vendor_perl/$i/%{_arch}-%{_os}%{thread_arch}/auto done # Custom libnet.cfg: mkdir -p $RPM_BUILD_ROOT/%{_libdir}/perl5/5.8.0/Net install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT/%{_libdir}/perl5/5.8.0/Net/libnet.cfg # Remove conflicts with separate perl-Filter package (ONLY!): rm -rf $RPM_BUILD_ROOT{{%{_libdir},/usr/lib}/perl5/%{perlver}/{,%{_arch}-%{_os}%{thread_arch}{,/auto}}/Filter,%{_mandir}/man3/Filter::*} || :; # Remove conflicts with separate perl-Time-HiRes package (ONLY!): rm -rf $RPM_BUILD_ROOT{{%{_libdir},/usr/lib}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch}{,/auto}/Time,%{_mandir}/man3/Time::HiRes*} || :; # Remove obsolete NDBM modules: find $RPM_BUILD_ROOT -name '*NDBM*' | xargs rm -rfv # build MANIFEST.all find $RPM_BUILD_ROOT -type f -or -type l > MANIFEST.all find $RPM_BUILD_ROOT -type d -printf "%%%%dir %p\n" >> MANIFEST.all %{new_perl} -i -p -e "s|$RPM_BUILD_ROOT||g;" MANIFEST.all cp MANIFEST.all /tmp for i in %{SOURCE5} %{SOURCE6} %{SOURCE7} %{SOURCE10} do %{new_perl} %{SOURCE1} %{_arch} $i MANIFEST.all MANIFEST.all.tmp %{_libdir} %{thread_arch} mv MANIFEST.all.tmp MANIFEST.all done %if %{suidperl} %{new_perl} %{SOURCE1} %{_arch} %{SOURCE9} MANIFEST.all MANIFEST.all.tmp %{_libdir} %{thread_arch} mv MANIFEST.all.tmp MANIFEST.all %endif # fix the rest of the stuff find $RPM_BUILD_ROOT%{_libdir}/perl* -name .packlist -o -name perllocal.pod | \ %{new_perl_flags} xargs $RPM_BUILD_ROOT/%{_bindir}/perl -I lib/ -i -p -e "s|$RPM_BUILD_ROOT||g;" MANIFEST.all %if %{perl_debugging} exit 0 %endif %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %files -f MANIFEST.all %defattr(-,root,root) %config %{_libdir}/perl5/5.8.0/Net/libnet.cfg %files -f %{SOURCE5} CPAN %defattr(-,root,root) %files -f %{SOURCE6} CGI %defattr(-,root,root) %files -f %{SOURCE7} DB_File %defattr(-,root,root) %if %{suidperl} %files -f %{SOURCE9} suidperl %defattr(-,root,root) %endif %changelog * Sun Jun 22 2008 Milan Kerslager - 2:5.8.0-98.ker.rhel3 - update to MIME-Base64-3.07 for OpenWebMail * Thu Jun 5 2008 Marcela Maslanova - 2:5.8.0-98 - CVE-2008-1927 perl: double free on regular expressions with utf8 characters - Resolves: rhbz#449320 * Mon Oct 22 2007 Robin Norwood - 2:5.8.0-97 - Resolves: bug#323791 - fix previous patch * Wed Oct 10 2007 Robin Norwood - 2:5.8.0-96 - Resolves: bug#323781 - fix regular expression UTF parsing errors - Also include disable_test_hosts patch so builds work * Mon Nov 27 2006 Robin Norwood - 2:5.8.0-95 - Resolves: bug#217300 - add Provides: perl(:MODULE_COMPAT_5.8.0) like RHEL4 and subsequent versions * Fri May 19 2006 Jason Vas Dias - 2:5.8.0-94.EL3 - fix bug 192140 / upstream bug 38214: B::Deparse failure on assignment with split - apply patch contributed by John Fautley of GES * Mon Apr 24 2006 Jason Vas Dias - 2:5.8.0-93.EL3 - fix minor security issue CVE-2003-0618: suidperl could be used to reveal locations of files in hidden directories - fix perl header file generation * Thu Mar 23 2006 Jason Vas Dias - 2:5.8.0-92.0 - fix bug 122278: prevent utf8.c's Perl_swash_init() from changing active namespace (so now Class::Loader works with UTF-8 enabled). This should be the last UTF-8 issue! * Wed Mar 22 2006 Jason Vas Dias - 2:5.8.0-91.0 - fix bug 186250: backport undef checks from Encode.pm v2.12 to v1.83 * Thu Mar 16 2006 Jason Vas Dias - 2:5.8.0-90.9 - fix bug 185623: files open for append must do lseek(fd,0,SEEK_END) * Tue Mar 14 2006 Jason Vas Dias - 2:5.8.0-90.8 - fix bug 185241: restore ioctl 3rd arg minimum length of 256 - fix bug 84671: cleanup NDBM removal; restore DBM_Filter* . - ship perl headers for /usr/include/asm/ (required by most other headers) * Fri Jan 27 2006 Jason Vas Dias - 2:5.8.0-90.6 - fix bug 179139: fix waitpid() when interrupted by signal * Mon Dec 12 2005 Jason Vas Dias - 2:5.8.0-90.4 - Further enhancements to sprintf integer overflow patch (Upstream patches 26322 26331 and 26333 for CVE-2005-3962 / bz174717 ) - Fix File::Find test script to be independant of dirent order (Patch24) - Fix CVE-2004-0976 / bz136325: fix issues with solardesigner's patch to perldbtty.pl and c2ph.PL, pointed out by Pekka Savola and David Eisenstein * Fri Dec 09 2005 Jason Vas Dias - 2:5.8.0-90.4 - Backport upstream patches 26283 and 26284 : complete, revised fixes for CVE-2005-3962 and CVE-2005-3912 and "Sys::Syslog security vulnerabilities" issues. - Fix bug 136009 / MakeMaker LD_RUN_PATH issue: restore previous default Red Hat behavior of removing the MakeMaker generated LD_RUN_PATH setting from the link command . Document this removal, as it contravenes upstream default behavior, and provide a USE_MM_LD_RUN_PATH MakeMaker member to enable use of the MakeMaker generated LD_RUN_PATH . * Thu Dec 01 2005 Jason Vas Dias - 2:5.8.0-90.3 - fix bug 174717 / CVE-2005-3962: sprintf integer overflow vulnerability backport upstream patch #26240 * Wed Nov 9 2005 Jason Vas Dias - 2:5.8.0-90.2 - fix bug 123176 / upstream bug 24061 / patch 21530: memory leak in shared.xs - fix bug 135975 / upstream bug 17757 / patches 18533, 19210: use of study() could make regexec.c point to wrong string - fix bug 99093 / upstream bug 22965 / patch 20193 - fix .spec file bugs: 130369, 129748 * Tue Nov 8 2005 Jason Vas Dias - 2:5.8.0-90.2 - fix bug 136325: CAN-2004-0976: insecure use of temporary files - fix bug 147946: lib/Pod/Man.pm missing 'return 1' for require - fix bug 145215 / upstream bug 28938 / patch 22774: assigning off the end of the array after a split could leave garbage - fix bug 137075 / upstream bug 24846 / patch 22117: join() reuse of local variable gets utf8-ness wrong * Mon Nov 7 2005 Jason Vas Dias - 2:5.8.0-90.2 - fix bug 161053: CAN-2005-0488: more Path::rmtree vulnerabilites - apply Chip's patches for CGI, CAN-2004-0452, CAN-2005-0155-0156 - All build tests now succeed: - fix the fix for bug 171055: the t/op/write.t format tests failed. Not only 5.8.7's pp_formline() must be ported, but also its doparseform() - now backported as doparseform_chk, and original doparseform retained so as not to break ABI (proto changed). - lib/h2ph.t test failed - upstream patches make it use 'my' not 'local'. * Wed Nov 2 2005 Jason Vas Dias - 2:5.8.0-90.2 - fix bug 165078: POSIX::set[gu]id had no effect - fix bug 172315: panic in Encode.xs on invalid UTF-8 - fix bug 172317 / upstream bug 37535: incorrect IOCPARM_LEN * Tue Nov 1 2005 Jason Vas Dias - 2:5.8.0-90.2 - fix bug 166732 / upstream bug 22375 - no specific upstream patch - backport 5.8.7's sv.c Perl_sv_pos_b2u(...) function - fix bug 172256 : h2ph couldn't handle '\#define's in enums * Mon Oct 31 2005 Jason Vas Dias - 2:5.8.0-90.1 - fix bug 171055 - backport pp_formline() from 5.8.7 - fix bug 172160, rt.perl.org bug 22372, upstream patch 19645 * Thu Oct 27 2005 Jason Vas Dias - 2:5.8.0-89.11 - fix bug 171653, rt.perl.org bug 20667, upstream patch 18663 * Thu Apr 14 2005 Peter Rockai - 2:5.8.0-88.9.1 - test rebuild * Tue Feb 1 2005 Chip Turner - 2:5.8.0-89.10 - bugzilla: 146737 aka CAN-2005-0155, fix buffer overflow and PERLIO_DEBUG flaw * Tue Nov 23 2004 Chip Turner 2:5.8.0-88.10 - bugzilla: 140227, fix potential CGI.pm DOS issue - bugzilla: 140542, fix a race condition in File::Path::rmtree * Tue Oct 5 2004 Chip Turner 2:5.8.0-88.9 - update perlbug patch to also strip the buildtime * Mon Aug 23 2004 Chip Turner 2:5.8.0-88.8 - fix conflicting file when building on x86_64 and i386 * Mon Jun 28 2004 Chip Turner 2:5.8.0-88.5 - integrate upstream patches 18608, 18609 (bugzilla: 112339) - update filter-requires for some new ones that pop in rpm builds * Mon Sep 15 2003 Chip Turner 2:5.8.0-88.4 - rebuild to include security fixes from errata * Tue Aug 12 2003 Chip Turner 2:5.8.0-88.1 - fix for CAN-2003-0615 * Tue Feb 18 2003 Chip Turner - fix MANIFEST.DB_File handling for #83410; problem was unsubstituted %{_libdir} that crept in with multilib * Tue Feb 18 2003 Bill Nottingham 5.8.0-87 - clean up backup files from patches (#82838) * Wed Feb 05 2003 Elliot Lee 5.8.0-86 - Fix up multilib handling to use multilib_64_archs macro, add ppc64. - Patch100 probably makes sense on all archs, and ifarch'd patches are Bad(tm). * Mon Jan 27 2003 Chip Turner - version the Obsoleted on perl-NDBM_File so users can install newer - change the Obsoletes on NDBM_File to a Conflicts ones than what shipped with 7.3, yet still keep anaconda happy * Wed Jan 22 2003 Tim Powers - rebuilt * Thu Jan 9 2003 Chip Turner - rebuild * Sat Jan 4 2003 Jeff Johnson 5.8.0-82 - use internal dep generator. * Thu Jan 2 2003 Chip Turner - fix issue with -Dpager in Pod::Perldoc.pm to properly respect setting once more * Tue Dec 31 2002 Chip Turner - add rpath fix to prevent building perl from using installed system perl - massive re-integration of upstream patches to come to common basis (head of perl-maint branch) * Mon Dec 16 2002 Chip Turner - rebuild * Sun Dec 15 2002 Chip Turner - add numerous upstream patches to fix utf8/perlio issues - upgrade Storable, Safe, and Encoding to latest CPAN versions * Thu Nov 7 2002 Chip Turner - multilib support when building noarch perl modules - integrate upstream bugfix patches * Tue Sep 10 2002 Chip Turner - integrate patch for /usr/lib64 instead of /usr/lib from Than Ngo * Mon Sep 9 2002 Chip Turner - integrate s390/s390x patch from Florian La Roche * Sun Sep 1 2002 Chip Turner - fix pager issues; default to /usr/bin/less -isr - more work on pager bug (72125) * Thu Aug 29 2002 Chip Turner - add a few new directories to h2ph to produce better .ph files * Thu Aug 15 2002 Chip Turner - change from lynx to links in CPAN.pm * Tue Aug 6 2002 Chip Turner - automated release bump and build - remove Filter packages and use CPAN ones * Fri Jul 19 2002 Chip Turner - move to final perl 5.8.0, huzzah! * Tue Jul 16 2002 Chip Turner - update CPAN, CGI, and DB_File versions; obsolete perl-libnet - libnet.cfg supplied, default to passive ftp in all cases * Tue Jun 18 2002 Chip Turner - add patch to ensire libperl.so is linked properly * Mon May 20 2002 Nalin Dahyabhai - always build with -fPIC * Thu May 9 2002 Jeff Johnson - rebuild in rawhide * Sun Mar 31 2002 Chip Turner - split suidperl back out (bug #62215) * Tue Mar 26 2002 Chip Turner - restructuring of some directories, alteration of @INC * Thu Dec 20 2001 Chip Turner - remove ndbm completely * Sun Dec 16 2001 Chip Turner - make rpmlint happy, split out NDBM_File, clean up other spots - stopped doing grep -v etc in favor of custom script * Wed Dec 12 2001 Chip Turner - cleaning up of ia64 issues, as well as compatibility with gcc 3.1 and glibc 2.2.4 * Mon Sep 24 2001 Chip Turner - changing building of extra modules out of the core perl rpm * Mon Sep 17 2001 Chip Turner - upgrade to 5.6.1, added old INC dirs to maintain compat * Fri Mar 23 2001 Preston Brown - bzip2 source, save some space. * Thu Dec 7 2000 Crutcher Dunnavant - initial rebuild for 7.1 * Tue Sep 12 2000 Bill Nottingham - fix dependencies on ia64/sparc64 * Mon Aug 7 2000 Nalin Dahyabhai - replace the deprecated MD5 with Digest::MD5 (has to be here for cleanfeed) - obsolete: perl-Digest-MD5 - use syslog instead of mail to report possible attempts to break into suidperl - force syslog on at build-time * Mon Jul 31 2000 Nalin Dahyabhai - add Owen's fix for #14779/#14863 - specify cc=%{__cc}; continue to let cpp sort itself out - switch shadow support on (#8646) - release 7 * Tue Jul 18 2000 Nalin Dahyabhai - strip buildroot from perl pods (#14040) - release 6 * Wed Jul 12 2000 Prospector - automatic rebuild (release 5) * Wed Jun 21 2000 Preston Brown - don't require tcsh to install, only to build - release 4 * Mon Jun 19 2000 Nalin Dahyabhai - rebuild against new db3 package - release 3 * Sat Jun 17 2000 Nalin Dahyabhai - disable 64-bit file support - change name of package that Perl expects gcc to be in from "egcs" to "gcc" - move man pages to /usr/share via hints/linux.sh and MM_Unix.pm - fix problems prefixifying with empty prefixes - disable long doubles on sparc (they're the same as doubles anyway) - add an Epoch to make sure we can upgrade from perl-5.00503 - release 2 * Thu Mar 23 2000 Bernhard Rosenkraenzer - 2.6.0 * Wed Feb 02 2000 Cristian Gafton - fix description * Fri Jan 14 2000 Jeff Johnson - add provides for perl modules (from kestes@staff.mail.com). * Mon Oct 04 1999 Cristian Gafton - fix the %%install so that the MD5 module gets actually installed correctly * Mon Aug 30 1999 Cristian Gafton - make sure the package builds even when we don't have perl installed on the system * Fri Aug 06 1999 Cristian Gafton - merged with perl-MD5 - get rid of the annoying $RPM_BUILD_ROOT paths in the installed tree * Mon Jul 26 1999 Cristian Gafton - do not link anymore against the system db library (and make each module link against it separately, so that we can have Berkeley db1 and db2 mixed up) * Wed Jun 16 1999 Cristian Gafton - use wildcards for files in /usr/bin and /usr/man * Tue Apr 06 1999 Cristian Gafton - version 5.00503 - make the default man3 install dir be release independent - try to link against db1 to preserve compatibility with older databases; abandoned idea because perl is too broken to allow such an easy change (hardcoded names *everywhere* !!!) * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 3) * Thu Jan 07 1999 Cristian Gafton - guilty of the inlined Makefile in the spec file - adapted for the arm build * Wed Sep 09 1998 Preston Brown - added newer CGI.pm to the build - changed the version naming scheme around to work with RPM * Sun Jul 19 1998 Jeff Johnson - attempt to generate *.ph files reproducibly * Mon Jun 15 1998 Jeff Johnson - update to 5.004_04-m4 (pre-5.005 maintenance release) * Tue Jun 12 1998 Christopher McCrory - added a patch to correct the .ph constructs unless defined (foo) to read unless(defined(foo)) * Thu May 07 1998 Prospector System - translations modified for de, fr, tr * Tue Mar 10 1998 Cristian Gafton - fixed strftime problem * Sun Mar 08 1998 Cristian Gafton - added a patch to fix a security race - do not use setres[ug]id - those are not implemented on 2.0.3x kernels * Mon Mar 02 1998 Cristian Gafton - upgraded to 5.004_04 - 5.004_01 had some nasty memory leaks. - fixed the spec file to be version-independent * Fri Dec 05 1997 Erik Troan - Config.pm wasn't right do to the builtrooting * Mon Oct 20 1997 Erik Troan - fixed arch-specfic part of spec file * Sun Oct 19 1997 Erik Troan - updated to perl 5.004_01 - users a build root * Thu Jun 12 1997 Erik Troan - built against glibc * Tue Apr 22 1997 Erik Troan - Incorporated security patch from Chip Salzenberg * Fri Feb 07 1997 Erik Troan - Use -Darchname=i386-linux - Require csh (for glob) - Use RPM_ARCH during configuration and installation for arch independence