#
# Conditional build:
-# _without_tests - do not perform "make test"
-# _without_threads - build without support for threads
-# _without_largefiles - build without large file support
-# _without_gdbm - build without the GDBM_File module
+%bcond_without tests # do not perform "make test"
+%bcond_without threads # build without support for threads
+%bcond_without gdbm # build without the GDBM_File module
+%bcond_with microperl # build microperl (needs fixing)
#
# TODO:
-# - Think about unicore. If uf8*.pm, encode.pm, charnames.pm (and
-# probably others) are in the perl-base package, unicore should also
-# be there. But it's 5MB...
# - fix "FIXME"s, review "XXX"s
-# - fix perl.prov's handling in rpm -- it should use the __perl macro
# - add the {O,N}DBM_File modules
# - review the perldiag.pod issue
# - consider disabling ithreads by default
# - consider introducing perl-dirs
+# - what about "prove" (binary+manual)? (conflicts with standalone Test-Harness)
+# - patch MakeMaker to get rid of empty *.bs files (MM_Unix::dynamic_bs())
#
# TODO for perl-dependent packages:
# - change all "R/BR: perl" to one of perl-{base,modules,devel}
-# - use the requires_eq(perl-base) for all packages strictly depending
-# on the perl version used for building (files in perl_vendorarch
-# directories; dependency on libperl.so.* often doesn't exist)
-# (should this be done on Ra-branch, too?)
#
-%define perlthread %{?!_without_threads:-thread-multi}
+%define _abi 5.8.0
+
+%define perlthread %{?with_threads:-thread-multi}
%define perl_privlib %{_datadir}/perl5/%{version}
%define perl_archlib %{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
%define perl_sitelib %{_usr}/local/share/perl5
-%define perl_sitearch %{_usr}/local/lib/perl5/%{version}/%{_target_platform}%{perlthread}
+%define perl_sitearch %{_usr}/local/lib/perl5/%{_abi}/%{_target_platform}%{perlthread}
%define perl_vendorlib %{_datadir}/perl5/vendor_perl
-%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{version}/%{_target_platform}%{perlthread}
+%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{_abi}/%{_target_platform}%{perlthread}
Summary: Practical Extraction and Report Language (Perl)
Summary(cs): Programovací jazyk Perl
Summary(it): Perl: linguaggio di programmazione
Summary(ja): Perl ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
Summary(ko): ÆÞ ÇÁ·Î±×·¡¹Ö ¾ð¾î
-Summary(no): Programmeringsspråket Perl
+Summary(nb): Programmeringsspråket Perl
Summary(pl): Interpreter jêzyka Perl (Practical Extraction and Report Language)
Summary(pt): A linguagem de programação Perl
Summary(pt_BR): Linguagem prática de extração e relatório
Summary(tr): Kabuk yorumlama dili
Summary(zh_CN): Perl ±à³ÌÓïÑÔ¡£
Name: perl
-Version: 5.8.0
-Release: 1%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
+Version: 5.8.8
+Release: 0.1%{!?with_threads:_nothr}
Epoch: 1
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
-Source0: http://www.cpan.org/src/%{name}-%{version}.tar.gz
-# Source0-md5: d9bdb180620306023fd35901a2878b62
+Source0: http://www.cpan.org/src/%{name}-%{version}.tar.bz2
+# Source0-md5: a377c0c67ab43fd96eeec29ce19e8382
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: de47d7893f49ad7f41ba69c78511c0db
-Source2: %{name}.prov
-Source3: find-perl-provides.sh
-Patch0: %{name}_580-noroot_install.patch
-Patch1: %{name}_580-INC.patch
-Patch2: %{name}_580-MakeMaker.patch
+Source2: perl.prov
+Patch0: %{name}_581-noroot_install.patch
+Patch1: %{name}_581-INC.patch
Patch3: %{name}_580-errno_h-parsing.patch
Patch4: %{name}_580-use-LD_PRELOAD-for-libperl.so.patch
-Patch5: %{name}_580-soname.patch
-Patch6: %{name}_580-Safe.patch
-Patch7: %{name}_580-microperl_uconfig.patch
-URL: http://www.perl.com/
-# versions [4.2, 4.3-0.20030610.20.1] are not supported
-BuildRequires: rpm-build >= 4.3-0.20030610.20.2
-%{?!_without_gdbm:BuildRequires: gdbm-devel}
-Requires: %{name}-base = %{epoch}:%{version}
-Requires: %{name}-modules = %{epoch}:%{version}
-Requires: perl-doc-reference
+Patch5: %{name}_581-soname.patch
+Patch6: %{name}-test-noproc.patch
+Patch7: %{name}_585-microperl_uconfig.patch
+#Patch8: %{name}_587-Pod_Usage_version.patch
+Patch9: %{name}-getgrent.patch
+Patch10: %{name}-5.8.7-172396.patch
+Patch11: %{name}-5.8.7-CAN-2004-0976.patch
+#Patch12: %{name}-5.8.7-CVE-2005-3962-bz174684.patch
+#Patch13: %{name}-5.8.7-bz172236.patch
+#Patch14: %{name}-5.8.7-bz172587.patch
+#Patch15: %{name}-5.8.7-bz172739_obz36521.patch
+URL: http://dev.perl.org/perl5/
+# required for proper Provides generation (older are not supported by spec)
+BuildRequires: rpm-build >= 4.3-0.20040107.4
+%{?with_gdbm:BuildRequires: gdbm-devel}
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
+Requires: %{name}-doc-reference = %{epoch}:%{version}-%{release}
Requires: perldoc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define __perl LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" %{buildroot}%{_bindir}/perl
+%define __perl %{_builddir}/%{name}-%{version}/runperl
+%define __perl_provides %{__perl} %{SOURCE2}
-%if 0%{?_use_internal_dependency_generator:1}
-%define _use_internal_dependency_generator 0
-# we can do it as there is no _noautoprov* in this spec
-%define __find_provides /usr/bin/rpmdeps --define="__perl_provides /bin/sh -c '%{__perl} %{SOURCE2}'" --define="__perl_requires /bin/sh -c 'cat >/dev/null'" --provides
-%else
-# for rpm <= 4.1
-%define __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides.sh
-%endif
+# gcc 3.3.x miscompiles pp_hot.c
+# (in PUSHSUB in entersub two SvREFCNT_inc()s are working as one)
+# -fno-strict-aliasing is already used to build Perl and doesn't help
+%define specflags_ppc -O1
%description
Perl is an interpreted language optimized for scanning arbitrary text
praktisk og effektivt. Det bruges for at gøre en mængd forskellige
saker, men de almindeligeste programmerne er systemadministration og
webbprogrammering. En stor andel af CGI-skripten på webben er skrivna
-i Perl. Du behøver installere pakken perl på dit system så at ditt
+i Perl. Du behøver installere pakken Perl på dit system så at ditt
system kan behandle Perlskript.
%description -l de
yang baik. Ciri khas Perl adalah kepraktisan dan efisiensi. Meski
digunakan untuk berbagai hal, aplikasi Perl yang paling umum adalah
utilitas sistem administrasi dan pemrograman web. Sebagian besar skrip
-CGI yang ada di web ditulis dalam Perl. Anda perlu memasang paket perl
+CGI yang ada di web ditulis dalam Perl. Anda Perlu memasang paket Perl
di sistem agar dapat menjalankan skrip-skrip Perl.
%description -l is
kostir eru nytsamleiki og virkni. Á meðan það er notað til að gera
marga mismunandi hluti, Perl mest notuðu forrit eru krefisstjórnunar
tól og vef forritun Stór hluti af CGI forritum á vefnum eru skrifaðar
-í Perl. Þú þarft perl pakkann settan upp á þínu krefi svo þitt kerfi
+í Perl. Þú þarft Perl pakkann settan upp á þínu krefi svo þitt kerfi
geti notað Perl scriptur.
%description -l it
per numerosi scopi, ma le sue applicazioni più diffuse sono le utility
di amministrazione del sistema e la programmazione Web. Una grossa
parte degli script CGI nel Web sono scritti in Perl. È consigliabile
-installare il pacchetto perl in modo che il sistema sia in grado di
+installare il pacchetto Perl in modo che il sistema sia in grado di
gestire gli script di Perl.
%description -l ja
»ÈÍѤµ¤ì¤Þ¤¹¤¬¡¢ Perl¤ÎºÇ¤âÉÑÈˤʳèÍѤϥ·¥¹¥Æ¥à¥¢¥É¥ß¥Ë¥¹¥È¥ì¡¼¥·¥ç¥ó
¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤È web¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤¹¡£web¾å¤Î ÂçÉôʬ¤ÎCGI"
¥¹¥¯¥ê¥×¥È¤¬Perl¤Ç½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤¬Perl¥¹¥¯¥ê¥×¥È¤ò
-½èÍý½ÐÍè¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï perl¥Ñ¥Ã¥±¡¼¥¸¤ò ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
+½èÍý½ÐÍè¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï Perl¥Ñ¥Ã¥±¡¼¥¸¤ò ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë
ɬÍפ¬¤¢¤ê¤Þ¤¹¡£
%description -l pl
elegancki, minimalny).
%description -l pt
-O perl é uma linguagem de programação de alto nível que tem como
-raizes o C, sed, awk, e 'shell scripting'. O perl é bom a manipular
+O Perl é uma linguagem de programação de alto nível que tem como
+raizes o C, sed, awk, e 'shell scripting'. O Perl é bom a manipular
processos e ficheiros, e é especialmente bom para manipular texto.
Características do Perl são a eficiência e o uso prático. As
aplicações mais comuns do Perl são utilitários de administração de
sistema e programação Web. Uma grande parte dos 'scripts' CGI na Web
-são escritos em Perl. Você precisa do pacote perl instalado no seu
+são escritos em Perl. Você precisa do pacote Perl instalado no seu
sistema de maneira a que este possa tratar de 'scripts' de Perl.
%description -l pt_BR
praktiènos» a efektivita. Aj keï je pou¾ívaný pre mno¾stvo rozlièných
èinností, jeho najèastej¹ím pou¾itím (a kde vyniká najviac) sú
pravdepodobne nástroje pre správu systému a programovanie na Webe.
-Veµká èas» CGI skriptov na Webe je napísaná v Perle. Balík perl
+Veµká èas» CGI skriptov na Webe je napísaná v Perle. Balík Perl
potrebujete ma» nain¹talovaný, aby bol vá¹ systém schopný spracova»
Perl skripty.
praktiskt och effektivt. Det används för att göra en mängd olika
saker, men de vanligaste tillämpningarna är systemadministration och
webbprogrammering. En stor andel av CGI-skripten på webben är skrivna
-i Perl. Du behöver installera paketet perl på ditt system så att ditt
+i Perl. Du behöver installera paketet Perl på ditt system så att ditt
%description -l tr
Perl, metin dosyalarýný taramak, bu metin dosyalarýndan bilgi çýkarmak
µÄÌصãÔÚÓÚÆäʵÓÃÐÔºÍÓÐЧÐÔ¡£
¾¡¹ÜËü¿ÉÓÃÓÚÖ´ÐÐÐí¶à²»Í¬µÄÈÎÎñ£¬µ«ÊÇͨ³£¶àÓ¦ÓÃÓÚϵͳ¹ÜÀíʵÓóÌÐòºÍ Web
±à³Ì¡£\n Web ÉÏµÄ´ó²¿·Ö CGI ½Å±¾¾ùʹÓà Perl
-ÓïÑÔ½øÐбàд¡£Äú±ØÐëÔÚϵͳÖа²×° perl Èí¼þ°ü£¬ ÒԱ㴦Àí Perl ½Å±¾¡£
+ÓïÑÔ½øÐбàд¡£Äú±ØÐëÔÚϵͳÖа²×° Perl Èí¼þ°ü£¬ ÒԱ㴦Àí Perl ½Å±¾¡£
%package base
-Summary: Base perl components for a minimal installation
-Summary(pl): Podstawowe sk³adniki potrzebne do minimalnej instalacji perla
-Group: Text/Applications
+Summary: Base Perl components for a minimal installation
+Summary(pl): Podstawowe sk³adniki potrzebne do minimalnej instalacji Perla
+Group: Development/Languages/Perl
Provides: perl-File-Compare = 1.1003
-Provides: perl-File-Spec = 0.83
-Provides: perl-File-Temp = 0.13
-Provides: perl-IO = 1.20
-Provides: perl-Safe = 2.09
-Provides: perl-Socket = 1.75
-Provides: perl-Tie-File = 0.93
-%{?!_without_largefiles:Provides: perl(largefiles)}
-# broken, unsupported module
+Provides: perl-File-Spec = 3.12
+Provides: perl-File-Temp = 0.16
+Provides: perl-IO = 1.22
+Provides: perl-Safe = 2.12
+Provides: perl-Socket = 1.78
+Provides: perl-Tie-File = 0.97
+Provides: perl(largefiles)
+# broken, unsupported modules
Obsoletes: perl-SOAP
+Obsoletes: perl-Sort-PolySort
+Conflicts: perl < 1:5.8.0
%description base
-Base components, files, core modules, etc. -- a minimal usable perl
-installation. You are encouraged to install a full perl (the perl
+Base components, files, core modules, etc. -- a minimal usable Perl
+installation. You are encouraged to install a full Perl (the perl
package) whenever possible.
%description base -l pl
Podstawowe sk³adniki, pliki, g³ówne modu³y itp. - minimalna instalacja
-perla, nadaj±ca siê do u¿ytku. Zaleca siê instalacjê pe³nego perla
+Perla, nadaj±ca siê do u¿ytku. Zaleca siê instalacjê pe³nego Perla
(pakietu perl), je¶li to tylko mo¿liwe.
%package GDBM_File
Summary: GDBM_File - Perl5 access to the gdbm library
Summary(pl): GDBM_File - dostêp do biblioteki gdbm w Perlu
Group: Libraries
-Requires: %{name}-base = %{epoch}:%{version}
-# FIXME: Set Version: 1.06 and Release: 1 instead of inheriting
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+# FIXME: Set Version: 1.08 and Release: 1 instead of inheriting
# values from the main package. Why this causes setting
# version and release macros up to the end of this spec?
%package devel
Summary: Perl development files
-Summary(pl): Pliki potrzebne przy tworzeniu w³asnych aplikacji w perlu
-Summary(pt_BR): Arquivos de desenvolvimento e cabeçalhos para o perl
+Summary(pl): Pliki potrzebne przy tworzeniu w³asnych aplikacji w Perlu
+Summary(pt_BR): Arquivos de desenvolvimento e cabeçalhos para o Perl
Group: Development/Libraries
-Requires: %{name}-base = %{epoch}:%{version}
-Requires: %{name}-modules = %{epoch}:%{version}
-Requires: %{name}-tools-pod
-Provides: perl-CPAN = 1.61
-Provides: perl-Devel-DProf = 20000000.00_01
-Provides: perl-Devel-PPPort = 2.0002
-Provides: perl-Devel-Peek = 1.00_03
-Provides: perl-ExtUtils-MakeMaker = 6.03
-Provides: perl-ExtUtils-Embed = 1.250601
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
+Requires: %{name}-tools-pod = %{epoch}:%{version}-%{release}
+Provides: perl-CPAN = 1.76_02
+Provides: perl-Devel-DProf = 20050603.00
+Provides: perl-Devel-PPPort = 3.06_01
+Provides: perl-Devel-Peek = 1.03
+Provides: perl-ExtUtils-Embed = 1.2506_01
+Provides: perl-ExtUtils-MakeMaker = 6.17
Obsoletes: perl-lib-devel
%description devel
Components required for developing applications which embed a Perl
-interpreter and compiling perl modules.
+interpreter and compiling Perl modules.
%description devel -l pl
Sk³adniki potrzebne do tworzenia aplikacji osadzaj±cych interpreter
Extraction and Report Language) i jego interpretera.
%package modules
-Summary: Modules from the core perl distribution
-Summary(pl): Modu³y z podstawowej dystrybucji perla
+Summary: Modules from the core Perl distribution
+Summary(pl): Modu³y z podstawowej dystrybucji Perla
Group: Libraries
-Requires: %{name}-base = %{epoch}:%{version}
-Provides: perl-Attribute-Handlers = 0.77
-Provides: perl-CGI = 2.81
-Provides: perl-Class-ISA = 0.32
-Provides: perl-Digest = 1.00
-Provides: perl-Digest-MD5 = 2.20
-Provides: perl-Filter-Simple = 0.78
-Provides: perl-FindBin = 1.43
-#Provides: perl-Hash-Utils = 0.04 Data::Util is missing
-Provides: perl-IPC-SysV = 1.03_00
-Provides: perl-Locale-Maketext = 1.03
-Provides: perl-MIME-Base64 = 2.12
-Provides: perl-Math-BigInt = 1.60
-Provides: perl-Math-BigRat = 0.07
-Provides: perl-Math-Trig = 1.01
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Provides: perl-Attribute-Handlers = 0.78_02
+Provides: perl-CGI = 3.15
+Provides: perl-Class-ISA = 0.33
+Provides: perl-Digest = 1.14
+Provides: perl-Digest-MD5 = 2.36
+Provides: perl-Filter-Simple = 0.82
+Provides: perl-FindBin = 1.47
+#Provides: perl-Hash-Utils = 0.05 Data::Util is missing
+Provides: perl-I18N-LangTags = 0.35
+Provides: perl-IPC-SysV = 1.04
+Provides: perl-Locale-Codes = 2.07
+Provides: perl-Locale-Maketext = 1.09
+Provides: perl-MIME-Base64 = 3.07
+Provides: perl-Math-BigInt = 1.77
+Provides: perl-Math-BigRat = 0.15
+Provides: perl-Math-Trig = 1.03
Provides: perl-Memoize = 1.01
-Provides: perl-NEXT = 0.50
-Provides: perl-PerlIO-via-QuotedPrint = 0.04
-Provides: perl-Pod-LaTeX = 0.54
-Provides: perl-Pod-Parser = 1.13
-Provides: perl-Scalar-List-Utils = 1.07_00
-Provides: perl-Storable = 2.04
-Provides: perl-Term-ANSIColor = 1.05
-Provides: perl-Term-Cap = 1.07
-Provides: perl-Test = 1.20
-Provides: perl-Test-Harness = 2.26
-Provides: perl-Test-Simple = 0.45
-Provides: perl-Text-Balanced = 1.89
-Provides: perl-Text-ParseWords = 3.21
+Provides: perl-NEXT = 0.60
+Provides: perl-PerlIO-via-QuotedPrint = 0.06
+Provides: perl-Pod-LaTeX = 0.58
+Provides: perl-Pod-Parser = 1.32
+Provides: perl-Scalar-List-Utils = 1.18
+Provides: perl-Storable = 2.15
+Provides: perl-Term-ANSIColor = 1.10
+Provides: perl-Term-Cap = 1.09
+Provides: perl-Test = 1.25
+Provides: perl-Test-Harness = 2.56
+Provides: perl-Test-Simple = 0.62
+Provides: perl-Text-Balanced = 1.95
+Provides: perl-Text-ParseWords = 3.24
Provides: perl-Text-Soundex = 1.01
-Provides: perl-Text-Tabs+Wrap = 2001.0929
-Provides: perl-Time-HiRes = 1.20_00
-Provides: perl-UNIVERSAL = 1.00
-Provides: perl-Unicode-Collate = 0.12
-Provides: perl-Unicode-Normalize = 0.17
+# XXX: I'm not sure what to do with this one...
+#Provides: perl-Text-Tabs+Wrap = 2005.0824(01)
+Provides: perl-Time-HiRes = 1.86
+Provides: perl-UNIVERSAL = 1.01
+Provides: perl-Unicode-Collate = 0.52
+Provides: perl-Unicode-Normalize = 0.32
+Provides: perl-libnet = 1.19
+Obsoletes: perl-Encode-compat
Obsoletes: perl-lib
%description modules
%package perldoc
Summary: perldoc - Look up Perl documentation in pod format
Summary(pl): perldoc - przeszukiwanie dokumentacji Perla w formacie pod
-Provides: perldoc = 2.03@%{version}
-Requires: %{name}-base
Group: Development/Tools
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
+Requires: %{name}-tools-pod = %{epoch}:%{version}-%{release}
+Provides: perldoc = 3.13@%{version}
%description perldoc
perldoc looks up a piece of documentation in .pod format that is
-embedded in the perl installation tree or in a perl script, and
+embedded in the Perl installation tree or in a Perl script, and
displays it via "pod2man | nroff -man | $PAGER". This is primarily
-used for the documentation for the perl library modules.
+used for the documentation for the Perl library modules.
%description perldoc -l pl
perldoc wyszukuje fragment dokumentacji w formacie .pod osadzony w
-drzewie instalacji perla lub w skypcie perlowym i wy¶wietla go przez
+drzewie instalacji Perla lub w skypcie perlowym i wy¶wietla go przez
"pod2man | nroff -man | $PAGER". Program ten u¿ywany jest g³ównie do
-dokumentacji modu³ów z bibliotek perla.
+dokumentacji modu³ów z bibliotek Perla.
%package -n sperl
Summary: Perl setuid root binaries for use with setuid Perl scripts
Summary(it): sperl, da usare con gli script di Perl setuid
Summary(ja): Setuid Perl scripts ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î suidperl
Summary(ko): Setuid ÆÞ ½ºÅ©¸³Æ®¿Í ÇÔ²² »ç¿ëµÇ´Â suidperl
-Summary(pl): Binaria setuid root perla dla setuid-owych skryptów perla
+Summary(pl): Binaria setuid root Perla dla setuid-owych skryptów Perla
Summary(pt): O suidperl, para usar com os programas de Perl 'setuid'
Summary(ru): SUID ×ÅÒÓÉÑ ÑÚÙËÁ Perl
Summary(sv): sperl, att användas med setuid perlskript
Summary(uk): SUID-×ÅÒÓ¦Ñ ÍÏ×É Perl
-Summary(zh_CN): sperl£¬ÓÃÀ´Óë setuid perl ½Å±¾Ò»ÆðʹÓÃ
+Summary(zh_CN): sperl£¬ÓÃÀ´Óë setuid Perl ½Å±¾Ò»ÆðʹÓÃ
Group: Development/Languages/Perl
-Requires: %{name}-base = %{epoch}:%{version}
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
Obsoletes: perl-suidperl
%description -n sperl
-sperl is a setuid root binary copy of perl that allows for (hopefully)
+sperl is a setuid root binary copy of Perl that allows for (hopefully)
more secure running of setuid Perl scripts.
%description -n sperl -l de
setuid-Skripts sicherer ausgeführt werden können.
%description -n sperl -l es
-sperl es una copia binaria de setuid para perl que le permite una
+sperl es una copia binaria de setuid para Perl que le permite una
ejecución más segura de los scripts de Perl setuid.
%description -n sperl -l fr
-sperl est une copie binaire setuid de perl qui permet une exécution
+sperl est une copie binaire setuid de Perl qui permet une exécution
plus sûre de scripts Perl setuid.
%description -n sperl -l it
-sperl è una copia binaria setuid di perl che consente un'esecuzione
+sperl è una copia binaria setuid di Perl che consente un'esecuzione
più sicura di script di Perl setuid.
%description -n sperl -l ja
sperl ¤Ï setuid Perl scripts.¤ò¤â¤Ã¤È°ÂÁ´¤ËÆ°ºî¤Ç¤¤ë(´üÂԤΤ¢¤ë)°Ù¤Î
-perl ¤Îsetuid ¥Ð¥¤¥Ê¥ê ¥³¥Ô¡¼¤Ç¤¹¡£
+Perl ¤Îsetuid ¥Ð¥¤¥Ê¥ê ¥³¥Ô¡¼¤Ç¤¹¡£
%description -n sperl -l pl
-sperl jest to kopia setuid root programu binarnego perl umo¿liwiaj±ca
+sperl jest to kopia setuid root programu binarnego Perl umo¿liwiaj±ca
bezpieczniejsze (miejmy nadziejê) uruchamianie setuidowych skryptów
-perla.
+Perla.
%description -n sperl -l pt
-O suidperl é uma cópia do perl com 'setuid' que permite uma execução
+O suidperl é uma cópia do Perl com 'setuid' que permite uma execução
mais segura dos 'scripts' de Perl 'setuid'.
%description -n sperl -l ru
(förhoppningsvis) säkrare körning av setuid perlskript.
%description -n sperl -l zh_CN
-suidperl ÊÇ perl µÄ setuid ¶þ½øÖƸ±±¾¡£ËüÔÊÐí£¨Ï£ÍûÈç´Ë£© ¸ü°²È«µØÔËÐÐ
+suidperl ÊÇ Perl µÄ setuid ¶þ½øÖƸ±±¾¡£ËüÔÊÐí£¨Ï£ÍûÈç´Ë£© ¸ü°²È«µØÔËÐÐ
setuid perl ½Å±¾¡£
%package tools
-Summary: Various tools from the core perl distribution
-Summary(pl): Ró¿ne narzêdzia z podstawowej dystrybucji perla
+Summary: Various tools from the core Perl distribution
+Summary(pl): Ró¿ne narzêdzia z podstawowej dystrybucji Perla
Group: Applications
-Requires: %{name}-devel = %{epoch}:%{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description tools
-Various tools from the core perl distribution:
-
- a2p - Awk to Perl translator
- find2perl - translate find command lines to Perl code
- piconv - iconv(1), reinvented in perl
- psed, s2p - a stream editor
+Various tools from the core Perl distribution:
+a2p - Awk to Perl translator
+cpan - easily interact with CPAN from the command line
+find2perl - translate find command lines to Perl code
+piconv - iconv(1), reinvented in Perl
+psed, s2p - a stream editor
%description tools -l pl
-Ró¿ne narzêdzia z podstawowej dystrybucji perla:
-
- a2p - translator skryptów Awka do Perla
- find2perl - t³umaczenie linii poleceñ programu find na kod w Perlu
- piconv - iconv(1) napisany w Perlu
- psed, s2p - edytor strumieniowy
+Ró¿ne narzêdzia z podstawowej dystrybucji Perla:
+a2p - translator skryptów Awka do Perla
+cpan - easily interact with CPAN from the command line
+find2perl - t³umaczenie linii poleceñ programu find na kod w Perlu
+piconv - iconv(1) napisany w Perlu
+psed, s2p - edytor strumieniowy
%package tools-devel
-Summary: Developer's tools from the core perl distribution
-Summary(pl): Narzêdzia z podstawowej dystrybucji perla, przeznaczone dla programistów
+Summary: Developer's tools from the core Perl distribution
+Summary(pl): Narzêdzia z podstawowej dystrybucji Perla, przeznaczone dla programistów
Group: Development/Tools
-Requires: %{name}-base = %{epoch}:%{version}
-Requires: %{name}-devel = %{epoch}:%{version}
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description tools-devel
-Various tools from the core perl distribution:
-
- c2ph, pstruct - Dump C structures as generated from C<cc -g -S> stabs
- dprofpp - display perl profile data
- enc2xs - Perl Encode Module Generator
- h2ph - convert .h C header files to .ph Perl header files
- h2xs - convert .h C header files to Perl extensions
- perlcc - generate executables from Perl programs
- perlivp - Perl Installation Verification Procedure
- pl2pm - Rough tool to translate Perl4 .pl files to Perl5 .pm modules.
- splain - force verbose warning diagnostics
+Various tools from the core Perl distribution:
+c2ph, pstruct - Dump C structures as generated from C<cc -g -S> stabs
+dprofpp - display Perl profile data
+enc2xs - Perl Encode Module Generator
+h2ph - convert .h C header files to .ph Perl header files
+h2xs - convert .h C header files to Perl extensions
+perlcc - generate executables from Perl programs
+perlivp - Perl Installation Verification Procedure
+pl2pm - Rough tool to translate Perl4 .pl files to Perl5 .pm modules.
+splain - force verbose warning diagnostics
%description tools-devel -l pl
-Ró¿ne narzêdzia z podstawowej dystrybucji perla:
-
- c2ph, pstruct - zrzucanie struktur C w postaci generowanej z tablic
- symboli z cc -g -S
- dprofpp - wy¶wietlanie perlowych danych profiluj±cych
- enc2xs - generator modu³ów koduj±cych w Perlu
- h2ph - konwerter plików nag³ówkowych .h z C na perlowe pliki
- nag³ówkowe .ph
- h2xs - konwerter plików nag³ówkowych .h z C na rozszerzenia
- Perla
- perlcc - generator binarek z programów w Perlu
- perlivp - procedura weryfikacji instalacji perla
- pl2pm - zgrubne narzêdzie do t³umaczenia plików pl Perla 4 na
- modu³y .pm Perla 5
- splain - wymuszenie obszernych ostrze¿eñ diagnostycznych
+Ró¿ne narzêdzia z podstawowej dystrybucji Perla:
+c2ph, pstruct - zrzucanie struktur C w postaci generowanej z tablic
+ symboli z cc -g -S
+dprofpp - wy¶wietlanie perlowych danych profiluj±cych
+enc2xs - generator modu³ów koduj±cych w Perlu
+h2ph - konwerter plików nag³ówkowych .h z C na perlowe pliki
+ nag³ówkowe .ph
+h2xs - konwerter plików nag³ówkowych .h z C na rozszerzenia
+ Perla
+perlcc - generator binarek z programów w Perlu
+perlivp - procedura weryfikacji instalacji Perla
+pl2pm - zgrubne narzêdzie do t³umaczenia plików pl Perla 4 na
+ modu³y .pm Perla 5
+splain - wymuszenie obszernych ostrze¿eñ diagnostycznych
%package tools-pod
Summary: Tools for manipulating files in the POD format
Summary(pl): Narzêdzia do przetwarzania plików w formacie POD
Group: Applications
-Requires: %{name}-modules = %{epoch}:%{version}
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
%description tools-pod
Tools for manipulating files in the POD (Plain Old Documentation)
format:
-
- pod2html - convert .pod files to .html files
- pod2latex - convert pod documentation to LaTeX format
- pod2man - convert POD data to formatted *roff input
- pod2text - convert POD data to formatted ASCII text
- pod2usage - print usage messages from embedded pod docs in files
- podchecker - check the syntax of POD format documentation files
- podselect - print selected sections of pod documentation
+pod2html - convert .pod files to .html files
+pod2latex - convert pod documentation to LaTeX format
+pod2man - convert POD data to formatted *roff input
+pod2text - convert POD data to formatted ASCII text
+pod2usage - print usage messages from embedded pod docs in files
+podchecker - check the syntax of POD format documentation files
+podselect - print selected sections of pod documentation
%description tools-pod -l pl
Narzêdzia do przetwarzania plików w formacie POD (Plain Old
Documentation):
-
- pod2html - konwerter plików .pod do plików .html
- pod2latex - konwerter dokumentacji pod do formatu LaTeX
- pod2man - konwerter danych POD na wej¶cie sformatowane dla *roffa
- pod2text - konwerter danych POD na sformatowany tekst ASCII
- pod2usage - wypisanie informacji o u¿ywaniu programu z dokumentacji
- osadzonej w plikach
- podchecker - kontrola sk³adni dokumentacji w formacie POD
- podselect - wypisanie wybranych sekcji z dokumentacji POD
+pod2html - konwerter plików .pod do plików .html
+pod2latex - konwerter dokumentacji pod do formatu LaTeX
+pod2man - konwerter danych POD na wej¶cie sformatowane dla *roffa
+pod2text - konwerter danych POD na sformatowany tekst ASCII
+pod2usage - wypisanie informacji o u¿ywaniu programu z dokumentacji
+ osadzonej w plikach
+podchecker - kontrola sk³adni dokumentacji w formacie POD
+podselect - wypisanie wybranych sekcji z dokumentacji POD
%package -n microperl
-Summary: A really minimal perl, even more minimal than miniperl
+Summary: A really minimal Perl, even more minimal than miniperl
Summary(pl): Naprawdê minimalny Perl, nawet bardziej minimalny ni¿ miniperl
# XXX: is there a more appropiate group?
Group: Applications
%description -n microperl
-microperl is supposed to be able a really minimal perl, even more
-minimal than miniperl. No Configure is needed to build microperl, on
+microperl is supposed to be able a really minimal Perl, even more
+minimal than miniperl. No Configure is needed to build microperl, on
the other hand this means that interfaces between Perl and your
operating system are left very -- minimal.
-All this is experimental. If you don't know what to do with microperl
-you probably shouldn't. Do not report bugs in microperl; fix the bugs.
+All this is experimental. If you don't know what to do with microperl
+you probably shouldn't. Do not report bugs in microperl; fix the bugs.
%description -n microperl -l pl
microperl ma byæ naprawdê minimalnym Perlem, nawet bardziej minimalnym
%prep
%setup -q
%patch0 -p1
-%patch1 -p0
-%patch2 -p0
+%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
-
-install -m 0755 %{SOURCE2} $PWD/find-perl.prov
-install -m 0755 %{SOURCE3} $PWD/find-perl-provides.sh
+#%patch7 -p1
+#%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+#%patch12 -p1 # applied
+#%patch13 -p1 # applied
+#%patch14 -p1 # applied
+#%patch15 -p1 # applied
%build
sh Configure \
-des \
- -Dcc=%{__cc} \
+ -Dcc="%{__cc}" \
-Darchname=%{_target_platform} \
-Dcccdlflags='-fPIC' \
-Dccdlflags='-rdynamic' \
+ -Dldlibpthname=none \
-Doptimize="%{rpmcflags}" \
+ %{?debug:-DDEBUGGING} \
-Duseshrplib \
-Dd_dosuid \
-Dman1dir=%{_mandir}/man1 -Dman1ext=1 \
-Dman3dir=%{_mandir}/man3 -Dman3ext=3perl \
- -Dvendorman1=%{_mandir}/man1 -Dvendorman1ext=1p \
- -Dvendorman3=%{_mandir}/man3 -Dvendorman3ext=3pm \
- -Dsiteman1=%{_usr}/local/share/man/man1 -Dsiteman1ext=1p \
- -Dsiteman3=%{_usr}/local/share/man/man3p -Dsiteman3ext=3pm \
+ -Dvendorman1dir=%{_mandir}/man1 -Dvendorman1ext=1p \
+ -Dvendorman3dir=%{_mandir}/man3 -Dvendorman3ext=3pm \
+ -Dsiteman1dir=%{_usr}/local/man/man1 -Dsiteman1ext=1p \
+ -Dsiteman3dir=%{_usr}/local/man/man3 -Dsiteman3ext=3pm \
-Dprefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dsiteprefix=%{_usr}/local \
- -Dprivlib=%{perl_privlib} -Darchlib=%{perl_archlib} \
- -Dsitelib=%{perl_sitelib} -Dsitearch=%{perl_sitearch} \
+ -Dlibpth="%{_libdir} /%{_lib}" \
+ -Dprivlib=%{perl_privlib} -Darchlib=%{perl_archlib} \
+ -Dsitelib=%{perl_sitelib} -Dsitearch=%{perl_sitearch} \
-Dvendorlib=%{perl_vendorlib} -Dvendorarch=%{perl_vendorarch} \
- -Dinstallprefix=$RPM_BUILD_ROOT%{_prefix} \
-Ui_db \
- %{?_without_gdbm: -Ui_dbm -Ui_gdbm -Ui_ndbm} \
- %{?!_without_gdbm: -Ui_dbm -Di_gdbm -Ui_ndbm} \
- -Dlibswanted="dl m c crypt %{?!_without_dbm:gdbm}" \
- -%{?_without_threads:U}%{?!_without_threads:D}usethreads \
- -%{?_without_largefiles:U}%{?!_without_largefiles:D}uselargefiles
+ %{!?with_gdbm: -Ui_dbm -Ui_gdbm -Ui_ndbm} \
+ %{?with_gdbm: -Ui_dbm -Di_gdbm -Ui_ndbm} \
+ -Dlibswanted="dl m c crypt %{?with_gdbm:gdbm}" \
+ -%{?with_threads:D}%{!?with_threads:U}usethreads \
+ -Duselargefiles
## why were these three undefined?
# -Ud_setresgid \
rm -f ext/List/Util/Makefile.PL
cat <<EOF > ext/List/Util/Makefile.PL
use ExtUtils::MakeMaker;
-WriteMakefile(NAME=>"List::Util", VERSION_FROM=>"Util.pm");
+WriteMakefile(NAME=>"List::Util", VERSION_FROM=>"Util.pm", DEFINE=>"-DPERL_EXT");
EOF
-%{__make}
+%{__make} \
+ LIBPERL_SONAME=libperl.so.%{_abi}
+
+cat > runperl <<EOF
+#!/bin/sh
+LD_PRELOAD="%{_builddir}/%{name}-%{version}/libperl.so.%{_abi}" \\
+PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \\
+exec %{buildroot}%{_bindir}/perl \$*
+EOF
+chmod a+x runperl
## microperl
+%if %{with microperl}
rm -f uconfig.h
+#chmod u+w uconfig.sh
+#echo "usemallocwrap='define'" >> uconfig.sh
%{__make} -f Makefile.micro \
archlib=%{perl_archlib} \
archlibexp=%{perl_archlib} \
bin=%{_bindir} \
scriptdir=%{_bindir} \
scriptdirexp=%{_bindir} \
+ usemallocwrap='define' \
OPTIMIZE="%{rpmcflags}"
+%endif
-%{?!_without_tests:%{__make} test}
-#%{?!_without_tests:%{__make} minitest}
+%{?with_tests:%{__make} test -j1}
+#%{?with_tests:%{__make} minitest}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
-%{__make} install
-install microperl $RPM_BUILD_ROOT%{_bindir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+%{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}}
## use symlinks instead of hardlinks
-%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/perl
-%{__ln_s} -f sperl%{version} $RPM_BUILD_ROOT%{_bindir}/suidperl
-%{__ln_s} -f c2ph $RPM_BUILD_ROOT%{_bindir}/pstruct
-%{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p
+%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/perl
+%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/suidperl
+%{__ln_s} -f c2ph $RPM_BUILD_ROOT%{_bindir}/pstruct
+%{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p
## Fix lib
rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so
-%{__ln_s} `%{__perl} -e '$_="'%{perl_archlib}/CORE/libperl.so.%{version}'";s|^'%{_libdir}'/*||;print'` \
- $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{version}
-%{__ln_s} libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
+%{__ln_s} `%{__perl} -e '$_="'%{perl_archlib}/CORE/libperl.so.%{_abi}'";s|^'%{_libdir}'/*||;print'` \
+ $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{_abi}
+%{__ln_s} libperl.so.%{_abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so
## Fix Config.pm: remove buildroot path and change man pages extensions
-%{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
-%{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
-%{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
-
-## prepare scripts for finding provides
-%{__perl} -pi -e 's,\@perl_build_dir\@,%{_builddir}/%{name}-%{version},g' find-perl-provides.sh
-%{__perl} -pi -e 's,\@perl\@,%{__perl},g' find-perl-provides.sh
+%{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
+%{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl
+%{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl
## Generate the *.ph files
-(
+owd="`pwd`"
cd /usr/include
H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph
PHDIR=$RPM_BUILD_ROOT%{perl_archlib}
linux/posix_types.h
linux/stddef.h
'
-%{__perl} $H2PH -a -d $PHDIR $WANTED
-)
+# why it returns non-zero???
+%{__perl} $H2PH -a -d $PHDIR $WANTED || :
+cd "$owd"
## remove man pages for other operating systems
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,apollo,beos,bs2000,ce,cygwin,dgux,dos}* \
$RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,machten,macos,mpeix,os2,os390}* \
$RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vmesa,vms,vos,win32}*
+## symlink perldelta.1 -> perlFOOdelta.1
+[ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{version} | tr -d .)delta.1 ] || exit 1
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1
+ln -s perl%(echo %{version} | tr -d .)delta.1 $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1
+
## These File::Spec submodules are for non-Unix systems
rm -f $RPM_BUILD_ROOT%{perl_privlib}/File/Spec/[EMOVW]*.pm
rm -f $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3pm*
## We already have these *.pod files as man pages
-rm -f $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext}}/*.pod
+rm -f $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext},MakeMaker}/*.pod
rm -f $RPM_BUILD_ROOT%{perl_privlib}/*.pod
rm -f $RPM_BUILD_ROOT%{perl_archlib}/*.pod
## this object file looks unused; why is it there?
rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/sperl.o
+install -d doc-base/{Getopt/Long,Switch} \
+ doc-devel/ExtUtils \
+ doc-modules/{Attribute/Handlers,Filter/Simple,I18N/LangTags,Locale/{Codes,Maketext},Memoize,NEXT,Net/Ping,Term/ANSIColor,Test/Simple,Text/{Balanced,TabsWrap},Unicode/Collate,unicore}
+
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/ExtUtils/{NOTES,PATCHING} \
+ doc-devel/ExtUtils
+
+# needed only for tests
+rm -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/ReadMe.txt \
+ doc-modules/unicore
+# source for *.pl
+rm -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/{*.txt,mktables}
+
## dir tree for other perl modules
install -d $RPM_BUILD_ROOT{%{perl_vendorlib},%{perl_vendorarch},%{perl_vendorarch}/auto}
-(
+owd="`pwd`"
+
cd $RPM_BUILD_ROOT%{perl_vendorlib}
-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 Device Digest Email Error ExtUtils \
- File Filesys Font Games Getopt GnuPG Graph Graphics HTML HTTP I18N \
- IO/Socket IPC Image Inline Language Lingua/{EN,Stem/Snowball} \
- List Locale LockFile Log MIME Mail Math/BigInt Modem 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 UNIVERSAL Unicode WWW \
- XML/{Filter,Handler,Parser} \
- auto/{AI,Array,Config,Crypt,Data,Mail,Net,Schedule,Statistics,Text,WWW}
+install -d AI/NeuralNet Algorithm Apache App/Packer Archive Array Astro \
+ Attribute Audio Authen B Barcode Bundle Business CGI Cache Carp Chart \
+ Cisco Class Config Convert Crypt DBD DNS Data Date/Japanese DateTime \
+ Devel Device Digest Email Error Exporter ExtUtils File/Path Filesys \
+ Font Games Getopt GnuPG Graph Graphics HTML HTTP Hash I18N IO/Socket \
+ IPC Image Inline Jabber Language Lingua/{EN,Stem/Snowball} List \
+ Locale LockFile Log MIME Mail Math/{BigInt,Business,Calc,Fractal} \
+ Modem Module Net/{IDN,SMTP} NetAddr NetServer Netscape News Number \
+ Object OLE PAR PHP Params Parse PerlIO/via Pod PostScript Proc \
+ Quantum RADIUS RPC RPM RTF Regexp SNMP SOAP/Transport SQL SVN \
+ Schedule Set Sort Speech Spreadsheet Statistics String Sub Sys TeX \
+ Template Term/{ReadLine,Screen} Test Text/Query Tie Time Tree \
+ UNIVERSAL Unicode Unix WWW/Google X500 \
+ XML/{Filter,Handler,Parser,RSS,XPath} \
+ auto/{AI,Array,Config,Crypt,Data,Devel,GnuPG,Mail,Math,Net,Schedule} \
+ auto/{Statistics,Text,WWW}
cd $RPM_BUILD_ROOT%{perl_vendorarch}
-install -d Algorithm Astro Audio Authen B BSD Bit Compress Crypt/OpenSSL \
- Data Devel Digest File IPC Inline Locale Math/BigInt Net \
- Speech/Recognizer String Sys Term Text Unicode XML \
- auto/{Astro,Audio,Authen,BSD,Bit,Compress,Crypt/OpenSSL,Data,Devel} \
- auto/{Digest,File,IPC,Inline,Locale,Math/BigInt,Net,Regexp} \
- auto/{Speech/Recognizer,String,Sys,Term,Text,Unicode,XML}
-)
+install -d AI Algorithm Astro Audio Authen B BSD Bit Chemistry Class \
+ Compress Convert Crypt/OpenSSL Data DateTime Devel Device Digest \
+ File IPC Image Inline Linux Locale Math/BigInt Net Ogg/Vorbis PerlIO \
+ Speech/Recognizer String Sys Template Term Text Time Unicode WWW XML \
+ auto/{AI,Algorithm,Astro,Audio,Authen,BSD,Bit,Chemistry,Class,Clone} \
+ auto/{Compress,Convert,Crypt/OpenSSL,Data,Devel,Device,Digest,File} \
+ auto/{IPC,Image,Inline,Locale,Linux,Math/BigInt,Net,Ogg/Vorbis} \
+ auto/{PerlIO,Regexp,Speech/Recognizer,String,Sys,Term,Text,Time} \
+ auto/{Unicode,WWW,XML}
+
+cd "$owd"
## non-english man pages
%{__bzip2} -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlcn.* $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perljp.* $RPM_BUILD_ROOT%{_mandir}/ja/man1
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlko.* $RPM_BUILD_ROOT%{_mandir}/ko/man1
-# mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1
+mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1
## examples and demos
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}
mv $RPM_BUILD_ROOT%{perl_privlib}/CGI/eg \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/CGI
-mv $RPM_BUILD_ROOT%{perl_privlib}/Attribute/Handlers/demo \
- $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/Attribute-Handlers
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/Attribute::Handlers::demo*
-rm -f $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA/test.pl
-rmdir $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA
-mv $RPM_BUILD_ROOT%{perl_privlib}/Net/demos \
- $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/Net
+
+# XXX: bug bug bug...
+mv $RPM_BUILD_ROOT%{perl_privlib}/auto/POSIX/SigAction \
+ $RPM_BUILD_ROOT%{perl_archlib}/auto/POSIX
+
+## for %%__spec_install_post_strip
+%{_fixperms} $RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
-%post base -p /sbin/ldconfig
-%postun base -p /sbin/ldconfig
+%post base -p /sbin/ldconfig
+%postun base -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc README AUTHORS
-%lang(zh_CN) %doc README.cn
-%lang(ja) %doc README.jp
-%lang(ko) %doc README.ko
-%lang(zh_TW) %doc README.tw
%files base
%defattr(644,root,root,755)
+%doc doc-base/*
%attr(755,root,root) %{_bindir}/perl
%attr(755,root,root) %{_bindir}/perl%{version}
%{_mandir}/man1/perl.*
%dir %{perl_archlib}/auto
%dir %{perl_archlib}/CORE
-%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{version}
+%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{_abi}
%attr(755,root,root) %{_libdir}/libperl.so.*
%dir %{_libdir}/perl5/vendor_perl
-%dir %{_libdir}/perl5/vendor_perl/%{version}
+%dir %{_libdir}/perl5/vendor_perl/%{_abi}
%{perl_vendorarch}
%{perl_vendorlib}
%{perl_archlib}/auto/POSIX/*.al
%{perl_archlib}/auto/POSIX/*.bs
%{perl_archlib}/auto/POSIX/*.ix
+%{perl_archlib}/auto/POSIX/SigAction
%{_mandir}/man3/POSIX.*
%{perl_archlib}/Socket.*
%{_mandir}/man3/Socket.*
-%if %{?!_without_gdbm:1}0
+%if %{with gdbm}
%files GDBM_File
%defattr(644,root,root,755)
%{perl_archlib}/GDBM_File.*
%files devel
%defattr(644,root,root,755)
+%doc doc-devel/*
%attr(755,root,root) %{_libdir}/libperl.so
%{perl_archlib}/CORE/*.h
+%{perl_archlib}/CORE/reentr.inc
# FIXME: Changes file to _docdir (and rm MANIFEST.SKIP?)
%{perl_privlib}/ExtUtils
%{_mandir}/man1/perl[5aefghlmnoprstuvwx]*
%{_mandir}/man1/perlbo*
%{_mandir}/man1/perlcall.*
+%{_mandir}/man1/perlcheat.*
%{_mandir}/man1/perlclib.*
%{_mandir}/man1/perlcompile.*
%{_mandir}/man1/perld[!o]*
%{_mandir}/man1/perli[!v]*
+
%lang(zh_CN) %{_mandir}/zh_CN/man1/perlcn.*
%lang(ja) %{_mandir}/ja/man1/perljp.*
%lang(ko) %{_mandir}/ko/man1/perlko.*
-#%lang(zh_TW) %{_mandir}/zh_TW/man1/perltw.*
+%lang(zh_TW) %{_mandir}/zh_TW/man1/perltw.*
+
%files modules
%defattr(644,root,root,755)
+%doc doc-modules/*
%{_examplesdir}/%{name}-modules-%{version}
%{perl_privlib}/unicore
%{perl_archlib}/ops.pm
%{_mandir}/man3/ops.*
-%if %{?!_without_threads:1}0
+%if %{with threads}
%{perl_archlib}/threads*
%dir %{perl_archlib}/auto/threads
%dir %{perl_archlib}/auto/threads/shared
%{perl_archlib}/gnu
%{perl_archlib}/linux
%{perl_archlib}/sys
+%ifarch %{x8664}
+%{perl_archlib}/asm-i386
+%{perl_archlib}/asm-x86_64
+%endif
+%ifarch sparc # sparc64?
+%{perl_archlib}/asm-sparc*
+%endif
%{perl_archlib}/Data
%dir %{perl_archlib}/auto/Data
%{_mandir}/man3/Data*
%{perl_privlib}/Digest.pm
+%{perl_privlib}/Digest
%{perl_archlib}/Digest
%dir %{perl_archlib}/auto/Digest
%dir %{perl_archlib}/auto/Digest/MD5
%{perl_archlib}/auto/Digest/MD5/*.bs
%{_mandir}/man3/Digest*
+# FIXME: Changes file
+%{perl_privlib}/DBM_Filter*
+%{_mandir}/man3/DBM_Filter*
+
# FIXME: *.h to devel(?), check out the use for *.e2x files
%{perl_privlib}/Encode
%{perl_archlib}/Encode*
%{perl_archlib}/auto/Time/HiRes/*.bs
%{_mandir}/man3/Time::HiRes*
-%{perl_privlib}/Unicode
+%dir %{perl_privlib}/Unicode
+%{perl_privlib}/Unicode/*.pm
%{perl_archlib}/Unicode
%dir %{perl_archlib}/auto/Unicode
-%dir %{perl_archlib}/auto/Unicode/*/
+%dir %{perl_archlib}/auto/Unicode/*
%attr(755,root,root) %{perl_archlib}/auto/Unicode/*/*.so
%{perl_archlib}/auto/Unicode/*/*.bs
-%{perl_archlib}/auto/Unicode/*/*.ix
%{_mandir}/man3/Unicode::*
%{perl_privlib}/AnyDBM*
%{_mandir}/man3/Math::*
%{perl_privlib}/Memoize*
%{_mandir}/man3/Memoize*
-%{perl_privlib}/NEXT*
+%{perl_privlib}/NEXT.pm
%{_mandir}/man3/NEXT*
# FIXME: README and Changes files
-%{perl_privlib}/Net
+%dir %{perl_privlib}/Net
+%{perl_privlib}/Net/*.eg
+%{perl_privlib}/Net/*.pm
+%{perl_privlib}/Net/FTP
%{_mandir}/man3/Net::*
%{perl_privlib}/PerlIO
%{_mandir}/man3/PerlIO::via::*
%{_mandir}/man3/Test*
%{perl_privlib}/Text
%{_mandir}/man3/Text::*
-%if %{?!_without_threads:1}0
+%if %{with threads}
%{perl_privlib}/Thread*
%{_mandir}/man3/Thread*
%endif
%files -n sperl
%defattr(644,root,root,755)
%attr(4755,root,root) %{_bindir}/sperl%{version}
-%attr(4755,root,root) %{_bindir}/suidperl
+%attr(755,root,root) %{_bindir}/suidperl
%files tools
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/a2p
%{_mandir}/man1/a2p.*
+%attr(755,root,root) %{_bindir}/cpan
+%{_mandir}/man1/cpan.*
%attr(755,root,root) %{_bindir}/find2perl
%{_mandir}/man1/find2perl.*
+%attr(755,root,root) %{_bindir}/instmodsh
+%{_mandir}/man1/instmodsh.*
%attr(755,root,root) %{_bindir}/libnetcfg
%{_mandir}/man1/libnetcfg.*
%attr(755,root,root) %{_bindir}/piconv
%attr(755,root,root) %{_bindir}/pod*
%{_mandir}/man1/pod*
+%if %{with microperl}
%files -n microperl
%defattr(644,root,root,755)
%doc README.micro Todo.micro
%attr(755,root,root) %{_bindir}/microperl
+%endif