%define threading 0 %define debugging 0 %if %threading %define thread_arch -thread-multi %else %define thread_arch %{nil} %endif %if %debugging %else # we don't want -g since it turns -DDEBUGGING on %define debugcflags %{nil} %endif %define arch %(echo %{_arch} | sed -e "s/amd64/x86_64/") %define full_arch %{arch}-%{_os}%{thread_arch} # Don't change to %{_libdir} as perl is clean and has arch-dependent subdirs %define perl_root %{_prefix}/lib/perl5 %define subrel 2 Summary: The Perl programming language Name: perl Version: 5.8.8 Release: %mkrel 12 %define rel %{nil} License: GPL or Artistic Group: Development/Perl Url: http://www.perl.org/ Epoch: 2 # ftp://ftp.funet.fi/pub/languages/perl/snap/perl@17574.tbz #ftp://ftp.funet.fi/pub/languages/perl/CPAN/src/perl-%{version}.tar.bz2 # taken from debian Source0: perl-%{version}%{rel}.tar.bz2 Source1: perl-headers-wanted Source2: perl-5.8.0-RC2-special-h2ph-not-failing-on-machine_ansi_header.patch Patch3: perl-5.8.1-RC3-norootcheck.patch Patch6: perl-5.8.8-RC1-fix-LD_RUN_PATH-for-MakeMaker.patch Patch14: perl-5.8.1-RC3-install-files-using-chmod-644.patch Patch15: perl-5.8.3-lib64.patch Patch16: perl-5.8.5-RC1-perldoc-use-nroff-compatibility-option.patch #(peroyvind) use -fPIC in stead of -fpic or else compile will fail on sparc (taken from redhat) Patch21: perl-5.8.1-RC4-fpic-fPIC.patch Patch23: perl-5.8.8-patchlevel.patch Patch24: perl-5.8.4-no-test-fcgi.patch Patch29: perl-5.8.8-rpmdebug.patch Patch32: perl-5.8.7-incversionlist.patch Patch33: perl-5.8.8-26536.patch Patch34: perl-27210 Patch35: perl-27211 Patch36: perl-27359 Patch37: perl-27363 Patch38: perl-donot-defer-sig11.patch Patch39: perlio-encoding.patch Patch40: perl-5.8.8-rh-CVE-2007-5116.patch Patch41: perl-5.8.8-fix_gcc_4.2.2_build.patch Patch42: perl-5.8.8-deb-CVE-2008-1927.patch Buildroot: %{_tmppath}/%{name} Requires: perl-base = %{epoch}:%{version}-%{release} Provides: perl(getopts.pl) Provides: perl(ctime.pl) Provides: perl(flush.pl) Provides: perl(find.pl) Provides: perl(attributes) perl(fields) perl(locale) perl(subs) Provides: perl-MIME-Base64 perl-libnet perl-Storable perl-Digest-MD5 perl-Time-HiRes perl-Locale-Codes perl-Test-Simple perl-Test-Builder-Tester Obsoletes: perl-MIME-Base64 perl-libnet perl-Storable perl-Digest-MD5 perl-Time-HiRes perl-Locale-Codes perl-Test-Simple perl-Test-Builder-Tester Conflicts: perl-Parse-RecDescent < 1.80-6mdk Conflicts: perl-Filter < 1.28-6mdk Conflicts: apache-mod_perl <= 1.3.24_1.26-1mdk %define _requires_exceptions Mac\\|VMS\\|perl >=\\|perl(Errno)\\|perl(Fcntl)\\|perl(IO)\\|perl(IO::File)\\|perl(IO::Socket::INET)\\|perl(IO::Socket::UNIX)\\|perl(Tk)\\|perl(Tk::Pod) # for NDBM BuildRequires: db1-devel BuildRequires: db2-devel BuildRequires: gdbm-devel %if "%{_lib}" == "lib64" BuildRequires: devel(libgdbm_compat(64bit)) %else BuildRequires: devel(libgdbm_compat) %endif BuildRequires: rpm-mandriva-setup-build >= 1.8 BuildRequires: man %package base Version: %{version} Summary: The Perl programming language (base) Provides: perl(v5.6.0) perl(base) perl(bytes) perl(constant) perl(integer) perl(lib) perl(overload) perl(strict) perl(utf8) perl(vars) perl(warnings) perl(Carp::Heavy) Group: Development/Perl Url: http://www.perl.org/ # explicit file provides Provides: /usr/bin/perl %package devel Version: %{version} Summary: The Perl programming language (devel) Group: Development/Perl Url: http://www.perl.org/ Requires: %{name} = %{epoch}:%{version}-%{release} %package doc Version: %{version} Summary: The Perl programming language (documentation) Group: Development/Perl Url: http://www.perl.org/ Requires: %{name} = %{epoch}:%{version}-%{release} Requires: groff-for-man %package suid Version: %{version} Summary: The Perl programming language (suidperl) Group: Development/Perl Url: http://www.perl.org/ Requires: %{name}-base = %{epoch}:%{version}-%{release} %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 (and what it excels at) are probably 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. You need perl-base to have a full perl. %description base This is the base package for %{name}. %description devel This is the devel package for %{name}. %description doc This is the documentation package for %{name}. It contains also the 'perldoc' program. %description suid This is the package that provides suidperl, a secure way to write suid perl scripts. %prep %setup -q -n %{name}-%{version}%{rel} -a 2 %patch3 -p1 %patch6 -p0 %patch14 -p1 %patch15 -p1 %patch16 -p0 %patch21 -p1 -b .peroyvind %patch23 -p0 %patch24 -p0 %patch29 -p0 %patch32 -p0 %patch33 -p1 %patch34 -p1 %patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p0 %patch39 -p0 %patch40 -p1 %patch41 -p0 %patch42 -p1 -b .cve-2008-1927 %build %ifarch ppc RPM_OPT_FLAGS=`echo "$RPM_OPT_FLAGS"|sed -e 's/-O2/-O1/g'` %endif sh Configure -des \ -Dinc_version_list="5.8.7 5.8.7/%{full_arch} 5.8.6 5.8.6/%{full_arch} 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.6.1 5.6.0" \ -Darchname=%{arch}-%{_os} \ -Dcc='%{__cc}' \ %if %debugging -Doptimize=-g -DDEBUGGING \ %else -Doptimize="$RPM_OPT_FLAGS" \ %endif -Dprefix=%_prefix -Dvendorprefix=%_prefix \ -Dsiteprefix=%_prefix -Dsitebin=%_prefix/local/bin \ -Dsiteman1dir=%_prefix/local/share/man/man1 \ -Dsiteman3dir=%_prefix/local/share/man/man3 \ -Dman3ext=3pm \ -Dcf_by=Mandriva -Dmyhostname=localhost -Dperladmin=root@localhost -Dcf_email=root@localhost \ -Dd_dosuid \ -Ud_csh \ -Duseshrplib \ %if %threading -Duseithreads \ %endif %ifarch sparc -Ud_longdbl \ %endif make %check # for test, building a perl with no rpath # for test, unset RPM_BUILD_ROOT so that the MakeMaker trick is not triggered rm -f perl RPM_BUILD_ROOT="" make test_harness_notty CCDLFLAGS= rm -f perl make perl %install rm -rf $RPM_BUILD_ROOT %makeinstall_std install -d $RPM_BUILD_ROOT%{perl_root}/vendor_perl/%{version}/%{full_arch}/auto # We prefer 0755 instead of 0555 find $RPM_BUILD_ROOT -name "*.so" | xargs chmod 0755 # Delete CGI stuff, because CGI.pm is now a seperate package find $RPM_BUILD_ROOT -name "CGI*" | xargs rm -rf cp -f utils/h2ph utils/h2ph_patched bzcat %{SOURCE2} | patch -p1 %if 1 # TODO figure out why the cleaner version with LD_PRELOAD doesn't work here. LD_LIBRARY_PATH=. ./perl -Ilib utils/h2ph_patched -a -d $RPM_BUILD_ROOT%{perl_root}/%{version}/%{full_arch} `cat %{SOURCE1}` > /dev/null ||: %else LD_PRELOAD=`pwd`/libperl.so ./perl -Ilib utils/h2ph_patched -a -d $RPM_BUILD_ROOT%{perl_root}/%{version}/%{full_arch} `cat %{SOURCE1}` > /dev/null ||: %endif ( # i don't like hardlinks, having symlinks instead: cd $RPM_BUILD_ROOT%{_bindir} ln -sf perl5 perl ln -s perl%{version} perl5 ) rm -f $RPM_BUILD_ROOT%{_bindir}/perlivp $RPM_BUILD_ROOT%{_mandir}/man1/perlivp.1 %ifarch ppc perl -ni -e 'print if !/sub __syscall_nr/' $RPM_BUILD_ROOT%{perl_root}/%{version}/%{full_arch}/asm/unistd.ph %endif %ifarch ppc perl -ni -e 'print unless m/sub __syscall_nr/' $RPM_BUILD_ROOT/%{perl_root}/%{version}/%{full_arch}/asm/unistd.ph %endif # call spec-helper before creating the file list # (spec-helper removes some files, and compress some others) s=/usr/share/spec-helper/spec-helper ; [ -x $s ] && $s ( cat > perl-base.list <<EOF %{_bindir}/perl %{_bindir}/perl5 %{_bindir}/perl%{version} %dir %{perl_root} %dir %{perl_root}/%{version} %dir %{perl_root}/%{version}/File %{perl_root}/%{version}/File/Basename.pm %{perl_root}/%{version}/File/Find.pm %{perl_root}/%{version}/File/Path.pm %{perl_root}/%{version}/File/Spec.pm %dir %{perl_root}/%{version}/File/Spec %{perl_root}/%{version}/File/Spec/Unix.pm %dir %{perl_root}/%{version}/Getopt %{perl_root}/%{version}/Getopt/Long.pm %{perl_root}/%{version}/Getopt/Std.pm %dir %{perl_root}/%{version}/Time %{perl_root}/%{version}/Time/Local.pm %{perl_root}/%{version}/AutoLoader.pm %dir %{perl_root}/%{version}/Carp %{perl_root}/%{version}/Carp.pm %{perl_root}/%{version}/Carp/Heavy.pm %{perl_root}/%{version}/DirHandle.pm %{perl_root}/%{version}/%{full_arch}/Errno.pm %dir %{perl_root}/%{version}/Exporter %{perl_root}/%{version}/Exporter/Heavy.pm %{perl_root}/%{version}/Exporter.pm %{perl_root}/%{version}/FileHandle.pm %{perl_root}/%{version}/PerlIO.pm %{perl_root}/%{version}/SelectSaver.pm %{perl_root}/%{version}/Symbol.pm %{perl_root}/%{version}/base.pm %{perl_root}/%{version}/bytes.pm %{perl_root}/%{version}/constant.pm %{perl_root}/%{version}/integer.pm %{perl_root}/%{version}/overload.pm %{perl_root}/%{version}/strict.pm %{perl_root}/%{version}/utf8.pm %{perl_root}/%{version}/utf8_heavy.pl %{perl_root}/%{version}/unicore/Exact.pl %{perl_root}/%{version}/unicore/Canonical.pl %{perl_root}/%{version}/unicore/PVA.pl %{perl_root}/%{version}/unicore/To/Lower.pl %{perl_root}/%{version}/unicore/To/Fold.pl %{perl_root}/%{version}/unicore/To/Upper.pl %{perl_root}/%{version}/unicore/lib/gc_sc/Word.pl %{perl_root}/%{version}/unicore/lib/gc_sc/Digit.pl %{perl_root}/%{version}/vars.pm %dir %{perl_root}/%{version}/warnings %{perl_root}/%{version}/warnings/register.pm %{perl_root}/%{version}/warnings.pm %dir %{perl_root}/%{version}/%{full_arch} %dir %{perl_root}/%{version}/%{full_arch}/Data %{perl_root}/%{version}/%{full_arch}/lib.pm %{perl_root}/%{version}/%{full_arch}/Cwd.pm %{perl_root}/%{version}/%{full_arch}/Data/Dumper.pm %{perl_root}/%{version}/%{full_arch}/Fcntl.pm %dir %{perl_root}/%{version}/%{full_arch}/File %{perl_root}/%{version}/%{full_arch}/File/Glob.pm %{perl_root}/%{version}/%{full_arch}/IO.pm %dir %{perl_root}/%{version}/%{full_arch}/IO %{perl_root}/%{version}/%{full_arch}/IO/File.pm %{perl_root}/%{version}/%{full_arch}/IO/Handle.pm %{perl_root}/%{version}/%{full_arch}/IO/Seekable.pm %{perl_root}/%{version}/%{full_arch}/IO/Select.pm %{perl_root}/%{version}/%{full_arch}/IO/Socket.pm %dir %{perl_root}/%{version}/%{full_arch}/auto %dir %{perl_root}/%{version}/%{full_arch}/auto/Cwd %{perl_root}/%{version}/%{full_arch}/auto/Cwd/Cwd.so %dir %{perl_root}/%{version}/%{full_arch}/auto/DynaLoader %{perl_root}/%{version}/%{full_arch}/auto/DynaLoader/dl_findfile.al %dir %{perl_root}/%{version}/%{full_arch}/auto/Data %dir %{perl_root}/%{version}/%{full_arch}/auto/Data/Dumper %{perl_root}/%{version}/%{full_arch}/auto/Data/Dumper/Dumper.so %dir %{perl_root}/%{version}/%{full_arch}/auto/Fcntl %{perl_root}/%{version}/%{full_arch}/auto/Fcntl/Fcntl.so %dir %{perl_root}/%{version}/%{full_arch}/auto/File %dir %{perl_root}/%{version}/%{full_arch}/auto/File/Glob %{perl_root}/%{version}/%{full_arch}/auto/File/Glob/Glob.so %dir %{perl_root}/%{version}/%{full_arch}/auto/IO %{perl_root}/%{version}/%{full_arch}/auto/IO/IO.so %dir %{perl_root}/%{version}/%{full_arch}/auto/POSIX %{perl_root}/%{version}/%{full_arch}/auto/POSIX/POSIX.so %{perl_root}/%{version}/%{full_arch}/auto/POSIX/autosplit.ix %{perl_root}/%{version}/%{full_arch}/auto/POSIX/load_imports.al %{perl_root}/%{version}/%{full_arch}/auto/POSIX/tmpfile.al %dir %{perl_root}/%{version}/%{full_arch}/auto/Socket %{perl_root}/%{version}/%{full_arch}/auto/Socket/Socket.so %dir %{perl_root}/%{version}/%{full_arch}/auto/Storable %{perl_root}/%{version}/%{full_arch}/auto/Storable/Storable.so %{perl_root}/%{version}/%{full_arch}/auto/Storable/autosplit.ix %{perl_root}/%{version}/%{full_arch}/auto/Storable/store.al %{perl_root}/%{version}/%{full_arch}/auto/Storable/_store.al %{perl_root}/%{version}/%{full_arch}/auto/Storable/retrieve.al %{perl_root}/%{version}/%{full_arch}/auto/Storable/_retrieve.al %dir %{perl_root}/%{version}/%{full_arch}/auto/re %{perl_root}/%{version}/%{full_arch}/auto/re/re.so %{perl_root}/%{version}/%{full_arch}/Config.pm %{perl_root}/%{version}/%{full_arch}/DynaLoader.pm %{perl_root}/%{version}/%{full_arch}/POSIX.pm %{perl_root}/%{version}/%{full_arch}/Socket.pm %{perl_root}/%{version}/%{full_arch}/Storable.pm %{perl_root}/%{version}/%{full_arch}/re.pm %{perl_root}/%{version}/%{full_arch}/XSLoader.pm %dir %{perl_root}/%{version}/%{full_arch}/CORE %{perl_root}/%{version}/%{full_arch}/CORE/libperl.so %dir %{perl_root}/%{version}/%{full_arch}/asm %dir %{perl_root}/%{version}/%{full_arch}/bits %dir %{perl_root}/%{version}/%{full_arch}/sys %{perl_root}/%{version}/%{full_arch}/asm/unistd.ph %ifarch ia64 %{perl_root}/%{version}/%{full_arch}/asm/break.ph %endif %ifarch x86_64 %{perl_root}/%{version}/%{full_arch}/asm-i386/unistd.ph %{perl_root}/%{version}/%{full_arch}/asm-x86_64/unistd.ph %{perl_root}/%{version}/%{full_arch}/bits/wordsize.ph %endif %ifarch ppc64 %{perl_root}/%{version}/%{full_arch}/asm-ppc/unistd.ph %{perl_root}/%{version}/%{full_arch}/asm-ppc64/unistd.ph %{perl_root}/%{version}/%{full_arch}/bits/wordsize.ph %endif %{perl_root}/%{version}/%{full_arch}/bits/syscall.ph %{perl_root}/%{version}/%{full_arch}/sys/syscall.ph %{perl_root}/%{version}/%{full_arch}/_h2ph_pre.ph %{perl_root}/%{version}/%{full_arch}/syscall.ph EOF # these two normally belong in perl.list, but for some reason the docdir # isn't being created or working properly and as a result the build fails # this is a maintainer issue, so if someone figures it out and wants it back, # great, otherwise they remain out for the time being #%doc README #%doc Artistic cat > perl.list <<EOF %{_bindir}/a2p %{_bindir}/perlbug %{_bindir}/find2perl %{_bindir}/pod2man %{_bindir}/pod2html %{_bindir}/pod2text %{_bindir}/pod2latex %{_bindir}/splain %{_bindir}/s2p %{_mandir}/man3/* %exclude %{_mandir}/man3/Pod::Perldoc::ToChecker.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToMan.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToNroff.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToPod.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToRtf.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToText.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToTk.3pm* %exclude %{_mandir}/man3/Pod::Perldoc::ToXml.3pm* %exclude %{perl_root}/%{version}/Pod/Perldoc.pm %exclude %{perl_root}/%{version}/Pod/Perldoc %exclude %{perl_root}/%{version}/Pod/Perldoc/BaseTo.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/GetOptsOO.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToChecker.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToMan.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToNroff.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToPod.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToRtf.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToText.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToTk.pm %exclude %{perl_root}/%{version}/Pod/Perldoc/ToXml.pm EOF cat > perl-doc.list <<EOF %{_bindir}/perldoc %{_mandir}/man1/perldoc.1* %{perl_root}/%{version}/Pod/Perldoc.pm %{perl_root}/%{version}/Pod/Perldoc %{perl_root}/%{version}/Pod/Perldoc/BaseTo.pm %{perl_root}/%{version}/Pod/Perldoc/GetOptsOO.pm %{perl_root}/%{version}/Pod/Perldoc/ToChecker.pm %{perl_root}/%{version}/Pod/Perldoc/ToMan.pm %{perl_root}/%{version}/Pod/Perldoc/ToNroff.pm %{perl_root}/%{version}/Pod/Perldoc/ToPod.pm %{perl_root}/%{version}/Pod/Perldoc/ToRtf.pm %{perl_root}/%{version}/Pod/Perldoc/ToText.pm %{perl_root}/%{version}/Pod/Perldoc/ToTk.pm %{perl_root}/%{version}/Pod/Perldoc/ToXml.pm %{_mandir}/man3/Pod::Perldoc* EOF cat > perl-devel.list <<EOF %{_bindir}/cpan %{_bindir}/pstruct %{_bindir}/perlcc %{_bindir}/piconv %{_bindir}/dprofpp %{_bindir}/c2ph %{_bindir}/h2xs %{_bindir}/enc2xs %{_bindir}/instmodsh %{_bindir}/libnetcfg %{_bindir}/h2ph %{_bindir}/pl2pm %{_bindir}/podchecker %{_bindir}/podselect %{_bindir}/pod2usage %{_bindir}/psed %{_bindir}/prove %{_bindir}/xsubpp %{perl_root}/%{version}/Encode/encode.h %{perl_root}/%{version}/%{full_arch}/auto/DynaLoader/DynaLoader.a %{perl_root}/%{version}/%{full_arch}/CORE/EXTERN.h %{perl_root}/%{version}/%{full_arch}/CORE/INTERN.h %{perl_root}/%{version}/%{full_arch}/CORE/XSUB.h %{perl_root}/%{version}/%{full_arch}/CORE/av.h %{perl_root}/%{version}/%{full_arch}/CORE/cc_runtime.h %{perl_root}/%{version}/%{full_arch}/CORE/cop.h %{perl_root}/%{version}/%{full_arch}/CORE/cv.h %{perl_root}/%{version}/%{full_arch}/CORE/dosish.h %{perl_root}/%{version}/%{full_arch}/CORE/embed.h %{perl_root}/%{version}/%{full_arch}/CORE/embedvar.h %{perl_root}/%{version}/%{full_arch}/CORE/fakesdio.h %{perl_root}/%{version}/%{full_arch}/CORE/fakethr.h %{perl_root}/%{version}/%{full_arch}/CORE/form.h %{perl_root}/%{version}/%{full_arch}/CORE/gv.h %{perl_root}/%{version}/%{full_arch}/CORE/handy.h %{perl_root}/%{version}/%{full_arch}/CORE/hv.h %{perl_root}/%{version}/%{full_arch}/CORE/intrpvar.h %{perl_root}/%{version}/%{full_arch}/CORE/iperlsys.h %{perl_root}/%{version}/%{full_arch}/CORE/keywords.h %{perl_root}/%{version}/%{full_arch}/CORE/malloc_ctl.h %{perl_root}/%{version}/%{full_arch}/CORE/mg.h %{perl_root}/%{version}/%{full_arch}/CORE/nostdio.h %{perl_root}/%{version}/%{full_arch}/CORE/op.h %{perl_root}/%{version}/%{full_arch}/CORE/opcode.h %{perl_root}/%{version}/%{full_arch}/CORE/opnames.h %{perl_root}/%{version}/%{full_arch}/CORE/pad.h %{perl_root}/%{version}/%{full_arch}/CORE/patchlevel.h %{perl_root}/%{version}/%{full_arch}/CORE/perlapi.h %{perl_root}/%{version}/%{full_arch}/CORE/perlio.h %{perl_root}/%{version}/%{full_arch}/CORE/perliol.h %{perl_root}/%{version}/%{full_arch}/CORE/perlsdio.h %{perl_root}/%{version}/%{full_arch}/CORE/perlsfio.h %{perl_root}/%{version}/%{full_arch}/CORE/perlvars.h %{perl_root}/%{version}/%{full_arch}/CORE/perly.h %{perl_root}/%{version}/%{full_arch}/CORE/pp.h %{perl_root}/%{version}/%{full_arch}/CORE/pp_proto.h %{perl_root}/%{version}/%{full_arch}/CORE/proto.h %{perl_root}/%{version}/%{full_arch}/CORE/reentr.h %{perl_root}/%{version}/%{full_arch}/CORE/reentr.inc %{perl_root}/%{version}/%{full_arch}/CORE/regcomp.h %{perl_root}/%{version}/%{full_arch}/CORE/regexp.h %{perl_root}/%{version}/%{full_arch}/CORE/regnodes.h %{perl_root}/%{version}/%{full_arch}/CORE/scope.h %{perl_root}/%{version}/%{full_arch}/CORE/sperl.o %{perl_root}/%{version}/%{full_arch}/CORE/sv.h %{perl_root}/%{version}/%{full_arch}/CORE/thrdvar.h %{perl_root}/%{version}/%{full_arch}/CORE/thread.h %{perl_root}/%{version}/%{full_arch}/CORE/uconfig.h %{perl_root}/%{version}/%{full_arch}/CORE/unixish.h %{perl_root}/%{version}/%{full_arch}/CORE/utf8.h %{perl_root}/%{version}/%{full_arch}/CORE/utfebcdic.h %{perl_root}/%{version}/%{full_arch}/CORE/util.h %{perl_root}/%{version}/%{full_arch}/CORE/warnings.h EOF rel_perl_root=`echo %{perl_root} | sed "s,/,,"` rel_mandir=`echo %{_mandir} | sed "s,/,,"` (cd $RPM_BUILD_ROOT ; find $rel_perl_root/%{version} "(" -name "*.pod" -o -iname "Changes*" -o -iname "ChangeLog*" -o -iname "README*" ")" -a -not -name perldiag.pod -printf "%%%%doc /%%p\n") >> perl-doc.list (cd $RPM_BUILD_ROOT ; find $rel_mandir/man1 ! -name "perlivp.1*" ! -type d -printf "/%%p*\n") >> perl.list (cd $RPM_BUILD_ROOT ; find $rel_perl_root/%{version} ! -type d -printf "/%%p\n") >> perl.list (cd $RPM_BUILD_ROOT ; find $rel_perl_root/%{version} -type d -printf "%%%%dir /%%p\n") >> perl.list perl -ni -e 'BEGIN { open F, "perl-base.list"; $s{$_} = 1 foreach <F>; } print unless $s{$_}' perl.list perl -ni -e 'BEGIN { open F, "perl-devel.list"; $s{$_} = 1 foreach <F>; } print unless $s{$_}' perl.list perl -ni -e 'BEGIN { open F, "perl-doc.list"; !/perldiag/ and m|(/.*\n)| and $s{$1} = 1 foreach <F>; } print unless $s{$_}' perl.list # i'm not sure why this is happening, but perl.list is full of *.bs files that are supposed to be *.so files # so the build fails without this little tweak -- vdanen 11/05/2007 perl -pi -e 's|\.bs|\.so|g' perl.list perl -pi -e "s|/usr/lib/perl5/5.8.8/%{_arch}-linux/.packlist||" perl.list ) %clean rm -rf $RPM_BUILD_ROOT %files -f perl.list %defattr(-,root,root) %files base -f perl-base.list %defattr(-,root,root) %{perl_root}/vendor_perl %files devel -f perl-devel.list %defattr(-,root,root) %files doc -f perl-doc.list %defattr(-,root,root) %files suid %{_bindir}/suidperl %attr(4711,root,root) %{_bindir}/sperl%{version} %changelog * Thu May 08 2008 Gustavo De Nardin <gustavodn@mandriva.com> 5.8.8-12.2mdv2008.0 - P42: security fix for CVE-2008-1927 * Mon Nov 05 2007 Vincent Danen <vdanen@mandriva.com> 5.8.8-12.1mdv2008.0 - P40: security fix for CVE-2007-5116 - P41: fix build with gcc 4.2.2 - fix manpage extension - fix a wierd quirk with the filelist - need to comment out the docs for the perl package or the build fails; this should jave been compiled at least once witht he new gcc, lzma, and other rpm-related changes =( * Mon Apr 30 2007 Pixel <pixel@mandriva.com> 5.8.8-12mdv2008.0 + Revision: 19552 - explicit file provide /usr/bin/perl * Mon Apr 23 2007 Pixel <pixel@mandriva.com> 2:5.8.8-11mdv2008.0 + Revision: 17453 - remove bad provides libperl.so from perl (libperl.so is still provided by perl-base) + Mandriva <devel@mandriva.com> * Fri Mar 16 2007 Pixel <pixel@mandriva.com> 5.8.8-10mdv2007.1 + Revision: 145069 - move some more files (needed to run XFdrake) * Mon Feb 12 2007 Pixel <pixel@mandriva.com> 2:5.8.8-9mdv2007.1 + Revision: 118871 - fix segfault (bugzilla #28537, perl #41442) + Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> - ppc64 fixes from Gwenole Beauchesne (from CS3). Bunzip patches. - Import perl * Sat Sep 09 2006 Thierry Vignaud <tvignaud@mandriva.com> 5.8.8-7mdv2007.0 - patch 38: do not defer sig11 (aka segfaulting, #18087) * Mon May 15 2006 Oden Eriksson <oeriksson@mandriva.com> 2:5.8.8-6mdk - rebuilt due to missing perl-doc package for x86_64 * Sat May 13 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-5mdk - Rebuild with new rpm-mandriva-setup * Thu May 04 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-4mdk - Drop patch 20 (loading of .pm.gz files, no longer used in gi, could be done in pure perl with @INC hooks) * Sun Mar 12 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-3mdk - Remove PERL_DISABLE_PMC from the CCFLAGS, as requested by Audrey Tang - Remove german translations * Fri Mar 03 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-2mdk - Integrate upstream patches: - patch 34 (#27210): buglet in c2ph - patch 35 (#27211): buglet in Net::NNTP - patch 36 (#27359): make -d:Foo=bar work again - patch 37 (#27363): include predefined gcc macros in translated system headers * Wed Feb 01 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-1mdk - 5.8.8 - Remove patch 12 (MakeMaker hack for old rpm conventions) - Rediff patch 23 - Remove patches 34 and 35, integrated upstream * Thu Jan 26 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-0.RC1.4mdk - Turn on -g optimisation so perl is built without -DDEBUGGING * Tue Jan 24 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-0.RC1.3mdk - Add patch 34 (upstream 26920) : restore compatibility with swig - Add patch 35 (upstream 26940) : fix suidperl bug * Tue Jan 24 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-0.RC1.2mdk - Add patch 33 (upstream 26536) to fix bug 20129 * Fri Jan 20 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.8-0.RC1.1mdk - New version - Rediff patches 20, 23, 29 - Remove half of patch 6, integrated upstream - Remove patches 22, 26, 27, 28, 30, 31, 33, 34, integrated upstream - Remove patch 25, obsolete - Obsoletes perl-Test-Builder-Tester * Thu Jan 19 2006 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-9mdk - lib64 fix to buildrequires (Per Øyvind Karlsen) - Patch 34: upstream 26812, h2ph improvement, fixes build on linux-sparc64 * Thu Dec 01 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-8mdk - Patch 33: fix for CVE-2005-3962 * Mon Nov 28 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-7mdk - Upgrade core modules List::Util and Getopt::Long to latest CPAN versions (patches 30 and 31) - Always set up @INC correctly even if older directories don't exist on the build machine (patch 32) * Fri Nov 18 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-6mdk - Patch 29: patch default MANIFEST.SKIP allow Module::Signature to work even when building rpms with debug packages enabled * Fri Oct 21 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-5mdk - BuildRequires recent rpm-mandriva-setup-build * Tue Oct 18 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-4mdk - Upgrade to Storable 2.15 (patch 28) - Fix installation of sperl as setuid * Wed Aug 10 2005 Pixel <pixel@mandriva.com> 5.8.7-3mdk - on x86_64, bits/syscall.ph requires bits/wordsize.ph * Tue Aug 02 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-2mdk - Add patch 27 (CAN-2005-0448) * Wed Jun 01 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 5.8.7-1mdk - 5.8.7 - Define sitebin to /usr/local/bin and siteman* to /usr/local/man/... - Replace Mandrakelinux by Mandriva Linux * Thu May 19 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 2:5.8.7-0.RC1.1mdk - 5.8.7 RC1 - Remove patch 27, 28, 29, 30, merged upstream * Sat Apr 23 2005 Rafael Garcia-Suarez <rgarciasuarez@mandriva.com> 5.8.6-7mdk - Put sperl and suidperl in their own package perl-suid * Mon Feb 14 2005 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-6mdk - Add patches 28 et 30 (security updates) * Mon Jan 31 2005 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-5mdk - Fix local root exploit and buffer overflow (patch 28) (perlbug #33990) * Wed Jan 26 2005 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-4mdk - Move the Pod::Perldoc::* modules to perl-doc - Add Artistic licence in doc * Fri Jan 07 2005 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-3mdk - Fixes (or workarounds) for build issues on x86_64 - add a "debugging" flag to build perls with -D enabled * Wed Dec 01 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-2mdk - Integrate patch 23565 from the maint branch (as patch 27): MakeMaker's default MANIFEST.SKIP was borked * Mon Nov 29 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-1mdk - 5.8.6 - use "make test_harness_notty" for testing - fix invocation of h2ph with correct libperl.so * Fri Nov 12 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.6-0.RC1.1mdk - New version 5.8.6-RC1 - Remove support for threads - Remove bincompat directories (since we break binary compatibility) - Remove patch 27, merged upstream * Tue Nov 09 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-4mdk - Upgrade to MIME::Base64 3.05 (for perl-MIME-tools, security update) - BuildRequire: libgdbm_compat (bugs #12036 and #12136) * Fri Aug 06 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-3mdk - Fix for generation of unistd.ph on ppc (Christiaan Welvaart) * Thu Jul 29 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-2mdk - Add a patch to prevent including an empty rpath in .so files produced by MakeMaker * Wed Jul 21 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-1mdk - 5.8.5. - Move unicore/PVA.pl into perl-base. * Fri Jul 09 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-0.RC2.1mdk - RC2. Remove patch #23063. * Thu Jul 08 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-0.RC1.2mdk - Merged patch #23063: perl wasn't able to upgrade a literal undef to UTF-8 anymore. This broke Gtk2. * Thu Jul 08 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.5-0.RC1.1mdk - New version - Remove patches merged upstream - Fix CPAN signature test when Module::Signature is installed * Tue Jun 29 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-13mdk - Move Getopt::Std from perl to perl-base - Move some changelogs from perl to perl-doc * Sat Jun 19 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-12mdk - Move CORE/config.h from perl-devel to perl. This is necessary for MakeMaker (and thus CPAN.pm) to work. * Wed Jun 16 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-11mdk - Carp::Heavy should be in perl-base, as it's required by Carp.pm - Add manually a provides for perl(Carp::Heavy) * Mon Jun 14 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-10mdk - Further h2ph patches. * Sun Jun 13 2004 Robert Vojta <robert.vojta@mandrake.org> 5.8.4-9mdk - patches 42 and 43 temporarily disabled (see #10035) * Sat Jun 12 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-8mdk - Remove redundant BuildRequires - Add two more h2ph patches from the development branch * Sat Jun 12 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-7mdk - Add BuildRequires glibc-devel * Fri Jun 11 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-6mdk - integrate patch #22925 from the development branch : Make h2ph able to understand a limited set of inline functions. This fixes the generation of some .ph files. * Wed Jun 09 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-5mdk - Restore loading of .pm.gz files by adjusting patch #20 * Wed Jun 09 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-4mdk - Add compilation flag -DPERL_DISABLE_PMC - Rebuild with new gcc * Thu May 27 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-3mdk - Add a bunch of patches from the maintainance branch * Thu May 06 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-2mdk - psed(1) wasn't installed - the manpage for perlivp(1) (which isn't installed) was installed - remove perldiag.pod from perl-doc * Fri Apr 23 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-1mdk - 5.8.4 - remove setuidperl, it was a transient RC2 tryout - the only setuid executable is sperl5.8.4 - force gcc optimisation level to -O1 on ppc - disable test lib/CGI/t/fast.t, which may fail if perl-FCGI is already installed on the system. * Sat Apr 17 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-0.RC2.1mdk - RC2 - remove setuid bit on sperl and suidperl - new setuid executable setuidperl - use 'make test_harness' instead of 'make test' - add a note in the 'perl -V' output to mention MandrakeSoft patches * Wed Apr 07 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-0.RC1.2mdk - Restore 5.8.1/i386-linux in the inc_version_list, at least until all the packages from the CPAN are upgraded * Wed Apr 07 2004 Rafael Garcia-Suarez <rgarciasuarez@mandrakesoft.com> 5.8.4-0.RC1.1mdk - changed perl URL - FHS-compliance patch is no longer needed - A more recent Getopt::Long is now bundled with perl, remove it - remove 5.8.1/i386-linux from the inc_version_list, because 5.8.1 is binary incompatible with every other 5.8.x - Add Errno.pm to perl-base