Use spot's brand new, shiny perl spec file.

This commit is contained in:
Robin Norwood 2007-02-22 22:28:15 +00:00
parent 710ca63c44
commit 34e870b0d3

619
perl.spec
View File

@ -1,196 +1,107 @@
%define threading 1
%define largefiles 1
%define suidperl 1
%define multilib_64_archs x86_64 s390x ppc64 sparc64 %define multilib_64_archs x86_64 s390x ppc64 sparc64
%define perl_archname %{_arch}-%{_os}-thread-multi
%define perlmodcompat 5.8.7 5.8.6 5.8.5
%define new_perl_lib $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}:$RPM_BUILD_ROOT/usr/lib/perl5/%{version}
%define comp_perl_lib $RPM_BUILD_ROOT/usr/lib/perl5/%{version}:$RPM_BUILD_ROOT/usr/lib/perl5/%{version}
%define new_arch_lib $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{perl_archname}
%define comp_arch_lib $RPM_BUILD_ROOT/usr/lib/perl5/%{version}/%{perl_archname}
%define new_perl_flags LD_PRELOAD=/%{new_arch_lib}/CORE/libperl.so LD_LIBRARY_PATH=%{new_arch_lib}/CORE PERL5LIB=%{new_perl_lib}:%{comp_perl_lib}
%define new_perl %{new_perl_flags} $RPM_BUILD_ROOT/%{_bindir}/perl
%define perlver 5.8.8 # Use this for SUPER PERL DEBUGGING MODE.
%define perlrel 12%{?dist}
%define perlepoch 4
%{?!perl_debugging: %define perl_debugging 0} %{?!perl_debugging: %define perl_debugging 0}
%if %{perl_debugging} %if %{perl_debugging}
%define debug_package %{nil} %define debug_package %{nil}
# don't build debuginfo and disable stripping # don't build debuginfo and disable stripping
%endif %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.7 5.8.6 5.8.5
Provides: perl(:MODULE_COMPAT_5.8.5)
Provides: perl(:MODULE_COMPAT_5.8.6)
Provides: perl(:MODULE_COMPAT_5.8.7)
Provides: perl(:MODULE_COMPAT_5.8.8)
%if %{largefiles}
Provides: perl(:WITH_LARGEFILES)
%else
Provides: perl(:WITHOUT_LARGEFILES)
%endif
Name: perl Name: perl
Version: %{perlver} Version: 5.8.8
Release: %{perlrel} Release: 13%{?dist}
Epoch: %{perlepoch} Epoch: 4
Summary: The Perl programming language Summary: The Perl programming language
Group: Development/Languages Group: Development/Languages
License: Artistic or GPL License: Artistic or GPL
Url: http://www.perl.org/ Url: http://www.perl.org/
Source0: http://www.cpan.org/authors/id/N/NW/NWCLARK/%{name}-%{version}.tar.bz2 Source0: http://www.cpan.org/authors/id/N/NW/NWCLARK/%{name}-%{version}.tar.bz2
Source11: filter-depends.sh Source11: filter-depends.sh
Source12: perl-5.8.0-libnet.cfg Source12: perl-5.8.0-libnet.cfg
Patch1: perl-5.8.0-root.patch
Patch5: perl-5.8.0-root.patch Patch2: perl-5.8.8-incpush.patch
# Patch6: perl-5.8.0-fhs.patch Patch3: perl-5.8.8-perlbug-tag.patch
# Patch7: perl-5.6.0-buildroot.patch Patch4: perl-5.8.8-dashI.patch
# Patch8: perl-5.8.0-errno.patch Patch5: perl-5.8.5-incorder.patch
# Patch9: perl-5.7.3-syslog.patch
# Patch10: perl-5.8.0-notty.patch
# Patch11: perl-5.8.3-fullinc.patch
Patch12: perl-5.8.8-incpush.patch
Patch13: perl-5.8.8-perlbug-tag.patch
Patch14: perl-5.8.8-dashI.patch
Patch15: perl-5.8.5-incorder.patch
# 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 # make sure we get the proper ldflags on libperl.so
Patch17: perl-5.8.0-sharedlinker.patch Patch6: 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 deprecated, use links instead # lynx is deprecated, use links instead
Patch19: perl-5.8.8-links.patch Patch7: perl-5.8.8-links.patch
# work around annoying rpath issue # work around annoying rpath issue
Patch21: perl-5.8.8-rpath-make.patch Patch8: perl-5.8.8-rpath-make.patch
# bugzilla 101767, make sure threads.so links directly to -lpthread
# Patch22: perl-5.8.1-lpthread-link.patch
# fix empty RPATH security issue (now fixed with USE_MM_LD_RUN_PATH patch )
# Patch24: perl-5.8.3-empty-rpath.patch
# CAN-2004-0452 fix (now in 5.8.7!)
# Patch26: perl-5.8.0-rmtree.patch
# CAN-2005-0155 and CAN-2005-0156 fix (now in 5.8.7!)
# Patch27: perl-5.8.5-CAN-2005-0155+0156.patch
# bugzilla 118877, 127023 (now in 5.8.8!)
# Patch28: perl-5.8.6-findbin-selinux.patch
# Update the core module version (matching the external package perl-Filter-Simple)
# (now 0.82 in 5.8.8)
# Patch30: perl-5.8.6-filter-simple-update.patch
# Disable -DDEBUGGING and allow -g to do its job (#156113) # Disable -DDEBUGGING and allow -g to do its job (#156113)
Patch31: perl-5.8.7-no-debugging.patch Patch9: perl-5.8.7-no-debugging.patch
Patch10: perl-5.8.1-fpic.patch
# Fix for bug 171111: missing IOCPARM_LEN Patch11: perl-5.8.0-libdir64.patch
# (now in 5.8.8!) Patch12: perl-5.8.0-nptlhint.patch
# Patch32: perl-5.8.7-IOC_SIZE.patch Patch13: perl-5.8.6-libresolv.patch
# arch-specific patches
Patch100: perl-5.8.1-fpic.patch
Patch101: perl-5.8.0-libdir64.patch
Patch32002: perl-5.8.0-nptlhint.patch
Patch32003: perl-5.8.6-libresolv.patch
# now in 5.8.8:
# Patch172236: perl-5.8.7-bz172236.patch
# fix for bug 163958 / upstream bug 37056 : # fix for bug 163958 / upstream bug 37056 :
# backport of perl-5.9's patch 25084 (bug still in 5.8.8!): # backport of perl-5.9's patch 25084 (bug still in 5.8.8!):
Patch25084: perl-5.8.7-25084.patch Patch14: perl-5.8.7-25084.patch
# multi-threaded perl builds use localtime_r which does not call tzset
Patch172396: perl-5.8.7-172396.patch # bugzilla 172396
Patch15: perl-5.8.7-172396.patch
# now in 5.8.8: Patch16: perl-5.8.8-CAN-2004-0976.patch
# Patch172587: perl-5.8.7-bz172587.patch Patch17: perl-5.8.8-USE_MM_LD_RUN_PATH.patch
Patch18: perl-5.8.8-bz178343.patch
Patch040976: perl-5.8.8-CAN-2004-0976.patch
# now in 5.8.8:
# Patch172739: perl-5.8.7-bz172739_obz36521.patch
#Patch136009: perl-5.8.7-MM_Unix-rpath-136009.patch
# now in 5.8.8:
#Patch174684: perl-5.8.7-CVE-2005-3962-bz174684.patch
Patch1360090: perl-5.8.8-USE_MM_LD_RUN_PATH.patch
# module updatesd
# Patch202: perl-5.8.0-Safe2.09.patch
Patch178343: perl-5.8.8-bz178343.patch
#
# Debian's fix for Net::NNTP: # Debian's fix for Net::NNTP:
Patch32: perl-5.8.8-debian_fix_net_nntp.patch Patch19: perl-5.8.8-debian_fix_net_nntp.patch
#
# Upstream patches 27133 and 27169 (27170): # Upstream patches 27133 and 27169 (27170):
Patch33: perl-5.8.8-up27133_up27169.patch Patch20: perl-5.8.8-up27133_up27169.patch
# Upstream patch 27284: # Upstream patch 27284:
Patch34: perl-5.8.8-up27284.patch Patch21: perl-5.8.8-up27284.patch
# Fix for bug 183553 / upstream bug 38657: # Fix for bug 183553 / upstream bug 38657:
Patch35: perl-5.8.8-bz183553_ubz38657.patch Patch22: perl-5.8.8-bz183553_ubz38657.patch
# Patch23: perl-5.8.8-bz188441.patch
Patch188841: perl-5.8.8-bz188441.patch Patch24: perl-5.8.8-bz191416.patch
# Patch25: perl-5.8.8-U27116.patch
Patch191416: perl-5.8.8-bz191416.patch Patch26: perl-5.8.8-U27391.patch
Patch27: perl-5.8.8-U27426.patch
Patch27116: perl-5.8.8-U27116.patch Patch28: perl-5.8.8-U27509.patch
Patch27391: perl-5.8.8-U27391.patch Patch29: perl-5.8.8-U27512.patch
Patch27426: perl-5.8.8-U27426.patch Patch30: perl-5.8.8-U27604.patch
Patch27509: perl-5.8.8-U27509.patch Patch31: perl-5.8.8-U27605.patch
Patch27512: perl-5.8.8-U27512.patch Patch32: perl-5.8.8-U27914.patch
Patch27604: perl-5.8.8-U27604.patch Patch33: perl-5.8.8-U27329.patch
Patch27605: perl-5.8.8-U27605.patch Patch34: perl-5.8.8-R-switch.patch
Patch27914: perl-5.8.8-U27914.patch # stop IPC/SysV.c including <asm/page.h> for getpagesize(), which
Patch27329: perl-5.8.8-U27329.patch # is now declared by including <unistd.h> .
Patch36: perl-5.8.8-R-switch.patch Patch35: perl-5.8.8-no_asm_page_h.patch
Patch37: perl-5.8.8-no_asm_page_h.patch Patch36: perl-5.8.8-U34297_C28006.patch
# ^- stop IPC/SysV.c including <asm/page.h> for getpagesize(), which Patch37: perl-5.8.8-useCFLAGSwithCC.patch
# is now declared by including <unistd.h> . Patch38: perl-5.8.8-bz199736.patch
# Patch39: perl-5.8.8-bz204679.patch
Patch28006: perl-5.8.8-U34297_C28006.patch
#
Patch38: perl-5.8.8-useCFLAGSwithCC.patch
Patch39: perl-5.8.8-bz199736.patch
#
Patch204679: perl-5.8.8-bz204679.patch
#
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gawk, grep, tcsh, dos2unix, man, groff BuildRequires: tcsh, dos2unix, man, groff
BuildRequires: gdbm-devel, db4-devel BuildRequires: gdbm-devel, db4-devel
# The long line of Perl provides.
# 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 # These provides are needed by the perl pkg itself with auto-generated perl.req
Provides: perl(VMS::Filespec) Provides: perl(VMS::Filespec)
Provides: perl(VMS::Stdio) Provides: perl(VMS::Stdio)
# Compat provides
Provides: perl(:MODULE_COMPAT_5.8.5)
Provides: perl(:MODULE_COMPAT_5.8.6)
Provides: perl(:MODULE_COMPAT_5.8.7)
Provides: perl(:MODULE_COMPAT_5.8.8)
# Threading provides
Provides: perl(:WITH_ITHREADS)
Provides: perl(:WITH_THREADS)
# Largefile provides
Provides: perl(:WITH_LARGEFILES)
# PerlIO provides
Provides: perl(:WITH_PERLIO)
# File provides
Provides: perl(abbrev.pl) Provides: perl(abbrev.pl)
Provides: perl(assert.pl) Provides: perl(assert.pl)
Provides: perl(bigfloat.pl) Provides: perl(bigfloat.pl)
@ -227,34 +138,14 @@ Provides: perl(termcap.pl)
Provides: perl(timelocal.pl) Provides: perl(timelocal.pl)
Provides: perl(utf8_heavy.pl) Provides: perl(utf8_heavy.pl)
Provides: perl(validate.pl) Provides: perl(validate.pl)
Provides: perl(Carp::Heavy) Provides: perl(Carp::Heavy)
# Versioned Provides for our Obsoletes
Provides: perl-Filter-Simple = 0.82
Provides: perl-Time-HiRes = 1.86
# These modules appear to be missing or break assumptions made by the # Last seen in Fedora Core 4
# 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)
# Conflicts: perl-NDBM_File <= 1:1.75-34.99.6
Obsoletes: perl-Digest-MD5
Obsoletes: perl-MIME-Base64
Obsoletes: perl-libnet
Obsoletes: perl-Storable
Obsoletes: perl-CGI
Obsoletes: perl-CPAN
Obsoletes: perl-DB_File
Obsoletes: perl-Filter
Obsoletes: perl-Filter-Simple Obsoletes: perl-Filter-Simple
Obsoletes: perl-Time-HiRes Obsoletes: perl-Time-HiRes
Obsoletes: perl-Test-Builder-Tester
%define __perl_requires %{SOURCE11} %define __perl_requires %{SOURCE11}
@ -273,127 +164,75 @@ scripts.
Install this package if you want to program in Perl or enable your Install this package if you want to program in Perl or enable your
system to handle Perl scripts. system to handle Perl scripts.
%package devel
%if %{suidperl} Summary: Header files for use in perl development
%package suidperl
Summary: suidperl, for use with setuid perl scripts
Group: Development/Languages Group: Development/Languages
Requires: perl = %{perlepoch}:%{perlver}-%{perlrel} Requires: perl = %{epoch}:%{version}-%{release}
%description devel
This package contains header files from core perl components.
Some packages may need these header files in order to build.
%package suidperl
Summary: Suidperl, for use with setuid perl scripts
Group: Development/Languages
Requires: perl = %{epoch}:%{version}-%{release}
%description suidperl %description suidperl
suidperl is a setuid binary copy of perl that allows for (hopefully) Suidperl is a setuid binary copy of perl that allows for (hopefully)
more secure running of setuid perl scripts. more secure running of setuid perl scripts.
%endif
%prep %prep
%setup -q %setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1 %patch5 -p1
# %%patch8 -p1 %patch6 -p1
%patch7 -p1
# perl 5.8.7: reject %patch8 -p1
# %patch11 -p1 %if !%{perl_debugging}
%patch9 -p1
%endif
%patch10 -p1
%ifarch %{multilib_64_archs}
%patch11 -p1
%endif
%patch12 -p1 %patch12 -p1
%patch13 -p1 %patch13 -p1
%patch14 -p1 %patch14 -p1
%patch15 -p1 %patch15 -p1
%patch16 -p1
%patch17 -p1 %patch17 -p1
%patch18 -p1
%patch19 -p1 %patch19 -p1
%patch20 -p1
%patch21 -p1 %patch21 -p1
# %patch24 -p1 %patch22 -p1
%patch23 -p1
# perl 5.8.7: reject %patch24 -p1
# %patch26 -p1 %patch25 -p1
# perl 5.8.7: Already in ? %patch26 -p1
# %patch27 -p0 %patch27 -p1
# %patch28 -p1 %patch28 -p1
%patch29 -p1
# %patch30 -p1 %patch30 -p1
%if !%{perl_debugging}
%patch31 -p1 %patch31 -p1
%endif
# %patch32 -p1
%patch100 -p1
%ifarch %{multilib_64_archs}
%patch101 -p1
%endif
%patch32002 -p1
%patch32003 -p1
# %patch172236 -p1
%patch25084 -p1
%patch172396 -p1
# %patch172587 -p1
%patch040976 -p1
# %patch172739 -p1
# %patch136009 -p1
# %patch174684 -p1
%patch1360090 -p1
%patch178343 -p1
%patch32 -p1 %patch32 -p1
%patch33 -p1 %patch33 -p1
%patch34 -p1 %patch34 -p1
%patch35 -p1 %patch35 -p1
%patch36 -p1
%patch188841 -p1 %patch37 -p1
%patch38 -p1
%patch191416 -p1
%patch27116 -p1
%patch27391 -p1
%patch27426 -p1
%patch27509 -p1
%patch27512 -p1
%patch27604 -p1
%patch27605 -p1
%patch27914 -p1
%patch27329 -p1
%patch36 -p1
%patch37 -p1
%patch28006 -p1
%patch38 -p1
%patch39 -p1
# #
# Candidates for doc recoding (need case by case review): # Candidates for doc recoding (need case by case review):
# find . -name "*.pod" -o -name "README*" -o -name "*.pm" | xargs file -i | grep charset= | grep -v '\(us-ascii\|utf-8\)' # find . -name "*.pod" -o -name "README*" -o -name "*.pm" | xargs file -i | grep charset= | grep -v '\(us-ascii\|utf-8\)'
recode() recode()
{ {
iconv -f "$2" -t utf-8 < "$1" > "${1}_" iconv -f "$2" -t utf-8 < "$1" > "${1}_"
mv -f "${1}_" "$1" mv -f "${1}_" "$1"
} }
recode README.cn euc-cn recode README.cn euc-cn
recode README.jp euc-jp recode README.jp euc-jp
@ -405,13 +244,28 @@ recode pod/perlhist.pod iso-8859-1
recode pod/perlothrtut.pod iso-8859-1 recode pod/perlothrtut.pod iso-8859-1
recode pod/perlthrtut.pod iso-8859-1 recode pod/perlthrtut.pod iso-8859-1
recode lib/Unicode/Collate.pm iso-8859-1 recode lib/Unicode/Collate.pm iso-8859-1
# recode not needed (5.8.7):
# ext/Encode/t/Mod_EUCJP.pm, ext/Encode/lib/Encode/CJKConstants.pm,
# ext/Encode/lib/Encode/JP/H2Z.pm, lib/ExtUtils/MM_MacOS.pm,
# lib/Pod/Checker.pm, lib/Net/README.libnet
find . -name \*.orig -exec rm -fv {} \; 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.
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/^perl(Carp)$/d' |\
sed -e '/^perl(DynaLoader)$/d' |\
sed -e '/^perl(Locale::Maketext)$/d' |\
sed -e '/^perl(Math::BigInt)$/d' |\
sed -e '/^perl(Net::Config)$/d' |\
sed -e '/^perl(Tie::Hash)$/d' |\
sed -e '/^perl(bigint)$/d' |\
sed -e '/^perl(bigrat)$/d' |\
sed -e '/^perl(bytes)$/d' |\
sed -e '/^perl(utf8)$/d'
EOF
%define __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__perl_provides}
%build %build
echo "RPM Build arch: %{_arch}" echo "RPM Build arch: %{_arch}"
@ -421,78 +275,66 @@ echo "RPM Build arch: %{_arch}"
# similar reasons. # similar reasons.
sh Configure -des -Doptimize="$RPM_OPT_FLAGS" \ sh Configure -des -Doptimize="$RPM_OPT_FLAGS" \
-Dversion=%{perlver} \ -Dversion=%{version} \
-Dmyhostname=localhost \ -Dmyhostname=localhost \
-Dperladmin=root@localhost \ -Dperladmin=root@localhost \
-Dcc='%{__cc}' \ -Dcc='%{__cc}' \
-Dcf_by='Red Hat, Inc.' \ -Dcf_by='Red Hat, Inc.' \
-Dinstallprefix=%{_prefix} \ -Dinstallprefix=%{_prefix} \
-Dprefix=%{_prefix} \ -Dprefix=%{_prefix} \
%ifarch %{multilib_64_archs} %ifarch %{multilib_64_archs}
-Dlibpth="/usr/local/lib64 /lib64 /usr/lib64" \ -Dlibpth="/usr/local/lib64 /lib64 /usr/lib64" \
-Dprivlib="/usr/lib/perl5/%{version}" \ -Dprivlib="/usr/lib/perl5/%{version}" \
-Dsitelib="/usr/lib/perl5/site_perl/%{version}" \ -Dsitelib="/usr/lib/perl5/site_perl/%{version}" \
-Dvendorlib="/usr/lib/perl5/vendor_perl/%{version}" \ -Dvendorlib="/usr/lib/perl5/vendor_perl/%{version}" \
-Darchlib="%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch}" \ -Darchlib="%{_libdir}/perl5/%{version}/%{perl_archname}" \
-Dsitearch="%{_libdir}/perl5/site_perl/%{perlver}/%{_arch}-%{_os}%{thread_arch}" \ -Dsitearch="%{_libdir}/perl5/site_perl/%{version}/%{perl_archname}" \
-Dvendorarch="%{_libdir}/perl5/vendor_perl/%{perlver}/%{_arch}-%{_os}%{thread_arch}" \ -Dvendorarch="%{_libdir}/perl5/vendor_perl/%{version}/%{perl_archname}" \
%endif %endif
-Darchname=%{_arch}-%{_os} \ -Darchname=%{_arch}-%{_os} \
%ifarch sparc %ifarch sparc
-Ud_longdbl \ -Ud_longdbl \
%endif %endif
-Dvendorprefix=%{_prefix} \ -Dvendorprefix=%{_prefix} \
-Dsiteprefix=%{_prefix} \ -Dsiteprefix=%{_prefix} \
-Duseshrplib \ -Duseshrplib \
%if %threading -Dusethreads \
-Dusethreads \ -Duseithreads \
-Duseithreads \ -Duselargefiles \
%else -Dd_dosuid \
-Uusethreads \ -Dd_semctl_semun \
-Uuseithreads \ -Di_db \
%endif -Ui_ndbm \
%if %largefiles -Di_gdbm \
-Duselargefiles \ -Di_shadow \
%else -Di_syslog \
-Uuselargefiles \ -Dman3ext=3pm \
%endif -Duseperlio \
-Dd_dosuid \ -Dinstallusrbinperl=n \
-Dd_semctl_semun \ -Ubincompat5005 \
-Di_db \ -Uversiononly \
-Ui_ndbm \ -Dpager='/usr/bin/less -isr' \
-Di_gdbm \ -Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto \
-Di_shadow \ -Ud_endprotoent_r_proto -Ud_setprotoent_r_proto \
-Di_syslog \ -Ud_endservent_r_proto -Ud_setservent_r_proto \
-Dman3ext=3pm \ -Dinc_version_list='%{perlmodcompat}' \
-Duseperlio \ -Dscriptdir='%{_bindir}'
-Dinstallusrbinperl=n \
-Ubincompat5005 \
-Uversiononly \
-Dpager='/usr/bin/less -isr' \
-Dd_gethostent_r_proto -Ud_endhostent_r_proto -Ud_sethostent_r_proto \
-Ud_endprotoent_r_proto -Ud_setprotoent_r_proto \
-Ud_endservent_r_proto -Ud_setservent_r_proto \
-Dinc_version_list='%{perlmodcompat}' \
-Dscriptdir='%{_bindir}'
make %{?_smp_mflags} make %{?_smp_mflags}
make test
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT
%ifarch %{multilib_64_archs} %ifarch %{multilib_64_archs}
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/lib/perl5/%{perlver} mkdir -p -m 755 $RPM_BUILD_ROOT/usr/lib/perl5/%{version}
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/lib/perl5/site_perl/%{perlver} mkdir -p -m 755 $RPM_BUILD_ROOT/usr/lib/perl5/site_perl/%{version}
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/lib/perl5/vendor_perl/%{perlver} mkdir -p -m 755 $RPM_BUILD_ROOT/usr/lib/perl5/vendor_perl/%{version}
%endif %endif
%ifarch %{multilib_64_archs} %ifarch %{multilib_64_archs}
mkdir -p -m 755 ${RPM_BUILD_ROOT}/usr/lib64/perl5/vendor_perl/%{perlver}/%{_arch}-%{_os} mkdir -p -m 755 ${RPM_BUILD_ROOT}/usr/lib64/perl5/vendor_perl/%{version}/%{_arch}-%{_os}
%endif %endif
@ -501,32 +343,20 @@ mkdir -p -m 755 ${RPM_BUILD_ROOT}/usr/lib64/perl5/vendor_perl/%{perlver}/%{_arch
# #
pushd $RPM_BUILD_ROOT/%{_libdir}/perl5 pushd $RPM_BUILD_ROOT/%{_libdir}/perl5
for i in %{perlmodcompat}; do for i in %{perlmodcompat}; do
mkdir -pm 755 $i/%{_arch}-%{_os}%{thread_arch}/CORE mkdir -pm 755 $i/%{perl_archname}/CORE
mkdir -pm 755 $i/%{_arch}-%{_os}%{thread_arch}/auto mkdir -pm 755 $i/%{perl_archname}/auto
pushd $i/%{_arch}-%{_os}%{thread_arch}/CORE pushd $i/%{perl_archname}/CORE
ln -s ../../../%{perlver}/%{_arch}-%{_os}%{thread_arch}/CORE/libperl.so libperl.so ln -s ../../../%{version}/%{perl_archname}/CORE/libperl.so libperl.so
popd popd
done done
popd popd
install -p -m 755 utils/pl2pm ${RPM_BUILD_ROOT}%{_bindir}/pl2pm install -p -m 755 utils/pl2pm ${RPM_BUILD_ROOT}%{_bindir}/pl2pm
#
%define new_perl_lib $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver}:$RPM_BUILD_ROOT/usr/lib/perl5/%{perlver}
%define comp_perl_lib $RPM_BUILD_ROOT/usr/lib/perl5/%{perlver}:$RPM_BUILD_ROOT/usr/lib/perl5/%{perlver}
%define new_arch_lib $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch}
%define comp_arch_lib $RPM_BUILD_ROOT/usr/lib/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch}
%define new_perl_flags LD_PRELOAD=/%{new_arch_lib}/CORE/libperl.so LD_LIBRARY_PATH=%{new_arch_lib}/CORE PERL5LIB=%{new_perl_lib}:%{comp_perl_lib}
%define new_perl %{new_perl_flags} $RPM_BUILD_ROOT/%{_bindir}/perl
for i in asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h sys/socket.h sys/time.h wait.h for i in asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h sys/socket.h sys/time.h wait.h
do do
%{new_perl} $RPM_BUILD_ROOT/%{_bindir}/h2ph -a \ %{new_perl} $RPM_BUILD_ROOT/%{_bindir}/h2ph -a \
-d $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver}/%{_arch}-%{_os}%{thread_arch} $i || /bin/true -d $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{perl_archname} $i || /bin/true
done done
@ -540,17 +370,17 @@ do
mkdir -p $RPM_BUILD_ROOT/$dir mkdir -p $RPM_BUILD_ROOT/$dir
done done
for i in %{perlver} %{perlmodcompat} ; do for i in %{version} %{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/site_perl/$i/%{perl_archname}/auto
mkdir -pm 755 $RPM_BUILD_ROOT%{_libdir}/perl5/vendor_perl/$i/%{_arch}-%{_os}%{thread_arch}/auto mkdir -pm 755 $RPM_BUILD_ROOT%{_libdir}/perl5/vendor_perl/$i/%{perl_archname}/auto
done done
# #
# libnet configuration file # libnet configuration file
# #
mkdir -p -m 755 $RPM_BUILD_ROOT/%{_libdir}/perl5/%{perlver}/Net mkdir -p -m 755 $RPM_BUILD_ROOT/%{_libdir}/perl5/%{version}/Net
install -p -m 644 %{SOURCE12} $RPM_BUILD_ROOT/%{_libdir}/perl5/%{perlver}/Net/libnet.cfg install -p -m 644 %{SOURCE12} $RPM_BUILD_ROOT/%{_libdir}/perl5/%{version}/Net/libnet.cfg
# #
# Core modules removal # Core modules removal
@ -559,6 +389,30 @@ find $RPM_BUILD_ROOT -name '*NDBM*' | xargs rm -rfv
find $RPM_BUILD_ROOT -type f -name '*.bs' -a -empty -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name '*.bs' -a -empty -exec rm -f {} ';'
# Cleanup binary paths and make cgi files executable
pushd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/CGI/eg/
for i in *.cgi make_links.pl RunMeFirst ; do
sed -i 's|/usr/local/bin/perl|/usr/bin/perl|g' $i
chmod +x $i
done
popd
# miniperl? As an interpreter? How odd.
sed -i 's|./miniperl|/usr/bin/perl|' $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/ExtUtils/xsubpp
chmod +x $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/ExtUtils/xsubpp
# Don't need the .packlist
rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{perl_archname}/.packlist
# Fix some manpages to be UTF-8
pushd $RPM_BUILD_ROOT%{_mandir}/man1/
for i in perl588delta.1 perldelta.1 ; do
iconv -f MS-ANSI -t UTF-8 $i --output new-$i
rm -rf $i
mv new-$i $i
done
popd
chmod -R u+w $RPM_BUILD_ROOT/* chmod -R u+w $RPM_BUILD_ROOT/*
%if %{perl_debugging} %if %{perl_debugging}
exit 0 exit 0
@ -568,8 +422,12 @@ exit 0
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%check
make test
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc Copying README
%{_mandir}/man1/*.1* %{_mandir}/man1/*.1*
%{_mandir}/man3/*.3* %{_mandir}/man3/*.3*
%{_bindir}/* %{_bindir}/*
@ -577,18 +435,25 @@ rm -rf $RPM_BUILD_ROOT
%ifarch %{multilib_64_archs} %ifarch %{multilib_64_archs}
/usr/lib/perl5/ /usr/lib/perl5/
%endif %endif
%if %{suidperl}
%exclude %{_bindir}/suidperl %exclude %{_bindir}/suidperl
%exclude %{_bindir}/sperl%{perlver} %exclude %{_bindir}/sperl%{version}
%endif %exclude %{_libdir}/perl5/%{version}/%{perl_archname}/CORE/*.h
%exclude %{_libdir}/perl5/%{version}/Encode/*.h
%files devel
%defattr(-,root,root,-)
%{_libdir}/perl5/%{version}/%{perl_archname}/CORE/*.h
%{_libdir}/perl5/%{version}/Encode/*.h
%if %{suidperl}
%files suidperl %files suidperl
%defattr(-,root,root,-)
%{_bindir}/suidperl %{_bindir}/suidperl
%{_bindir}/sperl%{perlver} %{_bindir}/sperl%{version}
%endif
%changelog %changelog
* Sat Feb 3 2007 Tom "spot" Callaway <tcallawa@redhat.com> - 4:5.8.8-13
- massive cleanups
* Wed Jan 24 2007 Jindrich Novy <jnovy@redhat.com> - 4:5.8.8-12 * Wed Jan 24 2007 Jindrich Novy <jnovy@redhat.com> - 4:5.8.8-12
- put dist tag directly to perlrel to fix dependency to suidperl - put dist tag directly to perlrel to fix dependency to suidperl
@ -854,9 +719,9 @@ rm -rf $RPM_BUILD_ROOT
should solve the MRTG/SELinux cron spam issue should solve the MRTG/SELinux cron spam issue
* Tue Mar 23 2004 Chip Turner <cturner@redhat.com> 3:5.8.3-14 * Tue Mar 23 2004 Chip Turner <cturner@redhat.com> 3:5.8.3-14
- make sure multilib boxes also own the entries in @INC that are in /usr/lib, not just %_libdir - make sure multilib boxes also own the entries in @INC that are in /usr/lib, not just %%_libdir
* Tue Mar 9 2004 Chip Turner <cturner@redhat.com> 3:5.8.3-%{perlrel}.1 * Tue Mar 9 2004 Chip Turner <cturner@redhat.com> 3:5.8.3-%%{perlrel}.1
- fix i386-specifics in %%install to arch generic - fix i386-specifics in %%install to arch generic
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com> * Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
@ -940,34 +805,34 @@ rm -rf $RPM_BUILD_ROOT
* Thu Jul 10 2003 Chip Turner <cturner@redhat.com> 3:5.8.0-90.rc1 * Thu Jul 10 2003 Chip Turner <cturner@redhat.com> 3:5.8.0-90.rc1
- upgrade to 5.8.1 RC1 - upgrade to 5.8.1 RC1
* Mon Jul 7 2003 Chip Turner <cturner@redhat.com> 3:5.8.0-89.pre%{PRELEVEL}.0 * Mon Jul 7 2003 Chip Turner <cturner@redhat.com> 3:5.8.0-89.pre%%{PRELEVEL}.0
- integrate another pre-5.8.1 release - integrate another pre-5.8.1 release
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com> * Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt - rebuilt
* Mon May 19 2003 Chip Turner <cturner@redhat.com> 3:5.8.0-89.pre%{PRELEVEL}.0 * Mon May 19 2003 Chip Turner <cturner@redhat.com> 3:5.8.0-89.pre%%{PRELEVEL}.0
- bump epoch since we went from perl 5.8.1-pre to 5.8.0-pre (ie, - bump epoch since we went from perl 5.8.1-pre to 5.8.0-pre (ie,
changed what version perl thought of itself as) changed what version perl thought of itself as)
* Mon May 5 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%{PRELEVEL}.3 * Mon May 5 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%%{PRELEVEL}.3
- rebuild - rebuild
* Thu May 1 2003 Chip Turner <cturner@redhat.com> * Thu May 1 2003 Chip Turner <cturner@redhat.com>
- bump for rebuilg - bump for rebuilg
* Sun Apr 27 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%{PRELEVEL}.1 * Sun Apr 27 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%%{PRELEVEL}.1
- fix the fix for RPM_BUILD_ROOT substitution - fix the fix for RPM_BUILD_ROOT substitution
* Tue Apr 22 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%{PRELEVEL}.3 * Tue Apr 22 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%%{PRELEVEL}.3
- fix Config.pm; lost when h2ph changes made - fix Config.pm; lost when h2ph changes made
* Thu Apr 17 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%{PRELEVEL} * Thu Apr 17 2003 Chip Turner <cturner@redhat.com> 2:5.8.1-0.pre%%{PRELEVEL}
- move to latest snapshot, 19261 - move to latest snapshot, 19261
* Tue Feb 18 2003 Chip Turner <cturner@redhat.com> * Tue Feb 18 2003 Chip Turner <cturner@redhat.com>
- fix MANIFEST.DB_File handling for #83410; problem was unsubstituted - fix MANIFEST.DB_File handling for #83410; problem was unsubstituted
%{_libdir} that crept in with multilib %%{_libdir} that crept in with multilib
* Tue Feb 18 2003 Bill Nottingham <notting@redhat.com> 5.8.0-87 * Tue Feb 18 2003 Bill Nottingham <notting@redhat.com> 5.8.0-87
- clean up backup files from patches (#82838) - clean up backup files from patches (#82838)
@ -1084,7 +949,7 @@ rm -rf $RPM_BUILD_ROOT
* Mon Jul 31 2000 Nalin Dahyabhai <nalin@redhat.com> * Mon Jul 31 2000 Nalin Dahyabhai <nalin@redhat.com>
- add Owen's fix for #14779/#14863 - add Owen's fix for #14779/#14863
- specify cc=%{__cc}; continue to let cpp sort itself out - specify cc=%%{__cc}; continue to let cpp sort itself out
- switch shadow support on (#8646) - switch shadow support on (#8646)
- release 7 - release 7