Summary(zh_CN): Perl ±à³ÌÓïÑÔ¡£
Name: perl
Version: 5.6.1
-Release: 56
+Release: 65
Epoch: 1
License: GPL/Artistic
Group: Applications/Text
Patch9: %{name}-use-LD_PRELOAD-for-lib%{name}.so.patch
Patch10: %{name}-sitearch.patch
Patch11: %{name}-soname.patch
-Patch12: %{name}-db3.patch
+Patch12: %{name}-db4.patch
Patch13: %{name}-gcc3.patch
URL: http://www.perl.org/
-BuildRequires: db3-devel
+BuildRequires: db-devel > 4.1
BuildRequires: gdbm-devel
-Requires: perl-Class-Fields
+BuildRequires: ed
Provides: perl(DynaLoader)
Provides: perl-File-Spec = 0.82
Provides: perl-IO = 1.20
-Dsitelib=%{_libdir}/perl5/site_perl \
-Dman1dir=%{_mandir}/man1 \
-Dman3dir=%{_mandir}/man3 \
- -Dman3ext=3pm \
+ -Dman1ext=1 \
+ -Dman3ext=3perl \
-Doptimize="%{rpmcflags}" \
${USETHREADS}usethreads \
-Uuselargefiles \
-Ud_setresuid \
-Ud_setresgid
-mv -f Makefile Makefile.bak
-sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
- Makefile.bak > Makefile
+%{__make} CCDLFLAGS=-rdynamic
-%{__make}
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install
install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
-## Generate *.ph files with a trick (based on RH).
-
-%{__make} all -f - <<EOF
-PKGS = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
- libpng-devel libtiff-devel ncurses-devel popt-devel \
- zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
- rpm-devel
-STDH = \$(filter %{_includedir}/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
-STDH += \$(wildcard %{_includedir}/linux/*.h) \$(wildcard %{_includedir}/asm/*.h) \$(wildcard %{_includedir}/scsi/*.h)
-GCCDIR = \$(shell gcc --print-file-name include)
-GCCH = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
-
-LIBPATH = %{_builddir}/%{name}-%{version}
-PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
-PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
-PERL = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
-PHDIR = \$(PERLLIB)/%{_target_platform}%{perlthread}
-PHBIN = $RPM_BUILD_ROOT%{_bindir}/h2ph
-H2PH = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
-
-all: std-headers gcc-headers
-
-std-headers: \$(STDH)
- cd %{_includedir} && \$(H2PH) \$(STDH:%{_includedir}/%%=%%)
-
-gcc-headers: \$(GCCH)
- cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
-
-EOF
+## Generate *.ph files (based on MDK, which based on Debian ;-)
+(
+LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}
+PERL5LIB=$RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
+PERL=$RPM_BUILD_ROOT%{_bindir}/perl
+H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph
+PHDIR=$PERL5LIB/%{_target_platform}*
+WANTED='
+ syscall.h
+ syslog.h
+ termios.h
+ wait.h
+ asm/termios.h
+ sys/ioctl.h
+ sys/socket.h
+ sys/syscall.h
+ sys/time.h
+'
+cd /usr/include
+$PERL $H2PH -a -d $PHDIR $WANTED
+)
## Fix paths
(
# dir tree for other perl modules
(cd $RPM_BUILD_ROOT%{_libdir}/perl5/site_perl
-install -d AI Apache Archive Array Astro Audio Authen B Bundle Business \
- CGI Class Config Convert Crypt DBD Data Date Devel Digest ExtUtils File \
- Filesys Font Games Getopt Graph HTML HTTP I18N IO/Socket IPC \
+install -d AI/NeuralNet Algorithm Apache Archive Array Astro Attribute \
+ Audio Authen B Bundle Business CGI Cache Chart Class Config \
+ Convert Crypt DBD Data Date Devel Digest Error ExtUtils File \
+ Filesys Font Games Getopt GnuPG Graph HTML HTTP I18N IO/Socket IPC \
Image Inline Language Lingua/EN List Locale Log MIME Mail Math \
- Module Net/SMTP NetServer Netscape News Number OLE Parse Pod PostScript \
- Proc RADIUS RPC Regexp SOAP/Transport Set Sort Speech Spreadsheet Sub Statistics \
- String Sys TeX Test Text/Query Tie Time Tree WWW XML \
- auto/{AI,Array,Crypt,Mail,Net,Statistics,Text,WWW}
+ Module Net/SMTP NetServer Netscape News Number OLE Parse Pod \
+ PostScript Proc RADIUS RPC RPM Regexp SOAP/Transport SQL Schedule \
+ Set Sort Speech Spreadsheet Statistics String Sub Sys TeX Test \
+ Text/Query Tie Time Tree Unicode WWW XML/{Filter,Handler,Parser} \
+ auto/{AI,Array,Crypt,Data,Mail,Net,Schedule,Statistics,Text,WWW}
cd %{_target_platform}*/%{version}
-install -d Astro Audio Authen BSD Bit Compress Crypt/OpenSSL Data Devel Digest \
- File IPC Locale Math Net Speech String Term Text Unicode XML \
+install -d Astro Audio Authen B BSD Bit Compress Crypt/OpenSSL Data Devel \
+ Digest File IPC Inline Locale Math Net Speech/Recognizer String Term \
+ Text Unicode XML \
auto/{Astro,Audio,Authen,BSD,Bit,Compress,Crypt/OpenSSL,Data,Devel} \
- auto/{Digest,File,IPC,Locale,Math,Net,Speech,String,Term,Text} \
- auto/{Unicode,XML}
+ auto/{Digest,File,IPC,Inline,Locale,Math,Net,Speech/Recognizer,String} \
+ auto/{Term,Text,Unicode,XML}
)
# These File::Spec submodules are for non-Unix systems
rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/File/Spec/[EMOVW]*.pm
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3pm*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3p*
#
# Newer Test::Harness is available as a separate package
rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/Test/Harness.pm
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/Test::Harness.3pm*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/Test::Harness.3p*
#
# Newer DB_File is available as a separate package
rm -rf $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DB_File
rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}*/DB_File.pm
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/DB_File.3pm*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/DB_File.3p*
#
# Newer CGI is available as a separate package
rm -rf $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/CGI*
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/CGI*.3pm*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/CGI*.3p*
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+# why is it there...?
+rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}*/CORE/sperl.o
+
+# documentation suffixes: .1/.3perl for core modules and .1p/.3pm for built from CPAN
+echo -e ",s/^man1ext='1'/man1ext='1p'/\n,s/^man3ext='3perl'/man3ext='3pm'/\nw" | ed \
+ $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}*/Config.pm
+
%clean
rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/perl5/site_perl
%{_libdir}/perl5/site_perl/AI
+%{_libdir}/perl5/site_perl/Algorithm
%{_libdir}/perl5/site_perl/Apache
-%{_libdir}/perl5/site_perl/Audio
-%{_libdir}/perl5/site_perl/Astro
%{_libdir}/perl5/site_perl/Archive
%{_libdir}/perl5/site_perl/Array
+%{_libdir}/perl5/site_perl/Astro
+%{_libdir}/perl5/site_perl/Attribute
+%{_libdir}/perl5/site_perl/Audio
%{_libdir}/perl5/site_perl/Authen
%{_libdir}/perl5/site_perl/Bundle
%{_libdir}/perl5/site_perl/Business
%{_libdir}/perl5/site_perl/CGI
+%{_libdir}/perl5/site_perl/Cache
+%{_libdir}/perl5/site_perl/Chart
%{_libdir}/perl5/site_perl/Class
%{_libdir}/perl5/site_perl/Config
%{_libdir}/perl5/site_perl/Convert
%{_libdir}/perl5/site_perl/Date
%{_libdir}/perl5/site_perl/Devel
%{_libdir}/perl5/site_perl/Digest
+%{_libdir}/perl5/site_perl/Error
%{_libdir}/perl5/site_perl/ExtUtils
%{_libdir}/perl5/site_perl/File
%{_libdir}/perl5/site_perl/Filesys
%{_libdir}/perl5/site_perl/Font
%{_libdir}/perl5/site_perl/Games
%{_libdir}/perl5/site_perl/Getopt
+%{_libdir}/perl5/site_perl/GnuPG
%{_libdir}/perl5/site_perl/Graph
%{_libdir}/perl5/site_perl/HTML
%{_libdir}/perl5/site_perl/HTTP
%{_libdir}/perl5/site_perl/Mail
%{_libdir}/perl5/site_perl/Math
%{_libdir}/perl5/site_perl/Module
-%{_libdir}/perl5/site_perl/News
%{_libdir}/perl5/site_perl/Net
+%{_libdir}/perl5/site_perl/News
%{_libdir}/perl5/site_perl/Number
%{_libdir}/perl5/site_perl/OLE
%{_libdir}/perl5/site_perl/Parse
%{_libdir}/perl5/site_perl/Proc
%{_libdir}/perl5/site_perl/RADIUS
%{_libdir}/perl5/site_perl/RPC
+%{_libdir}/perl5/site_perl/RPM
%{_libdir}/perl5/site_perl/Regexp
+%{_libdir}/perl5/site_perl/SQL
+%{_libdir}/perl5/site_perl/Schedule
%{_libdir}/perl5/site_perl/Set
%{_libdir}/perl5/site_perl/Sort
%{_libdir}/perl5/site_perl/Speech
%{_libdir}/perl5/site_perl/Tie
%{_libdir}/perl5/site_perl/Time
%{_libdir}/perl5/site_perl/Tree
+%{_libdir}/perl5/site_perl/Unicode
%{_libdir}/perl5/site_perl/WWW
%{_libdir}/perl5/site_perl/XML
%{_libdir}/perl5/site_perl/auto
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/Digest
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/File
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/IPC
+%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/Inline
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/Locale
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/Math
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/Net
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/Digest
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/File
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/IPC
+%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/Inline
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/Locale
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/Math
%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/auto/Net
%{_libdir}/perl5/%{version}/Time/Local.pm
%{_libdir}/perl5/%{version}/attributes.pm
%{_libdir}/perl5/%{version}/autouse.pm
-# newer versions are in perl-Class-Fields
-#%{_libdir}/perl5/%{version}/base.pm
-#%{_libdir}/perl5/%{version}/fields.pm
+%{_libdir}/perl5/%{version}/base.pm
+%{_libdir}/perl5/%{version}/fields.pm
%{_libdir}/perl5/%{version}/constant.pm
%{_libdir}/perl5/%{version}/integer.pm
%{_libdir}/perl5/%{version}/lib.pm
%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.bs
%attr(755,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.so
+# *.ph files
+%{_libdir}/perl5/%{version}/%{_target_platform}*/*.ph
+%{_libdir}/perl5/%{version}/%{_target_platform}*/asm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/bits
+%{_libdir}/perl5/%{version}/%{_target_platform}*/gnu
+%{_libdir}/perl5/%{version}/%{_target_platform}*/linux
+%{_libdir}/perl5/%{version}/%{_target_platform}*/sys
+
%{_mandir}/man1/a2p.1*
%{_mandir}/man1/dprofpp.1*
%{_mandir}/man1/find2perl.1*
%{_mandir}/man3/[Xivw]*
%{_mandir}/man3/attri*
%{_mandir}/man3/au*
-# newer versions are in perl-Class-Fields
-#%{_mandir}/man3/base.*
-#%{_mandir}/man3/fields.*
+%{_mandir}/man3/base.*
+%{_mandir}/man3/fields.*
%{_mandir}/man3/co*
%{_mandir}/man3/l[io]*
%{_mandir}/man3/ov*
%{_libdir}/perl5/site_perl/NetServer
%{_libdir}/perl5/site_perl/Netscape
%{_libdir}/perl5/site_perl/SOAP
+%{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}/B
%{_libdir}/perl5/%{version}/B
%{_libdir}/perl5/%{version}/CPAN
%{_libdir}/perl5/%{version}/Devel
%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Opcode
%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Opcode/Opcode.bs
%attr(755,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Opcode/Opcode.so
+#%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/ODBM_File
+#%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/ODBM_File/ODBM_File.bs
+#%attr(755,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/ODBM_File/ODBM_File.so
%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/[a-su-w]*.al
%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/time.al
%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/tolower.al
%{_libdir}/perl5/%{version}/%{_target_platform}*/GDBM_File.pm
%{_libdir}/perl5/%{version}/%{_target_platform}*/NDBM_File.pm
%{_libdir}/perl5/%{version}/%{_target_platform}*/Opcode.pm
+#%{_libdir}/perl5/%{version}/%{_target_platform}*/ODBM_File.pm
%{_libdir}/perl5/%{version}/%{_target_platform}*/O.pm
%{_libdir}/perl5/%{version}/%{_target_platform}*/ops.pm
%{_libdir}/perl5/%{version}/%{_target_platform}*/re.pm