X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=perl.spec;h=440962c0b518729d9ba680604565d86b35209889;hb=78261efe85396830b2dd926754c45ed225d39246;hp=adf5deb4b0b9f9e075353a4194f4c613b733ed95;hpb=6d45ca4e6513427b7ce7d79972856f9c797375aa;p=packages%2Fperl.git diff --git a/perl.spec b/perl.spec index adf5deb..440962c 100644 --- a/perl.spec +++ b/perl.spec @@ -3,30 +3,47 @@ # _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) @@ -52,36 +69,31 @@ Summary(tr): Kabuk yorumlama dili 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 @@ -195,8 +207,6 @@ sistema e programa 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 @@ -268,19 +278,44 @@ Provides: perl-File-Compare = 1.1003 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 @@ -291,26 +326,31 @@ Provides: perl-ExtUtils-Embed = 1.250601 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 @@ -323,8 +363,8 @@ Extraction and Report Language) i jego interpretera. %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 @@ -374,16 +414,22 @@ dystrybucji. %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 @@ -393,14 +439,14 @@ Summary(fr): sperl, 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 @@ -430,7 +476,7 @@ perl %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 @@ -455,7 +501,7 @@ setuid perl 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: @@ -465,20 +511,20 @@ 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: @@ -493,47 +539,90 @@ 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 @@ -559,8 +648,10 @@ sh Configure \ -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 @@ -572,8 +663,30 @@ sh Configure \ # -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 < 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} @@ -583,7 +696,6 @@ rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT %{__make} install -install miniperl $RPM_BUILD_ROOT%{_bindir} install microperl $RPM_BUILD_ROOT%{_bindir} ## use symlinks instead of hardlinks @@ -592,13 +704,13 @@ install microperl $RPM_BUILD_ROOT%{_bindir} %{__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 @@ -607,7 +719,7 @@ install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir} ## 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 ( @@ -642,9 +754,8 @@ rm -f $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext}}/*.pod 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} @@ -652,34 +763,45 @@ install -d $RPM_BUILD_ROOT{%{perl_vendorlib},%{perl_vendorarch},%{perl_vendorarc 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) @@ -689,13 +811,6 @@ rm -rf $RPM_BUILD_ROOT %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) @@ -705,29 +820,34 @@ rm -rf $RPM_BUILD_ROOT %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* @@ -788,7 +908,9 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -798,25 +920,22 @@ rm -rf $RPM_BUILD_ROOT %{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 @@ -865,17 +984,19 @@ rm -rf $RPM_BUILD_ROOT %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.* @@ -883,10 +1004,23 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -909,7 +1043,7 @@ rm -rf $RPM_BUILD_ROOT %{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 @@ -951,8 +1085,7 @@ rm -rf $RPM_BUILD_ROOT %{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 @@ -1012,15 +1145,12 @@ rm -rf $RPM_BUILD_ROOT %{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* @@ -1044,7 +1174,7 @@ rm -rf $RPM_BUILD_ROOT %{_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 @@ -1074,9 +1204,10 @@ rm -rf $RPM_BUILD_ROOT %{_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 @@ -1092,6 +1223,7 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -1142,6 +1274,8 @@ rm -rf $RPM_BUILD_ROOT %{_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)