# _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
#
# TODO:
-# - Think about unicore. If uf8*.pm, encode.pm, charnamess.pm (and
+# - 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...
-# - Think about the package separation. Split between perl, perl-base
-# and perl-modules is far from obvius.
-# - find out why *.so and *.bs files for some pragmas are ,,listed twice''
-# - merge some fixes from 5.6.1 on HEAD
# - fix "FIXME"s, review "XXX"s
# - fix perl.prov's handling in rpm -- it should use the __perl macro
-# - include gdbm-dependent modules, they aren't distributed standalone
-# anymore
-# - fix some duplicate files
-# - *TESTING*
+# - add the {O,N}DBM_File modules
+# - review the perldiag.pod issue
+# - consider disabling ithreads by default
+# - consider introducing perl-dirs
#
+# 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 _abi 5.8.0
-%define __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides.sh
%define perlthread %{?!_without_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(tr): Kabuk yorumlama dili
Summary(zh_CN): Perl ±à³ÌÓïÑÔ¡£
Name: perl
-Version: 5.8.0
-Release: 0.21%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
+Version: 5.8.2
+Release: 3%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
Epoch: 1
-License: GPL v1+ or Artistic
+License: GPL or Artistic
Group: Development/Languages/Perl
Source0: http://www.cpan.org/src/%{name}-%{version}.tar.gz
-Source1: %{name}-non-english-man-pages.tar.bz2
+# Source0-md5: fa356b74f99166b63a68a322c3c68f91
+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
-Patch2: %{name}_580-MakeMaker.patch
-# failed
-#Patch5: %{name}-syslog.patch
-# failed
-#Patch6: %{name}-CGI-upload-tmpdir.patch
-# what is this f* one for?!
-#Patch7: %{name}-LD_RUN_PATH.patch
-Patch8: %{name}_580-errno_h-parsing.patch
-Patch9: %{name}_580-use-LD_PRELOAD-for-libperl.so.patch
-# *weird*
-#Patch10: %{name}-sitearch.patch
-Patch11: %{name}_580-soname.patch
-# failed; is it still necessary?
-#Patch13: %{name}-gcc3.patch
-Patch14: %{name}_580-perluniintro.patch
-Patch15: %{name}_580-Safe.patch
+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}_581-soname.patch
+Patch6: %{name}-test-noproc.patch
+#Patch8: %{name}_580-microperl_uconfig.patch
URL: http://www.perl.com/
-%{?!_without_largefiles:Provides: perl(largefiles)}
-Requires: %{name}-base = %{version}
-Requires: %{name}-modules = %{version}
+# 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
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
+
+%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
+
%description
Perl is an interpreted language optimized for scanning arbitrary text
files, extracting information from those text files, and printing
%package base
Summary: Base perl components for a minimal installation
Summary(pl): Podstawowe sk³adniki potrzebne do minimalnej instalacji perla
-Group: Text/Applications
+Group: Development/Languages/Perl
Provides: perl-File-Compare = 1.1003
-Provides: perl-File-Spec = 0.83
-Provides: perl-File-Temp = 0.13
-Provides: perl-Safe = 2.09
+Provides: perl-File-Spec = 0.86
+Provides: perl-File-Temp = 0.14
+Provides: perl-IO = 1.21
+Provides: perl-Safe = 2.10
+Provides: perl-Socket = 1.76
+Provides: perl-Tie-File = 0.97
+%{?!_without_largefiles:Provides: perl(largefiles)}
+# broken, unsupported module
+Obsoletes: perl-SOAP
%description base
Base components, files, core modules, etc. -- a minimal usable perl
package) whenever possible.
%description base -l pl
-Podstawowe sk³adniki, pliki, g³ówne modu³y itp. - minimalna u¿ywalna
-instalacja Perla. Zaleca siê instalacjê pe³nego Perla (pakietu perl)
-je¶li to tylko mo¿liwe.
+Podstawowe sk³adniki, pliki, g³ówne modu³y itp. - minimalna instalacja
+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
+# values from the main package. Why this causes setting
+# version and release macros up to the end of this spec?
+
+%description GDBM_File
+GDBM_File is a module which allows Perl programs to make use of the
+facilities provided by the GNU gdbm library.
+
+%description GDBM_File -l pl
+GDBM_File jest modu³em, który umo¿liwia programom w Perlu korzystanie
+z biblioteki GNU gdbm.
%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
Group: Development/Libraries
-Requires: %{name}-base = %{version}
-Requires: %{name}-modules = %{version}
+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-CPAN = 1.76_01
+Provides: perl-Devel-DProf = 20030813.00
+Provides: perl-Devel-PPPort = 2.009
+Provides: perl-Devel-Peek = 1.01
Provides: perl-ExtUtils-Embed = 1.250601
+Provides: perl-ExtUtils-MakeMaker = 6.17
Obsoletes: perl-lib-devel
%description devel
Summary: Perl documentation in POD format
Summary(pl): Dokumentacja Perla w formacie POD
Group: Documentation
+Requires: perldoc
Obsoletes: perl-pod
%description doc-pod
Summary: Perl reference documentation
Summary(pl): Dokumentacja Perla
Group: Documentation
-Requires: man
%description doc-reference
Reference documentation for the Practical Extraction and Report Language
%package modules
Summary: Modules from the core perl distribution
Summary(pl): Modu³y z podstawowej dystrybucji perla
-Group: Development/Libraries
-Requires: %{name}-base = %{version}
-Provides: perl-Attribute-Handlers = 0.77
-Provides: perl-CGI = 2.81
+Group: Libraries
+Requires: %{name}-base = %{epoch}:%{version}
+Provides: perl-Attribute-Handlers = 0.78
+Provides: perl-CGI = 3.00
Provides: perl-Class-ISA = 0.32
-Provides: perl-Digest = 1.00
-Provides: perl-Digest-MD5 = 2.20
+Provides: perl-Digest = 1.02
+Provides: perl-Digest-MD5 = 2.30
Provides: perl-Filter-Simple = 0.78
Provides: perl-FindBin = 1.43
#Provides: perl-Hash-Utils = 0.04 Data::Util is missing
-Provides: perl-IO = 1.20
-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
+Provides: perl-IPC-SysV = 1.04
+Provides: perl-Locale-Maketext = 1.06
+Provides: perl-MIME-Base64 = 2.21
+Provides: perl-Math-BigInt = 1.66
+Provides: perl-Math-BigRat = 0.10
+Provides: perl-Math-Trig = 1.02
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-NEXT = 0.60
+Provides: perl-PerlIO-via-QuotedPrint = 0.05
+Provides: perl-Pod-LaTeX = 0.55
Provides: perl-Pod-Parser = 1.13
-Provides: perl-Scalar-List-Utils = 1.07_00
-Provides: perl-Socket = 1.75
-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-Scalar-List-Utils = 1.13
+Provides: perl-Storable = 2.08
+Provides: perl-Term-ANSIColor = 1.07
+Provides: perl-Term-Cap = 1.08
+Provides: perl-Test = 1.24
+Provides: perl-Test-Harness = 2.30
+Provides: perl-Test-Simple = 0.47
+Provides: perl-Text-Balanced = 1.95
Provides: perl-Text-ParseWords = 3.21
Provides: perl-Text-Soundex = 1.01
-Provides: perl-Text-Tabs+Wrap = 2001.0929
-Provides: perl-Tie-File = 0.93
-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 = 2001.0929
+Provides: perl-Time-HiRes = 1.52
+Provides: perl-UNIVERSAL = 1.01
+Provides: perl-Unicode-Collate = 0.30
+Provides: perl-Unicode-Normalize = 0.25
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
+Provides: perldoc = 3.11@%{version}
+Requires: %{name}-modules
Group: Development/Tools
%description perldoc
perldoc wyszukuje fragment dokumentacji w formacie .pod osadzony w
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 ½Å±¾Ò»ÆðʹÓÃ
Group: Development/Languages/Perl
-Requires: %{name}-base = %{version}
+Requires: %{name}-base = %{epoch}:%{version}
Obsoletes: perl-suidperl
%description -n sperl
%description -n sperl -l pl
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
Summary: Various tools from the core perl distribution
Summary(pl): Ró¿ne narzêdzia z podstawowej dystrybucji perla
Group: Applications
-Requires: %{name}-base = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}
%description tools
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 modules -l pl
-Ró¿ne narzêdzia z podstawowej dystrybucji Perla:
+%description tools -l pl
+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
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 = %{version}
-Requires: %{name}-devel = %{version}
+Requires: %{name}-base = %{epoch}:%{version}
+Requires: %{name}-devel = %{epoch}:%{version}
%description tools-devel
Various tools from the core perl distribution:
splain - force verbose warning diagnostics
%description tools-devel -l pl
-Ró¿ne narzêdzia z podstawowej dystrybucji Perla:
+Ró¿ne narzêdzia z podstawowej dystrybucji perla:
c2ph, pstruct - zrzucanie struktur C w postaci generowanej z tablic
symboli z cc -g -S
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
+ 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
Summary: Tools for manipulating files in the POD format
Summary(pl): Narzêdzia do przetwarzania plików w formacie POD
Group: Applications
-Requires: %{name}-base = %{version}
+Requires: %{name}-modules = %{epoch}:%{version}
%description tools-pod
Tools for manipulating files in the POD (Plain Old Documentation)
podchecker - check the syntax of POD format documentation files
podselect - print selected sections of pod documentation
-%description tools-pod
+%description tools-pod -l pl
Narzêdzia do przetwarzania plików w formacie POD (Plain Old
Documentation):
%prep
%setup -q
%patch0 -p1
-%patch2 -p0
-%patch8 -p1
-%patch9 -p1
-%patch11 -p1
-%patch14 -p0
-%patch15 -p1
+%patch1 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+#%patch8 -p1
install -m 0755 %{SOURCE2} $PWD/find-perl.prov
install -m 0755 %{SOURCE3} $PWD/find-perl-provides.sh
-Dprivlib=%{perl_privlib} -Darchlib=%{perl_archlib} \
-Dsitelib=%{perl_sitelib} -Dsitearch=%{perl_sitearch} \
-Dvendorlib=%{perl_vendorlib} -Dvendorarch=%{perl_vendorarch} \
- -Dinstallprefix=$RPM_BUILD_ROOT%{_prefix} \
- -Ui_dbm -Ui_gdbm -Ui_ndbm -Ui_db \
- -Dlibswanted="dl m c crypt" \
+ -Ui_db \
+ %{?_without_gdbm: -Ui_dbm -Ui_gdbm -Ui_ndbm} \
+ %{?!_without_gdbm: -Ui_dbm -Di_gdbm -Ui_ndbm} \
+ -Dlibswanted="dl m c crypt %{?!_without_gdbm:gdbm}" \
-%{?_without_threads:U}%{?!_without_threads:D}usethreads \
-%{?_without_largefiles:U}%{?!_without_largefiles:D}uselargefiles
# -Ud_longdbl
# %endif
-%{__make}
+## {Scalar,List}::Util should be in perl_archlib (it's a bit tricky and should
+## probably be done in %%prep, but then Configure would complain (->MANIFEST))
+mv ext/List/Util/lib/List/Util.pm ext/List/Util
+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", DEFINE=>"-DPERL_EXT");
+EOF
+
+%{__make} \
+ LIBPERL_SONAME=libperl.so.%{_abi}
+
+## microperl
+rm -f uconfig.h
%{__make} -f Makefile.micro \
+ archlib=%{perl_archlib} \
+ archlibexp=%{perl_archlib} \
+ privlib=%{perl_privlib} \
+ privlibexp=%{perl_privlib} \
+ archname=%{_target_platform}%{perlthread} \
+ osname=%{_host} \
+ bin=%{_bindir} \
+ scriptdir=%{_bindir} \
+ scriptdirexp=%{_bindir} \
OPTIMIZE="%{rpmcflags}"
%{?!_without_tests:%{__make} test}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
-%{__make} install
-install miniperl $RPM_BUILD_ROOT%{_bindir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
install microperl $RPM_BUILD_ROOT%{_bindir}
## use symlinks instead of hardlinks
%{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p
## Fix lib
-rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so*
-install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}
-%{__ln_s} -f libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
-
-
-%define __perl LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" PERL5LIB="%{buildroot}/%{perl_privlib}:%{buildroot}/%{perl_archlib}" %{buildroot}/%{_bindir}/perl
+rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/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
sys/socket.h
sys/syscall.h
sys/time.h
+ linux/posix_types.h
+ linux/stddef.h
'
%{__perl} $H2PH -a -d $PHDIR $WANTED
)
## this object file looks unused; why is it there?
rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/sperl.o
-## directories for modules installed using CPAN.pm
-install -d $RPM_BUILD_ROOT{%{perl_sitelib},%{perl_sitearch}/auto}
-
## dir tree for other perl modules
install -d $RPM_BUILD_ROOT{%{perl_vendorlib},%{perl_vendorarch},%{perl_vendorarch}/auto}
(
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 Error ExtUtils File \
- Filesys Font Games Getopt GnuPG Graph HTML HTTP I18N IO/Socket IPC \
- Image Inline Language Lingua/EN List Locale LockFile Log MIME Mail \
- Math 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}
+ 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,Fractal} 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}
cd $RPM_BUILD_ROOT%{perl_vendorarch}
-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,Inline,Locale,Math,Net,Speech/Recognizer,String} \
- auto/{Term,Text,Unicode,XML}
+install -d Algorithm Astro Audio Authen B BSD Bit Compress Convert \
+ 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,Convert,Crypt/OpenSSL,Data} \
+ auto/{Devel,Digest,File,IPC,Inline,Locale,Math/BigInt,Net,Regexp} \
+ auto/{Speech/Recognizer,String,Sys,Term,Text,Unicode,XML}
)
## 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
+
+## 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
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post base -p /sbin/ldconfig
+%postun base -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc README AUTHORS
-%lang(cn) %doc README.cn
-%lang(jp) %doc README.jp
-%lang(ko) %doc README.ko
-%lang(tw) %doc README.tw
-
-%dir %{perl_sitelib}
-%dir %{_usr}/local/lib/perl5
-%dir %{_usr}/local/lib/perl5/%{version}
-%dir %{perl_sitearch}
-%dir %{perl_sitearch}/auto
-%{perl_vendorlib}
-%dir %{_libdir}/perl5/vendor_perl
-%dir %{_libdir}/perl5/vendor_perl/%{version}
-%{perl_vendorarch}
-#%dir %{perl_vendorarch}/auto
%files base
%dir %{perl_archlib}
%dir %{perl_archlib}/auto
-# pragmas
-%{perl_privlib}/[a-z]*.pm
-%{perl_privlib}/[a-z]*.pl
-%{perl_privlib}/warnings
-%{perl_archlib}/[a-z]*.pm
-%{perl_archlib}/threads
-%dir %{perl_archlib}/auto/attrs
-%dir %{perl_archlib}/auto/re
-%dir %{perl_archlib}/auto/threads
-%dir %{perl_archlib}/auto/threads/shared
-%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so
-%attr(755,root,root) %{perl_archlib}/auto/re/*.so
-%attr(755,root,root) %{perl_archlib}/auto/threads/*.so
-%attr(755,root,root) %{perl_archlib}/auto/threads/shared/*.so
-%{perl_archlib}/auto/attrs/*.bs
-%{perl_archlib}/auto/re/*.bs
-%{perl_archlib}/auto/threads/*.bs
-%{perl_archlib}/auto/threads/shared/*.bs
-%{_mandir}/man3/[a-z]*
+%dir %{perl_archlib}/CORE
+%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/%{_abi}
+%{perl_vendorarch}
+%{perl_vendorlib}
-# arch-_IN_dependent modules
+## pragmas
+%{perl_privlib}/base.pm
+%{_mandir}/man3/base.*
+%{perl_privlib}/constant.pm
+%{_mandir}/man3/constant.*
+%{perl_privlib}/diagnostics.pm
+%{_mandir}/man3/diagnostics.*
+%{perl_privlib}/fields.pm
+%{_mandir}/man3/fields.*
+%{perl_privlib}/integer.pm
+%{_mandir}/man3/integer.*
+%{perl_privlib}/overload.pm
+%{_mandir}/man3/overload.*
+%{perl_privlib}/sort.pm
+%{_mandir}/man3/sort.*
+%{perl_privlib}/strict.pm
+%{_mandir}/man3/strict.*
+%{perl_privlib}/subs.pm
+%{_mandir}/man3/subs.*
+%{perl_privlib}/vars.pm
+%{_mandir}/man3/vars.*
+%{perl_privlib}/warnings*
+%{_mandir}/man3/warnings*
+
+%{perl_archlib}/lib.pm
+%{_mandir}/man3/lib.*
+
+## arch-_IN_dependent modules
%{perl_privlib}/Auto*
%{_mandir}/man3/Auto*
%{perl_privlib}/Carp*
%{_mandir}/man3/Carp*
+%dir %{perl_privlib}/Class
+%{perl_privlib}/Class/Struct*
+%{_mandir}/man3/Class::Struct*
%{perl_privlib}/Exporter*
%{_mandir}/man3/Exporter*
%{perl_privlib}/English*
%{_mandir}/man3/Getopt*
%{perl_privlib}/IPC
%{_mandir}/man3/IPC::Open*
+%{perl_privlib}/SelectSaver.pm
+%{_mandir}/man3/SelectSaver.*
+%{perl_privlib}/Symbol.pm
+%{_mandir}/man3/Symbol.*
+%{perl_privlib}/Tie
+%{_mandir}/man3/Tie::*
-# arch-dependent modules
+## arch-dependent modules
%{perl_archlib}/Config*
%{_mandir}/man3/Config*
%{perl_archlib}/DynaLoader*
%{perl_archlib}/auto/File/*/*.bs
%{_mandir}/man3/File*
+%{perl_privlib}/IO
+%{perl_archlib}/IO*
+%dir %{perl_archlib}/auto/IO
+%attr(755,root,root) %{perl_archlib}/auto/IO/*.so
+%{perl_archlib}/auto/IO/*.bs
+%{_mandir}/man3/IO*
+
%{perl_archlib}/Opcode.*
%dir %{perl_archlib}/auto/Opcode
%attr(755,root,root) %{perl_archlib}/auto/Opcode/*.so
%{perl_archlib}/auto/POSIX/*.al
%{perl_archlib}/auto/POSIX/*.bs
%{perl_archlib}/auto/POSIX/*.ix
+%{perl_archlib}/auto/POSIX/SigAction
%{_mandir}/man3/POSIX.*
-%attr(755,root,root) %{_libdir}/lib*.so.%{version}
+%{perl_archlib}/Socket.*
+%dir %{perl_archlib}/auto/Socket
+%attr(755,root,root) %{perl_archlib}/auto/Socket/*.so
+%{perl_archlib}/auto/Socket/*.bs
+%{_mandir}/man3/Socket.*
+
+
+%if %{?!_without_gdbm:1}0
+%files GDBM_File
+%defattr(644,root,root,755)
+%{perl_archlib}/GDBM_File.*
+%dir %{perl_archlib}/auto/GDBM_File
+%attr(755,root,root) %{perl_archlib}/auto/GDBM_File/*.so
+%{perl_archlib}/auto/GDBM_File/*.bs
+%{_mandir}/man3/GDBM_File.*
+%endif
%files devel
%defattr(644,root,root,755)
-%{_mandir}/man1/perldebguts.*
-
-%attr(755,root,root) %{_libdir}/lib*.so
-%{perl_archlib}/CORE
+%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
%defattr(644,root,root,755)
%{perl_privlib}/pod/perl.pod
%{perl_privlib}/pod/perl[5abceghijklmnopqrstuvwx]*.pod
-%{perl_privlib}/pod/perld[^i]*.pod
-%{perl_privlib}/pod/perlf[^au]*.pod
+%{perl_privlib}/pod/perld[!i]*.pod
+%{perl_privlib}/pod/perlf[!au]*.pod
%files doc-reference
%defattr(644,root,root,755)
-%{_mandir}/man1/perl[5adefghilmnoprstuvwx]*
+%{_mandir}/man1/perl[5aefghlmnoprstuvwx]*
%{_mandir}/man1/perlbo*
%{_mandir}/man1/perlcall.*
+%{_mandir}/man1/perlcheat.*
%{_mandir}/man1/perlclib.*
%{_mandir}/man1/perlcompile.*
-%lang(cn) %{_mandir}/man1/perlcn.*
-%lang(jp) %{_mandir}/man1/perljp.*
-%lang(ko) %{_mandir}/man1/perlko.*
+%{_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.*
%files modules
%defattr(644,root,root,755)
-# XXX: should it really be in this package?
+%{_examplesdir}/%{name}-modules-%{version}
+
%{perl_privlib}/unicore
-# *.ph files (could be made a separate package, but an autohelper's support is needed)
+## pragmas
+%{perl_privlib}/attributes.pm
+%{_mandir}/man3/attributes.*
+%{perl_privlib}/autouse.pm
+%{_mandir}/man3/autouse.*
+%{perl_privlib}/big*.pm
+%{_mandir}/man3/big*
+%{perl_privlib}/blib.pm
+%{_mandir}/man3/blib.*
+%{perl_privlib}/bytes.pm
+%{_mandir}/man3/bytes.*
+%{perl_privlib}/charnames.pm
+%{_mandir}/man3/charnames.*
+%{perl_privlib}/filetest.pm
+%{_mandir}/man3/filetest.*
+%{perl_privlib}/if.pm
+%{_mandir}/man3/if.*
+%{perl_privlib}/less.pm
+%{_mandir}/man3/less.*
+%{perl_privlib}/locale.pm
+%{_mandir}/man3/locale.*
+%{perl_privlib}/open.pm
+%{_mandir}/man3/open.*
+%{perl_privlib}/sigtrap.pm
+%{_mandir}/man3/sigtrap.*
+%{perl_privlib}/utf8.pm
+%{_mandir}/man3/utf8.*
+
+%{perl_archlib}/attrs.pm
+%dir %{perl_archlib}/auto/attrs
+%{perl_archlib}/auto/attrs/*.bs
+%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so
+%{_mandir}/man3/attrs.*
+%{perl_archlib}/re.pm
+%dir %{perl_archlib}/auto/re
+%{perl_archlib}/auto/re/*.bs
+%attr(755,root,root) %{perl_archlib}/auto/re/*.so
+%{_mandir}/man3/re.*
+%{perl_archlib}/encoding.pm
+%{_mandir}/man3/encoding.*
+%{perl_archlib}/ops.pm
+%{_mandir}/man3/ops.*
+
+%if %{?!_without_threads:1}0
+%{perl_archlib}/threads*
+%dir %{perl_archlib}/auto/threads
+%dir %{perl_archlib}/auto/threads/shared
+%{perl_archlib}/auto/threads/*.bs
+%{perl_archlib}/auto/threads/shared/*.bs
+%attr(755,root,root) %{perl_archlib}/auto/threads/*.so
+%attr(755,root,root) %{perl_archlib}/auto/threads/shared/*.so
+%{_mandir}/man3/t*
+%endif
+
+## old *.pl files
+%{perl_privlib}/*.pl
+
+## *.ph files (could be made a separate package, but an autohelper's support is needed)
%{perl_archlib}/*.ph
%{perl_archlib}/asm
%{perl_archlib}/bits
%{perl_archlib}/auto/Digest/MD5/*.bs
%{_mandir}/man3/Digest*
-## FIXME: *.h to devel(?), check out the use for *.e2x files
+# FIXME: *.h to devel(?), check out the use for *.e2x files
%{perl_privlib}/Encode
%{perl_archlib}/Encode*
%dir %{perl_archlib}/auto/Encode
%{perl_archlib}/auto/I18N/*/*.ix
%{_mandir}/man3/I18N::*
-%{perl_privlib}/IO
-%{perl_archlib}/IO*
-%dir %{perl_archlib}/auto/IO
-%attr(755,root,root) %{perl_archlib}/auto/IO/*.so
-%{perl_archlib}/auto/IO/*.bs
-%{_mandir}/man3/IO*
-
%{perl_archlib}/IPC
%dir %{perl_archlib}/auto/IPC
%dir %{perl_archlib}/auto/IPC/*/
%{perl_archlib}/auto/IPC/*/*.bs
%{_mandir}/man3/IPC::[MS]*
-# FIXME: List/Util.pm should be archlib; patch needed
-%{perl_privlib}/List
+%{perl_archlib}/List
%dir %{perl_archlib}/auto/List
%dir %{perl_archlib}/auto/List/*/
%attr(755,root,root) %{perl_archlib}/auto/List/*/*.so
%{perl_archlib}/auto/SDBM_File/*.bs
%{_mandir}/man3/SDBM_File.*
-%{perl_archlib}/Socket.*
-%dir %{perl_archlib}/auto/Socket
-%attr(755,root,root) %{perl_archlib}/auto/Socket/*.so
-%{perl_archlib}/auto/Socket/*.bs
-%{_mandir}/man3/Socket.*
-
%{perl_archlib}/Storable.*
%dir %{perl_archlib}/auto/Storable
%attr(755,root,root) %{perl_archlib}/auto/Storable/*.so
%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/AnyDBM*
-# FIXME: move */demo to %_exapmlesdir or /dev/null
%{perl_privlib}/Attribute
%{_mandir}/man3/Attribute*
%{perl_privlib}/Benchmark*
%{_mandir}/man3/Benchmark*
-# FIXME: move */eg to %_examplesdir or /dev/null
%{perl_privlib}/CGI*
%{_mandir}/man3/CGI*
-# FIXME: move test.pl to %_examplesdir or /dev/null
-%{perl_privlib}/Class
-%{_mandir}/man3/Class::*
+%{perl_privlib}/Class/ISA*
+%{_mandir}/man3/Class::ISA*
%{perl_privlib}/DirHandle*
%{_mandir}/man3/DirHandle*
%{perl_privlib}/Dumpvalue.*
%{_mandir}/man3/Memoize*
%{perl_privlib}/NEXT*
%{_mandir}/man3/NEXT*
-# FIXME: README and Changes files, */demos to %_examplesdir or /dev/null
+# FIXME: README and Changes files
%{perl_privlib}/Net
%{_mandir}/man3/Net::*
%{perl_privlib}/PerlIO
%{_mandir}/man3/Scalar::*
%{perl_privlib}/Search
%{_mandir}/man3/Search::*
-%{perl_privlib}/SelectSaver.*
-%{_mandir}/man3/SelectSaver.*
%{perl_privlib}/SelfLoader.*
%{_mandir}/man3/SelfLoader.*
%{perl_privlib}/Shell.*
# FIXME: README and Changes files
%{perl_privlib}/Switch.*
%{_mandir}/man3/Switch.*
-%{perl_privlib}/Symbol.*
-%{_mandir}/man3/Symbol.*
# FIXME: README and Changes files
%{perl_privlib}/Term
%{_mandir}/man3/Term::*
%{_mandir}/man3/Test*
%{perl_privlib}/Text
%{_mandir}/man3/Text::*
-# XXX: to perl-base?
+%if %{?!_without_threads:1}0
%{perl_privlib}/Thread*
%{_mandir}/man3/Thread*
-%{perl_privlib}/Tie
-%{_mandir}/man3/Tie::*
+%endif
%{perl_privlib}/Time
%{_mandir}/man3/Time::[La-z]*
# XXX: to perl-base?
%files perldoc
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/perldoc
+%dir %{perl_privlib}/pod
%{perl_privlib}/pod/perldiag.pod
%{perl_privlib}/pod/perlfaq*.pod
%{perl_privlib}/pod/perlfunc.pod
%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}/libnetcfg