# _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
+# - profile the perl-base vs. perl-modules separation
# - 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
-# - *TESTING*
+# - fix some duplicate files (are there any left?)
+# - 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?)
+#
+
+%if 0%(if [ "%{__perl_requires}" != "%%{__perl_requires}" ]; then echo 1; fi)
+%undefine __perl_requires
+%define __perl_provides %{_builddir}/%{name}-%{version}/find-perl-provides.sh
+%else
+%define __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides.sh
+%endif
+
+# temporary (I hope) hack, the above doesn't work with rpm-4.3-0.20030610
+%define _noautoreq 'perl(.*)' 'perl-base .*'
+
-%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_sitelib %{_usr}/local/share/perl5
%define perl_sitearch %{_usr}/local/lib/perl5/%{version}/%{_target_platform}%{perlthread}
-%define perl_vendorlib %{_datadir}/perl5/vendor_perl/
+%define perl_vendorlib %{_datadir}/perl5/vendor_perl
%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{version}/%{_target_platform}%{perlthread}
Summary: Practical Extraction and Report Language (Perl)
Summary(zh_CN): Perl ±à³ÌÓïÑÔ¡£
Name: perl
Version: 5.8.0
-Release: 0.20%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
+Release: 0.43%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
Epoch: 1
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
-Source0: ftp://ftp.cpan.org/pub/CPAN/src/%{name}-%{version}.tar.gz
-Source1: %{name}-non-english-man-pages.tar.bz2
+Source0: http://www.cpan.org/src/%{name}-%{version}.tar.gz
+# Source0-md5: d9bdb180620306023fd35901a2878b62
+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
-# 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
+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-perluniintro.patch
+Patch7: %{name}_580-Safe.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}
+Requires: %{name}-base = %{epoch}:%{version}
+Requires: %{name}-modules = %{epoch}:%{version}
+Requires: perl-doc-reference
Requires: perldoc
+%{?!_without_gdbm:BuildRequires: gdbm-devel}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
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 no
-
%description -l pt_BR
Perl é uma linguagem interpretada, otimizada para tratar arquivos
texto, extraindo informação desses arquivos e mostrando relatórios
Provides: perl-File-Spec = 0.83
Provides: perl-File-Temp = 0.13
Provides: perl-Safe = 2.09
+%{?!_without_largefiles:Provides: perl(largefiles)}
+# broken, unsupported module
+Obsoletes: perl-SOAP
%description base
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
+(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
Obsoletes: perl-lib-devel
%description devel
-Components, required for developing applications which embed a Perl
+Components required for developing applications which embed a Perl
interpreter and compiling perl modules.
+%description devel -l pl
+Sk³adniki potrzebne do tworzenia aplikacji osadzaj±cych interpreter
+Perla oraz kompilowania modu³ów Perla.
+
%package doc-pod
Summary: Perl documentation in POD format
Summary(pl): Dokumentacja Perla w formacie POD
Group: Documentation
+Requires: perldoc
Obsoletes: perl-pod
%description doc-pod
Practical Extraction and Report Language - POD docs.
%description doc-pod -l pl
-Practical Extraction and Report Language - dokumentacja w formacie POD.
+Practical Extraction and Report Language - dokumentacja w formacie
+POD.
%package doc-reference
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}
+Group: Libraries
+Requires: %{name}-base = %{epoch}:%{version}
Provides: perl-Attribute-Handlers = 0.77
Provides: perl-CGI = 2.81
Provides: perl-Class-ISA = 0.32
%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
%description perldoc
-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 displays it via "pod2man | nroff -man | $PAGER". (In addition, if
-running under HP-UX, "col -x" will be used.) This is primarily used for
-the documentation for the perl library modules.
+perldoc looks up a piece of documentation in .pod format that is
+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.
+
+%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
+"pod2man | nroff -man | $PAGER". Program ten u¿ywany jest g³ównie do
+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}-base = %{epoch}:%{version}
%description tools
Various tools from the core perl distribution:
piconv - iconv(1), reinvented in perl
psed, s2p - a stream editor
-%description modules -l pl
+%description tools -l pl
Ró¿ne narzêdzia z podstawowej dystrybucji perla:
- a2p - Awk to Perl translator
- find2perl - translate find command lines to Perl code
- piconv - iconv(1), reinvented in perl
- psed, s2p - a stream editor
+ 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
%package tools-devel
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:
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
+
%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}-base = %{version}
+Requires: %{name}-base = %{epoch}:%{version}
%description tools-pod
-Tools for manipulating files in the POD (Plain Old Documentation) format:
+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
+ 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 on standard output
+ 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
%package -n microperl
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 the other
-hand this means that interfaces between Perl and your operating system
-are left very -- minimal.
+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.
+%description -n microperl -l pl
+microperl ma byæ naprawdê minimalnym Perlem, nawet bardziej minimalnym
+od miniperla. Uruchamianie Configure nie jest potrzebne do zbudowania
+microperla, z drugiej strony oznacza to, ¿e interfejs miêdzy Perlem a
+systemem operacyjnym pozostaje bardzo minimalny.
+
+Ca³o¶æ jest eksperymentalna. Je¶li nie wiesz co zrobiæ z microperlem,
+prawdopodobnie nie powiniene¶ tego robiæ. Nie zg³aszaj b³êdów w
+microperlu - popraw je.
%prep
%setup -q
%patch0 -p1
+%patch1 -p0
%patch2 -p0
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p0
+%patch7 -p1
%patch8 -p1
-%patch9 -p1
-%patch11 -p1
-%patch14 -p0
-%patch15 -p1
install -m 0755 %{SOURCE2} $PWD/find-perl.prov
install -m 0755 %{SOURCE3} $PWD/find-perl-provides.sh
-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="nsl dl m c crypt util" \
+ -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
# -Ud_longdbl
# %endif
+## {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");
+EOF
+
%{__make}
-%{__make} -f Makefile.micro
+
+## 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}
#%{?!_without_tests:%{__make} minitest}
install -d $RPM_BUILD_ROOT
%{__make} install
-install miniperl $RPM_BUILD_ROOT%{_bindir}
install microperl $RPM_BUILD_ROOT%{_bindir}
## use symlinks instead of hardlinks
%{__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*
-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
-%define __perl LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" PERL5LIB="%{buildroot}/%{perl_privlib}" %{buildroot}/%{_bindir}/perl
+## 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
## Fix Config.pm: remove buildroot path and change man pages extensions
%{__perl} -pi -e 's,%{buildroot}/*,/,g' $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,\@perl\@,%{__perl},g' find-perl-provides.sh
## Generate the *.ph files
(
rm -f $RPM_BUILD_ROOT%{perl_privlib}/*.pod
rm -f $RPM_BUILD_ROOT%{perl_archlib}/*.pod
-
-## directories for modules installed using CPAN.pm
-install -d $RPM_BUILD_ROOT{%{perl_sitelib},%{perl_sitearch}/auto}
+## this object file looks unused; why is it there?
+rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/sperl.o
## 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 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 RPM Regexp SOAP/Transport SQL Schedule \
- Set Sort Speech Spreadsheet Statistics String Sub Sys TeX Test \
+ Convert Crypt DBD Data Date Devel Device Digest 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 Unicode WWW XML/{Filter,Handler,Parser} \
- auto/{AI,Array,Crypt,Data,Mail,Net,Schedule,Statistics,Text,WWW}
+ 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 \
+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,Net,Speech/Recognizer,String} \
- auto/{Term,Text,Unicode,XML}
+ auto/{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}
+## 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
%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)
%lang(ko) %doc README.ko
%lang(tw) %doc README.tw
-%dir %{perl_sitelib}
-%dir %{perl_sitearch}
-%dir %{perl_sitearch}/auto
-%dir %{perl_vendorlib}
-%dir %{perl_vendorarch}
-%dir %{perl_vendorarch}/auto
-
%files base
%defattr(644,root,root,755)
%lang(fi) %{_mandir}/fi/man1/perl*
%lang(pl) %{_mandir}/pl/man1/perl*
+%dir %{_datadir}/perl5
%dir %{perl_privlib}
+%dir %{_libdir}/perl5
+%dir %{_libdir}/perl5/%{version}
%dir %{perl_archlib}
%dir %{perl_archlib}/auto
+%dir %{perl_archlib}/CORE
+%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{version}
+%attr(755,root,root) %{_libdir}/libperl.so*
+
+%dir %{_libdir}/perl5/vendor_perl
+%dir %{_libdir}/perl5/vendor_perl/%{version}
+%{perl_vendorarch}
+%{perl_vendorlib}
+
# pragmas
%{perl_privlib}/[a-z]*.pm
%{perl_privlib}/[a-z]*.pl
%{perl_privlib}/warnings
-%{perl_archlib}/[a-z]*.pm
-%{perl_archlib}/threads
+%{perl_archlib}/[a-r]*.pm
%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
+%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so
+%dir %{perl_archlib}/auto/re
%{perl_archlib}/auto/re/*.bs
-%{perl_archlib}/auto/threads/*.bs
-%{perl_archlib}/auto/threads/shared/*.bs
-%{_mandir}/man3/[a-z]*
+%attr(755,root,root) %{perl_archlib}/auto/re/*.so
+%{_mandir}/man3/[a-su-w]*
# arch-_IN_dependent modules
%{perl_privlib}/Auto*
%dir %{perl_archlib}/auto/PerlIO/*/
%attr(755,root,root) %{perl_archlib}/auto/PerlIO/*/*.so
%{perl_archlib}/auto/PerlIO/*/*.bs
-%{_mandir}/man3/PerlIO*
+%{_mandir}/man3/PerlIO.*
+%{_mandir}/man3/PerlIO::[es]*
+%{_mandir}/man3/PerlIO::via.*
%{perl_archlib}/POSIX*
%dir %{perl_archlib}/auto/POSIX
%{perl_archlib}/auto/POSIX/*.ix
%{_mandir}/man3/POSIX.*
-%attr(755,root,root) %{_libdir}/lib*.so.%{version}
+
+%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)
-%attr(755,root,root) %{_bindir}/[acdefh]*
-%attr(755,root,root) %{_bindir}/perlcc
-%attr(755,root,root) %{_bindir}/pl2pm
-%attr(755,root,root) %{_bindir}/pstruct
-%attr(755,root,root) %{_bindir}/[sx]*
-%{_mandir}/man1/[acdefh]*
-%{_mandir}/man1/perlcc.*
-%{_mandir}/man1/perldebguts.*
-%{_mandir}/man1/pl2pm.*
-%{_mandir}/man1/pstruct.*
-%{_mandir}/man1/[sx]*
-
-%attr(755,root,root) %{_libdir}/lib*.so
-%{perl_archlib}/CORE
+%attr(755,root,root) %{_libdir}/libperl.so
+%{perl_archlib}/CORE/*.h
# 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/perlclib.*
%{_mandir}/man1/perlcompile.*
+%{_mandir}/man1/perld[!o]*
+%{_mandir}/man1/perli[!v]*
%lang(cn) %{_mandir}/man1/perlcn.*
%lang(jp) %{_mandir}/man1/perljp.*
%lang(ko) %{_mandir}/man1/perlko.*
%files modules
%defattr(644,root,root,755)
+%{_examplesdir}/%{name}-modules-%{version}
+
# XXX: should it really be in this package?
%{perl_privlib}/unicore
-# *.ph files (could be made a separate package, but an autohelper's support is needed)
+%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
+
+## *.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/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_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}/DirHandle*
%{_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/Test*
%{perl_privlib}/Text
%{_mandir}/man3/Text::*
-# XXX: to perl-base?
+%if %{?!_without_threads:1}0
%{perl_privlib}/Thread*
%{_mandir}/man3/Thread*
+%endif
%{perl_privlib}/Tie
%{_mandir}/man3/Tie::*
%{perl_privlib}/Time
%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
%{_mandir}/man1/pl2pm.*
%attr(755,root,root) %{_bindir}/splain
%{_mandir}/man1/splain.*
+%attr(755,root,root) %{_bindir}/xsubpp
+%{_mandir}/man1/xsubpp.*
%files tools-pod
%defattr(644,root,root,755)