]> git.pld-linux.org Git - packages/perl.git/blobdiff - perl.spec
- releas 0.43: misc fixes
[packages/perl.git] / perl.spec
index 91d1865413b94e23343c4c66db34b0d7af776e59..440962c0b518729d9ba680604565d86b35209889 100644 (file)
--- a/perl.spec
+++ b/perl.spec
@@ -6,19 +6,37 @@
 # _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.
+# - 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
-# - fix some duplicate files
+# - fix some duplicate files (are there any left?)
 # - add the {O,N}DBM_File modules
-# - *TESTING*
+# - 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}
@@ -51,12 +69,14 @@ Summary(tr):        Kabuk yorumlama dili
 Summary(zh_CN):        Perl ±à³ÌÓïÑÔ¡£
 Name:          perl
 Version:       5.8.0
-Release:       0.30%{?_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:       http://www.cpan.org/src/%{name}-%{version}.tar.gz
-Source1:       %{name}-non-english-man-pages.tar.bz2
+# 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
@@ -69,8 +89,9 @@ Patch6:               %{name}_580-perluniintro.patch
 Patch7:                %{name}_580-Safe.patch
 Patch8:                %{name}_580-microperl_uconfig.patch
 URL:           http://www.perl.com/
-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)
@@ -258,6 +279,8 @@ 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
@@ -266,13 +289,14 @@ 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 = %{version}
+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?
@@ -281,13 +305,17 @@ Requires: %{name}-base = %{version}
 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
@@ -309,6 +337,7 @@ Perla oraz kompilowania modu
 Summary:       Perl documentation in POD format
 Summary(pl):   Dokumentacja Perla w formacie POD
 Group:         Documentation
+Requires:      perldoc
 Obsoletes:     perl-pod
 
 %description doc-pod
@@ -322,7 +351,6 @@ 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
@@ -336,7 +364,7 @@ Extraction and Report Language) i jego interpretera.
 Summary:       Modules from the core perl distribution
 Summary(pl):   Modu³y z podstawowej dystrybucji perla
 Group:         Libraries
-Requires:      %{name}-base = %{version}
+Requires:      %{name}-base = %{epoch}:%{version}
 Provides:      perl-Attribute-Handlers = 0.77
 Provides:      perl-CGI = 2.81
 Provides:      perl-Class-ISA = 0.32
@@ -401,7 +429,7 @@ used for the documentation for the perl library modules.
 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
@@ -411,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
@@ -448,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
@@ -473,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:
@@ -483,8 +511,8 @@ Various tools from the core perl distribution:
  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
  find2perl - t³umaczenie linii poleceñ programu find na kod w Perlu
@@ -495,8 +523,8 @@ R
 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:
@@ -512,7 +540,7 @@ 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
@@ -523,7 +551,7 @@ R
  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
@@ -532,7 +560,7 @@ R
 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)
@@ -546,7 +574,7 @@ format:
  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):
 
@@ -668,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
@@ -677,14 +704,14 @@ 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
 
+## 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
 %{__perl} -pi -e "s,^man1ext='1',man1ext='1p',"      $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
@@ -736,28 +763,28 @@ 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 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 \
+       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,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 \
@@ -773,8 +800,8 @@ mv $RPM_BUILD_ROOT%{perl_privlib}/Net/demos \
 %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)
@@ -784,12 +811,6 @@ rm -rf $RPM_BUILD_ROOT
 %lang(ko) %doc README.ko
 %lang(tw) %doc README.tw
 
-%dir %{_libdir}/perl5/vendor_perl
-%dir %{_libdir}/perl5/vendor_perl/%{version}
-%{perl_vendorarch}
-%{perl_vendorlib}
-#%dir %{perl_vendorarch}/auto
-
 
 %files base
 %defattr(644,root,root,755)
@@ -806,25 +827,27 @@ rm -rf $RPM_BUILD_ROOT
 %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*
@@ -897,8 +920,6 @@ 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
@@ -913,10 +934,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %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
 
 # FIXME: Changes file to _docdir (and rm MANIFEST.SKIP?)
 %{perl_privlib}/ExtUtils
@@ -965,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.*
@@ -988,6 +1009,17 @@ rm -rf $RPM_BUILD_ROOT
 # XXX: should it really be in this package?
 %{perl_privlib}/unicore
 
+%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
@@ -1172,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
@@ -1190,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
This page took 0.048319 seconds and 4 git commands to generate.