X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=perl.spec;h=eb4c69d9777c16717d7109dc26b1b0c3354b6adf;hb=d5222b20eb326b7b42b8c355fec2692f8cb3e99d;hp=a783b2752d141faf287b666ea900e45fb0ad27d0;hpb=3641062d46fb778675b5996ab091875e8b4f3c31;p=packages%2Fperl.git diff --git a/perl.spec b/perl.spec index a783b27..eb4c69d 100644 --- a/perl.spec +++ b/perl.spec @@ -6,33 +6,48 @@ %bcond_without tests # do not perform "make test" %bcond_without threads # build without support for threads %bcond_without gdbm # build without the GDBM_File module -%bcond_without microperl # build microperl (needs fixing) +%bcond_with microperl # build microperl (needs fixing) # # TODO: # - fix "FIXME"s, review "XXX"s # - add the {O,N}DBM_File modules -# - review the perldiag.pod issue -# - consider disabling ithreads by default +# - `diagnostics.pm' (perl-base) requires `perldiag.pod' (perl-perldoc) +# move .pod file to -base or S: perl-perldoc in -base +# - consider disabling ithreads by default; packages that require it: +# maatkit (dunno, seems complicated), munin-plugins-muninexchange (fixable), +# whohas (easy to fix), slimrat (no way to fix) # - what about "prove" (binary+manual)? (conflicts with standalone Test-Harness) # - patch MakeMaker to get rid of empty *.bs files (MM_Unix::dynamic_bs()) -# - %{__cc}: cc -c -o uhv.o -DPERL_CORE -DPERL_MICRO -DSTANDARD_C -DPERL_USE_SAFE_PUTENV -O2 -march=i686 hv.c +# - consider separating C/XS development files (*.h, libperl.so) +# and perl development modules (like MakeMaker, Devel...) +# - subpackage for perl-ExtUtils-MakeMaker, (instmodsh conflicts with +# perl-ExtUtils-MakeMaker) +# - resolve ugly perl-base/perl-dirs dependency loop +# (in fact perl-dirs dep in perl-base could be dropped and perl-dirs +# deps in external modules autogenerated - perhaps with proper ">= version") # # TODO for perl-dependent packages: # - change all "R/BR: perl" to one of perl-{base,modules,devel} # +# NOTE +# - modules in 5.10.0: http://search.cpan.org/~rgarcia/perl-5.10.0/ -%define _abi 5.10.0 - +%define abi 5.14.0 %define perlthread %{?with_threads:-thread-multi} -%define perl_privlib %{_datadir}/perl5/%{version} -%define perl_archlib %{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread} +%define perl_privlib %{_datadir}/perl5/%{ver} +%define perl_archlib %{_libdir}/perl5/%{ver}/%{_target_platform}%{perlthread} %define perl_sitelib %{_usr}/local/share/perl5 -%define perl_sitearch %{_usr}/local/lib/perl5/%{_abi}/%{_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/%{_abi}/%{_target_platform}%{perlthread} +%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{abi}/%{_target_platform}%{perlthread} + +# extract module version from source +%define perl_modver() %([ -f %{SOURCE3} ] && awk -vp=%1 '$1 == p{print $3}' %{SOURCE3} || echo ERROR) +%define perl_modversion() %([ -f %{SOURCE3} ] && awk -vp=%1 '$1 == p{m=$1; gsub(/::/, "-", m); printf("perl-%s = %s\\n", m, $3)}END{if (!m) printf("# Error looking up [%s]\\n", p)}' %{SOURCE3} || echo ERROR) -%define _rel 0.2 +%define ver 5.14.2 +%define rel 0.1 Summary: Practical Extraction and Report Language (Perl) Summary(cs.UTF-8): Programovací jazyk Perl Summary(da.UTF-8): Programmeringssproget Perl @@ -55,41 +70,43 @@ Summary(sv.UTF-8): Programmeringsspråket Perl Summary(tr.UTF-8): Kabuk yorumlama dili Summary(zh_CN.UTF-8): Perl 编程语言。 Name: perl -Version: 5.10.0 -Release: %{_rel}%{!?with_threads:_nothr} +Version: %{ver} +Release: %{rel}%{!?with_threads:_nothr} Epoch: 1 License: GPL v1+ or Artistic Group: Development/Languages/Perl -Source0: http://www.cpan.org/src/%{name}-%{version}.tar.gz -# Source0-md5: d2c39b002ebfd2c3c5dba589365c5a71 +Source0: http://www.cpan.org/src/5.0/%{name}-%{ver}.tar.gz +# Source0-md5: 3306fbaf976dcebdcd49b2ac0be00eb9 Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source1-md5: de47d7893f49ad7f41ba69c78511c0db Source2: %{name}.prov -Patch0: %{name}_581-noroot_install.patch -Patch1: %{name}_581-INC.patch -Patch3: %{name}_580-errno_h-parsing.patch -Patch4: %{name}_580-use-LD_PRELOAD-for-libperl.so.patch -Patch5: %{name}_581-soname.patch -Patch6: %{name}-test-noproc.patch -Patch7: %{name}_585-microperl_uconfig.patch -Patch13: %{name}-write-permissions.patch -Patch15: %{name}-timer-test.patch +Source3: %{name}-modules +Patch2: %{name}_580-errno_h-parsing.patch +Patch3: %{name}_581-soname.patch +Patch4: %{name}-test-noproc.patch +Patch5: %{name}_585-microperl_uconfig.patch +Patch6: %{name}-write-permissions.patch +Patch7: %{name}-timer-test.patch +Patch9: %{name}-t-syslog.patch URL: http://dev.perl.org/perl5/ %ifarch ppc # gcc 3.3.x miscompiles pp_hot.c BuildRequires: gcc >= 5:4.1 %endif %{?with_gdbm:BuildRequires: gdbm-devel} +# asm-generic, merged x86 asm dirs +BuildRequires: linux-libc-headers >= 7:2.6.24 +%{?with_tests:BuildRequires: procps} # required for proper Provides generation (older are not supported by spec) BuildRequires: rpm-build >= 4.3-0.20040107.4 -BuildRequires: rpmbuild(macros) >= 1.310 -Requires: %{name}-base = %{epoch}:%{version}-%{release} -Requires: %{name}-modules = %{epoch}:%{version}-%{release} -Requires: %{name}-doc-reference = %{epoch}:%{version}-%{release} -Requires: perldoc +BuildRequires: rpmbuild(macros) >= 1.426 +Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Requires: %{name}-modules = %{epoch}:%{ver}-%{release} +Suggests: %{name}-doc-reference = %{epoch}:%{ver}-%{release} +Suggests: perldoc BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define __perl %{_builddir}/perl-%{version}/runperl +%define __perl %{_builddir}/perl-%{ver}/runperl %define __perl_provides %{__perl} %{SOURCE2} %description @@ -282,19 +299,18 @@ Biblioteka współdzielona Perla. Summary: Base Perl components for a minimal installation Summary(pl.UTF-8): Podstawowe składniki potrzebne do minimalnej instalacji Perla Group: Development/Languages/Perl -Requires: %{name}-libs = %{epoch}:%{version}-%{release} -Requires: perl-dirs(%{_target_cpu}) +Requires: %{name}-libs = %{epoch}:%{ver}-%{release} +Requires: %{perl_vendorarch} +Requires: %{perl_vendorlib} Provides: perl(largefiles) -Provides: perl-File-Compare = 1.1003 -Provides: perl-File-Spec = 3.12 -Provides: perl-File-Temp = 0.16 -Provides: perl-IO = 1.22 -Provides: perl-Safe = 2.12 -Provides: perl-Socket = 1.78 -Provides: perl-Tie-File = 0.97 -# broken, unsupported modules -Obsoletes: perl-SOAP -Obsoletes: perl-Sort-PolySort +Provides: %perl_modversion File::Compare +Provides: %perl_modversion File::Spec +Provides: %perl_modversion File::Temp +Provides: %perl_modversion IO +Provides: %perl_modversion PerlIO::via::QuotedPrint +Provides: %perl_modversion Socket +Provides: %perl_modversion Tie::File +Obsoletes: sperl Conflicts: perl < 1:5.8.0 %description base @@ -307,37 +323,21 @@ 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.UTF-8): GDBM_File - dostęp do biblioteki gdbm w Perlu -Group: Libraries -Requires: %{name}-base = %{epoch}:%{version}-%{release} -# FIXME: Set Version: 1.08 and Release: 1 instead of inheriting -# values from the main package. Why this causes setting -# version and release macros up to the end of this spec? - -%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.UTF-8 -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.UTF-8): Pliki potrzebne przy tworzeniu własnych aplikacji w Perlu Summary(pt_BR.UTF-8): Arquivos de desenvolvimento e cabeçalhos para o Perl Group: Development/Libraries -Requires: %{name}-base = %{epoch}:%{version}-%{release} -Requires: %{name}-modules = %{epoch}:%{version}-%{release} -Requires: %{name}-tools-pod = %{epoch}:%{version}-%{release} -Provides: perl-CPAN = 1.76_02 -Provides: perl-Devel-DProf = 20050603.00 -Provides: perl-Devel-PPPort = 3.06_01 -Provides: perl-Devel-Peek = 1.03 -Provides: perl-ExtUtils-Embed = 1.2506_01 -Provides: perl-ExtUtils-MakeMaker = 6.30 +Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Requires: %{name}-modules = %{epoch}:%{ver}-%{release} +Requires: %{name}-tools-pod = %{epoch}:%{ver}-%{release} +Provides: %perl_modversion CPAN +Provides: %perl_modversion Devel::DProf +Provides: %perl_modversion Devel::PPPort +Provides: %perl_modversion Devel::Peek +Provides: %perl_modversion ExtUtils::Embed +Provides: %perl_modversion ExtUtils::MakeMaker +Provides: %perl_modversion Module::Build Obsoletes: perl-lib-devel %description devel @@ -379,46 +379,42 @@ Extraction and Report Language) i jego interpretera. Summary: Modules from the core Perl distribution Summary(pl.UTF-8): Moduły z podstawowej dystrybucji Perla Group: Libraries -Requires: %{name}-base = %{epoch}:%{version}-%{release} -Provides: perl-Attribute-Handlers = 0.78_02 -Provides: perl-CGI = 3.15 -Provides: perl-Class-ISA = 0.33 -Provides: perl-Digest = 1.14 -Provides: perl-Digest-MD5 = 2.36 -Provides: perl-Filter-Simple = 0.82 -Provides: perl-FindBin = 1.47 -#Provides: perl-Hash-Utils = 0.05 Data::Util is missing -Provides: perl-I18N-LangTags = 0.35 -Provides: perl-IPC-SysV = 1.04 -Provides: perl-Locale-Codes = 2.07 -Provides: perl-Locale-Maketext = 1.09 -Provides: perl-MIME-Base64 = 3.07 -Provides: perl-Math-BigInt = 1.77 -Provides: perl-Math-BigRat = 0.15 -Provides: perl-Math-Trig = 1.03 -Provides: perl-Memoize = 1.01 -Provides: perl-NEXT = 0.60 -Provides: perl-PerlIO-via-QuotedPrint = 0.06 -Provides: perl-Pod-LaTeX = 0.58 -Provides: perl-Pod-Parser = 1.32 -Provides: perl-Scalar-List-Utils = 1.18 -Provides: perl-Storable = 2.15 -Provides: perl-Term-ANSIColor = 1.10 -Provides: perl-Term-Cap = 1.09 -Provides: perl-Test = 1.25 -Provides: perl-Test-Harness = 2.56 -Provides: perl-Test-Simple = 0.62 -Provides: perl-Text-Balanced = 1.95 -Provides: perl-Text-ParseWords = 3.24 -Provides: perl-Text-Soundex = 1.01 -# XXX: I'm not sure what to do with this one... -#Provides: perl-Text-Tabs+Wrap = 2005.0824(01) -Provides: perl-Time-HiRes = 1.86 -Provides: perl-UNIVERSAL = 1.01 -Provides: perl-Unicode-Collate = 0.52 -Provides: perl-Unicode-Normalize = 0.32 -Provides: perl-libnet = 1.19 -Obsoletes: perl-Encode-compat +Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Provides: %perl_modversion Attribute::Handlers +Provides: %perl_modversion CGI +Provides: %perl_modversion Class::ISA +Provides: %perl_modversion Digest +Provides: %perl_modversion Digest::MD5 +Provides: %perl_modversion Filter::Simple +Provides: %perl_modversion FindBin +Provides: %perl_modversion I18N::LangTags +Provides: %perl_modversion IPC::SysV +Provides: %perl_modversion Locale::Maketext +Provides: %perl_modversion MIME::Base64 +Provides: %perl_modversion Math::BigInt +Provides: %perl_modversion Math::BigRat +Provides: %perl_modversion Math::Trig +Provides: %perl_modversion Memoize +Provides: %perl_modversion NEXT +Provides: %perl_modversion Parse::CPAN::Meta +Provides: %perl_modversion Pod::LaTeX +Provides: %perl_modversion Pod::Parser +Provides: %perl_modversion Safe +Provides: %perl_modversion Storable +Provides: %perl_modversion Term::ANSIColor +Provides: %perl_modversion Term::Cap +Provides: %perl_modversion Test +Provides: %perl_modversion Test::Harness +Provides: %perl_modversion Test::Simple +Provides: %perl_modversion Text::Balanced +Provides: %perl_modversion Text::ParseWords +Provides: %perl_modversion Text::Soundex +Provides: %perl_modversion Time::HiRes +Provides: %perl_modversion UNIVERSAL +Provides: %perl_modversion Unicode::Collate +Provides: %perl_modversion Unicode::Normalize +Provides: %perl_modversion libnet +Provides: %perl_modversion version Obsoletes: perl-lib %description modules @@ -433,9 +429,10 @@ dystrybucji. Summary: perldoc - Look up Perl documentation in pod format Summary(pl.UTF-8): perldoc - przeszukiwanie dokumentacji Perla w formacie pod Group: Development/Tools -Requires: %{name}-modules = %{epoch}:%{version}-%{release} -Requires: %{name}-tools-pod = %{epoch}:%{version}-%{release} -Provides: perldoc = 3.13@%{version} +Requires: %{name}-modules = %{epoch}:%{ver}-%{release} +Requires: %{name}-tools-pod +Requires: groff +Provides: perldoc = 3.14_02@%{ver} %description perldoc perldoc looks up a piece of documentation in .pod format that is @@ -449,83 +446,16 @@ 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(de.UTF-8): sperl zur Verwendung mit setuid Perl-Skripts -Summary(es.UTF-8): sperl, para uso con los scrips de Perl setuid -Summary(fr.UTF-8): sperl, à utiliser avec les scripts Perl setuid -Summary(it.UTF-8): sperl, da usare con gli script di Perl setuid -Summary(ja.UTF-8): Setuid Perl scripts と一緒に使用するための suidperl -Summary(ko.UTF-8): Setuid 펄 스크립트와 함께 사용되는 suidperl -Summary(pl.UTF-8): Binaria setuid root Perla dla setuid-owych skryptów Perla -Summary(pt.UTF-8): O suidperl, para usar com os programas de Perl 'setuid' -Summary(ru.UTF-8): SUID версия языка Perl -Summary(sv.UTF-8): sperl, att användas med setuid perlskript -Summary(uk.UTF-8): SUID-версія мови Perl -Summary(zh_CN.UTF-8): sperl,用来与 setuid Perl 脚本一起使用 -Group: Development/Languages/Perl -Requires: %{name}-base = %{epoch}:%{version}-%{release} -Obsoletes: perl-suidperl - -%description -n sperl -sperl is a setuid root binary copy of Perl that allows for (hopefully) -more secure running of setuid Perl scripts. - -%description -n sperl -l de.UTF-8 -sperl ist eine binäre setuid Kopie von Perl, mit der (hoffentlich) -setuid-Skripts sicherer ausgeführt werden können. - -%description -n sperl -l es.UTF-8 -sperl es una copia binaria de setuid para Perl que le permite una -ejecución más segura de los scripts de Perl setuid. - -%description -n sperl -l fr.UTF-8 -sperl est une copie binaire setuid de Perl qui permet une exécution -plus sûre de scripts Perl setuid. - -%description -n sperl -l it.UTF-8 -sperl è una copia binaria setuid di Perl che consente un'esecuzione -più sicura di script di Perl setuid. - -%description -n sperl -l ja.UTF-8 -sperl は setuid Perl scripts.をもっと安全に動作できる(期待のある)為の -Perl のsetuid バイナリ コピーです。 - -%description -n sperl -l pl.UTF-8 -sperl jest to kopia setuid root programu binarnego Perl umożliwiająca -bezpieczniejsze (miejmy nadzieję) uruchamianie setuidowych skryptów -Perla. - -%description -n sperl -l pt.UTF-8 -O suidperl é uma cópia do Perl com 'setuid' que permite uma execução -mais segura dos 'scripts' de Perl 'setuid'. - -%description -n sperl -l ru.UTF-8 -Suid perl испльзуется для того, чтобы дать возможность создавать -скрипты с утановленным битом SUID. Хотя в него встроено достаточно -много проверок, призваных обеспечить безопасность его использования -suid perl все равно представляет собой значительную потенциальную -опасность. - -%description -n sperl -l sv.UTF-8 -suidperl är en setuid binärkopia av pers som tillåter -(förhoppningsvis) säkrare körning av setuid perlskript. - -%description -n sperl -l zh_CN.UTF-8 -suidperl 是 Perl 的 setuid 二进制副本。它允许(希望如此) 更安全地运行 -setuid perl 脚本。 - %package tools Summary: Various tools from the core Perl distribution Summary(pl.UTF-8): Różne narzędzia z podstawowej dystrybucji Perla Group: Applications -Requires: %{name}-devel = %{epoch}:%{version}-%{release} +Requires: %{name}-devel = %{epoch}:%{ver}-%{release} %description tools Various tools from the core Perl distribution: a2p - Awk to Perl translator find2perl - translate find command lines to Perl code -piconv - iconv(1), reinvented in Perl psed, s2p - a stream editor and others. @@ -533,7 +463,6 @@ and others. Różne narzędzia z podstawowej dystrybucji Perla: a2p - translator skryptów Awka do Perla find2perl - tłumaczenie linii poleceń programu find na kod w Perlu -piconv - iconv(1) napisany w Perlu psed, s2p - edytor strumieniowy i inne. @@ -541,14 +470,13 @@ i inne. Summary: Developer's tools from the core Perl distribution Summary(pl.UTF-8): Narzędzia z podstawowej dystrybucji Perla, przeznaczone dla programistów Group: Development/Tools -Requires: %{name}-base = %{epoch}:%{version}-%{release} -Requires: %{name}-devel = %{epoch}:%{version}-%{release} +Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Requires: %{name}-devel = %{epoch}:%{ver}-%{release} %description tools-devel Various tools from the core Perl distribution: c2ph, pstruct - Dump C structures as generated from C stabs dprofpp - display Perl profile data -enc2xs - Perl Encode Module Generator h2ph - convert .h C header files to .ph Perl header files h2xs - convert .h C header files to Perl extensions perlcc - generate executables from Perl programs @@ -561,13 +489,12 @@ 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 + 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 +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 @@ -576,7 +503,7 @@ splain - wymuszenie obszernych ostrzeżeń diagnostycznych Summary: Tools for manipulating files in the POD format Summary(pl.UTF-8): Narzędzia do przetwarzania plików w formacie POD Group: Applications -Requires: %{name}-modules = %{epoch}:%{version}-%{release} +Requires: %{name}-modules = %{epoch}:%{ver}-%{release} %description tools-pod Tools for manipulating files in the POD (Plain Old Documentation) @@ -604,8 +531,7 @@ podselect - wypisanie wybranych sekcji z dokumentacji POD %package -n microperl Summary: A really minimal Perl, even more minimal than miniperl Summary(pl.UTF-8): Naprawdę minimalny Perl, nawet bardziej minimalny niż miniperl -# XXX: is there a more appropiate group? -Group: Applications +Group: Development/Languages/Perl %description -n microperl microperl is supposed to be able a really minimal Perl, even more @@ -626,17 +552,58 @@ 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. +%package Encode +Summary: Encode - character encodings +Summary(pl.UTF-8): Encode - kodowania znaków +Version: %perl_modver Encode +Group: Libraries +Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Obsoletes: perl-Encode-compat + +%description Encode +The Encode module provides the interfaces between Perl's strings and +the rest of the system. + +%description Encode -l pl.UTF-8 +Moduł Encode udostępnia interfejs pomiędzy łańcuchami w wewnętrznym +formacie Perla a resztą systemu. + +%package GDBM_File +Summary: GDBM_File - Perl5 access to the gdbm library +Summary(pl.UTF-8): GDBM_File - dostęp do biblioteki gdbm w Perlu +Version: %perl_modver GDBM_File +Epoch: 2 +Group: Libraries +Requires: %{name}-base = 1:%{ver}-%{release} + +%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.UTF-8 +GDBM_File jest modułem, który umożliwia programom w Perlu korzystanie +z biblioteki GNU gdbm. + +# Setting Version in GDBM_File resets the %version macro. This hack works around it. +%define version %{ver} + %prep %setup -q -%patch0 -p1 -%patch1 -p1 +%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch13 -p1 -%patch15 -p1 +%patch9 -p1 + +cat > runperl <<'EOF' +#!/bin/sh +LD_PRELOAD="%{_builddir}/%{name}-%{ver}/libperl.so.%{abi}" \ +PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \ +exec %{buildroot}%{_bindir}/perl ${1:+"$@"} +EOF +chmod a+x runperl %build unset LD_SYMBOLIC_FUNCTIONS || : @@ -650,9 +617,8 @@ sh Configure \ -Dldflags="%{rpmldflags}" \ -Dlddlflags="-shared %{rpmldflags}" \ -Doptimize="%{rpmcflags}" \ - %{?debug:-DDEBUGGING} \ + -%{?debug:D}%{!?debug:U}DEBUGGING \ -Duseshrplib \ - -Dd_dosuid \ -Dman1dir=%{_mandir}/man1 -Dman1ext=1 \ -Dman3dir=%{_mandir}/man3 -Dman3ext=3perl \ -Dvendorman1dir=%{_mandir}/man1 -Dvendorman1ext=1p \ @@ -671,40 +637,13 @@ sh Configure \ -%{?with_threads:D}%{!?with_threads:U}usethreads \ -Duselargefiles -## why were these three undefined? -# -Ud_setresgid \ -# -Ud_setresuid \ -## what's the problem with this one? -# %ifarch sparc sparc64 -# -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 --interactive=never 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} \ + LIBPERL_SONAME=libperl.so.%{abi} \ LDDLFLAGS="%{rpmcflags} -shared" -cat > runperl <<'EOF' -#!/bin/sh -LD_PRELOAD="%{_builddir}/%{name}-%{version}/libperl.so.%{_abi}" \ -PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \ -exec %{buildroot}%{_bindir}/perl $* -EOF -chmod a+x runperl - ## microperl %if %{with microperl} -rm --interactive=never uconfig.h -#chmod u+w uconfig.sh -#echo "usemallocwrap='define'" >> uconfig.sh +%{__rm} uconfig.h %{__make} -f Makefile.micro \ archlib=%{perl_archlib} \ archlibexp=%{perl_archlib} \ @@ -716,6 +655,7 @@ rm --interactive=never uconfig.h scriptdir=%{_bindir} \ scriptdirexp=%{_bindir} \ usemallocwrap='define' \ + CC="%{__cc}" \ OPTIMIZE="%{rpmcflags}" %endif @@ -723,109 +663,143 @@ rm --interactive=never uconfig.h #%{?with_tests:%{__make} minitest} %install -rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1 - -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT -%{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}} - -## use symlinks instead of hardlinks -%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/perl -%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/suidperl -%{__ln_s} -f c2ph $RPM_BUILD_ROOT%{_bindir}/pstruct -%{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p - -## Fix lib -rm --interactive=never $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 -%{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl -%{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl - -## Generate the *.ph files -owd="`pwd`" -cd /usr/include -H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph -PHDIR=$RPM_BUILD_ROOT%{perl_archlib} -WANTED=' - syscall.h - syslog.h - termios.h - wait.h - asm/termios.h - sys/ioctl.h - sys/socket.h - sys/syscall.h - sys/time.h - linux/posix_types.h - linux/stddef.h -' -# why it returns non-zero??? -%{__perl} $H2PH -a -d $PHDIR $WANTED || : -cd "$owd" - -## remove man pages for other operating systems -rm --interactive=never $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,apollo,beos,bs2000,ce,cygwin,dgux,dos}* \ - $RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,machten,macos,mpeix,os2,os390}* \ - $RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vmesa,vms,vos,win32}* - -## symlink perldelta.1.gz -> perlFOOdelta.1.gz -[ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{version} | tr -d .)delta.1 ] || exit 1 -rm $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 -echo ".so perl%(echo %{version} | tr -d .)delta.1" >$RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 - -## These File::Spec submodules are for non-Unix systems -rm --interactive=never $RPM_BUILD_ROOT%{perl_privlib}/File/Spec/[EMOVW]*.pm -rm $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3perl* - -## We already have these *.pod files as man pages -rm --interactive=never $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext}}/*.pod -rm $RPM_BUILD_ROOT%{perl_privlib}/pod/a2p.pod -rm --interactive=never $RPM_BUILD_ROOT%{perl_privlib}/*.pod -rm --interactive=never $RPM_BUILD_ROOT%{perl_archlib}/*.pod - -## this object file looks unused; why is it there? -rm --interactive=never $RPM_BUILD_ROOT%{perl_archlib}/CORE/sperl.o - -install -d doc-base/{Getopt/Long,Switch} \ - doc-devel/ExtUtils \ - doc-modules/{Attribute/Handlers,Filter/Simple,I18N/LangTags,Locale/{Codes,Maketext},Memoize,NEXT,Net/Ping,Term/ANSIColor,Test/Simple,Text/{Balanced,TabsWrap},Unicode/Collate,unicore} - -# needed only for tests -rm --interactive=never $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt -mv -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/ReadMe.txt \ - doc-modules/unicore -# source for *.pl -rm --interactive=never $RPM_BUILD_ROOT%{perl_privlib}/unicore/{*.txt,mktables} -# cpan tools, we use rpm instead of cpan for managing packages (some search tool would be nice to have but...) -rm --interactive=never $RPM_BUILD_ROOT%{_bindir}/cpan* -rm --interactive=never $RPM_BUILD_ROOT%{_mandir}/man1/cpan* -# others -rm --interactive=never $RPM_BUILD_ROOT%{_bindir}/config_data -rm --interactive=never $RPM_BUILD_ROOT%{_mandir}/man1/config_data* -rm --interactive=never $RPM_BUILD_ROOT%{_mandir}/man3/XS::APItest* -rm --interactive=never $RPM_BUILD_ROOT%{_mandir}/man3/XS::Typemap* - -## dir tree for other perl modules -install -d $RPM_BUILD_ROOT{%{perl_vendorlib},%{perl_vendorarch},%{perl_vendorarch}/auto} -owd="`pwd`" - -## 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 - -sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl - -rm -rf $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages +if [ ! -f makeinstall.stamp -o ! -d $RPM_BUILD_ROOT ]; then + rm -rf makeinstall.stamp installed.stamp $RPM_BUILD_ROOT + + %{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + touch makeinstall.stamp +fi + +if [ ! -f installed.stamp ]; then + %{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}} + install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1 + + ## use symlinks instead of hardlinks + %{__ln_s} -f perl%{ver} $RPM_BUILD_ROOT%{_bindir}/perl + %{__ln_s} -f c2ph $RPM_BUILD_ROOT%{_bindir}/pstruct + %{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p + + ## Fix lib + %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so + mv $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir} + %{__ln_s} ../../../../libperl.so.%{abi} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi} + %{__ln_s} libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so + # installed as non-executable - let rpm generate deps + chmod 755 $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{abi} + + ## 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_heavy.pl + %{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl + + ## Generate the *.ph files + owd=$(pwd) + cd /usr/include + H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph + PHDIR=$RPM_BUILD_ROOT%{perl_archlib} + WANTED=' + syscall.h + syslog.h + termios.h + wait.h + asm/termios.h + sys/ioctl.h + sys/socket.h + sys/syscall.h + sys/time.h + linux/posix_types.h + linux/stddef.h + ' + # why it returns non-zero??? + %{__perl} $H2PH -a -d $PHDIR $WANTED || : + cd "$owd" + + ## remove man pages for other operating systems + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,beos,bs2000,ce,cygwin,dgux,dos}* \ + $RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,macos,mpeix,os2,os390}* \ + $RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vmesa,vms,vos,win32}* + + ## symlink perldelta.1.gz -> perlFOOdelta.1.gz + [ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{ver} | tr -d .)delta.1 ] || exit 1 + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 + echo ".so perl%(echo %{ver} | tr -d .)delta.1" >$RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 + + ## These File::Spec submodules are for non-Unix systems + %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/File/Spec/[EMOVW]*.pm + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3perl* + + ## We already have these *.pod files as man pages + %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext},version}/*.pod + %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/pod/a2p.pod + %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/*.pod + %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/*.pod + + install -d doc-base/{Getopt/Long,Switch} \ + doc-devel/ExtUtils \ + doc-modules/{Attribute/Handlers,Filter/Simple,I18N/LangTags,Locale/{Codes,Maketext},Memoize,NEXT} \ + doc-modules/{Net/Ping,Term/ANSIColor,Test/Simple,Text/{Balanced,TabsWrap},Unicode/Collate,unicore} + + # needed only for tests + %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt + # source for *.pl + %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/unicore/*.txt + # keep UnicodeData.txt, needed by Unicode::UCD + cp -p lib/unicore/UnicodeData.txt $RPM_BUILD_ROOT%{perl_privlib}/unicore + # cpan tools, we use rpm instead of cpan for managing packages (some search tool would be nice to have but...) + %{__rm} $RPM_BUILD_ROOT%{_bindir}/cpan* + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cpan* + # others + %{__rm} $RPM_BUILD_ROOT%{_bindir}/config_data + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/config_data* + %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/XS::Typemap* + + owd=$(pwd) + + ## 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 + + # `perl -MExtUtils::Embed -e ldopts` includes -Wl,--as-needed + # which is then forced upon anyone embedding perl. + sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl + + %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages + + touch installed.stamp +fi + +# update and check perl-modules file +echo '# Module versions from Perl %{ver} distribution.' > perl-modules +for m in $(awk '!/^#/ && !/^$/{print $1}' %{SOURCE3}); do + case $m in + Devel::DProf) +# + perl -ilib -MDevel::DProf -e print 'Devel-DProf = ',$Devel::DProf::VERSION +# DProf: run perl with -d to use DProf. +# Compilation failed in require. +# BEGIN failed--compilation aborted. + v=$(%{__perl} -e 'do "Devel/DProf.pm"; print $Devel::DProf::VERSION') + ;; + libnet) + v=$(awk '/^libnet /{print $2; exit}' cpan/libnet/Changes) + ;; + *) + v=$(%{__perl} -M$m -e "print $m->VERSION" ) + ;; + esac + echo "$m = $v" >> perl-modules +done + +egrep -v '^([ ]*$|[;#])' %{SOURCE3} > .mods1 +egrep -v '^([ ]*$|[;#])' perl-modules > .mods2 +if ! cmp -s .mods1 .mods2; then + : %{SOURCE3} outdated with $(pwd)/perl-modules + exit 1 +fi %clean rm -rf $RPM_BUILD_ROOT @@ -836,35 +810,33 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc README AUTHORS +%attr(755,root,root) %{_bindir}/perlthanks %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libperl.so.* -%dir %{_libdir}/perl5 -%dir %{_libdir}/perl5/%{version} -%dir %{perl_archlib} -%dir %{perl_archlib}/CORE -%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{_abi} +%attr(755,root,root) %{_libdir}/libperl.so.%{abi} %files base %defattr(644,root,root,755) %doc doc-base/* %attr(755,root,root) %{_bindir}/perl -%attr(755,root,root) %{_bindir}/perl%{version} -%{_mandir}/man1/perl.* -%lang(fi) %{_mandir}/fi/man1/perl* -%lang(pl) %{_mandir}/pl/man1/perl* +%attr(755,root,root) %{_bindir}/perl%{ver} +%{_mandir}/man1/perl.1* +%lang(fi) %{_mandir}/fi/man1/perl.1* +%lang(pl) %{_mandir}/pl/man1/perl.1* %dir %{_datadir}/perl5 %dir %{perl_privlib} +%dir %{_libdir}/perl5 +%dir %{_libdir}/perl5/%{ver} +%dir %{perl_archlib} +%dir %{perl_archlib}/CORE +%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{abi} %dir %{perl_archlib}/auto -%dir %{_libdir}/perl5/vendor_perl -%dir %{_libdir}/perl5/vendor_perl/%{_abi} -%{perl_vendorarch} -%{perl_vendorlib} - ## pragmas +%{perl_privlib}/autodie* +%{_mandir}/man3/autodie* %{perl_privlib}/base.pm %{_mandir}/man3/base.* %{perl_privlib}/constant.pm @@ -877,8 +849,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/fields.* %{perl_privlib}/integer.pm %{_mandir}/man3/integer.* -%{perl_privlib}/overload.pm -%{_mandir}/man3/overload.* +%{perl_privlib}/overload* +%{_mandir}/man3/overload* +%{perl_privlib}/parent.pm +%{_mandir}/man3/parent.* %{perl_privlib}/sort.pm %{_mandir}/man3/sort.* %{perl_privlib}/strict.pm @@ -907,6 +881,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/English* %{perl_privlib}/Getopt* %{_mandir}/man3/Getopt* +# FIXME: README and Changes files %{perl_privlib}/IPC %{_mandir}/man3/IPC::Open* %{_mandir}/man3/IPC::Cmd* @@ -916,19 +891,16 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/Symbol.* %{perl_privlib}/Tie %{_mandir}/man3/Tie::* +%{perl_privlib}/XSLoader* +%{_mandir}/man3/XSLoader* ## arch-dependent modules %{perl_archlib}/Config* %{_mandir}/man3/Config.* %{perl_archlib}/DynaLoader* -%{perl_archlib}/auto/DynaLoader %{_mandir}/man3/DynaLoader* %{perl_archlib}/Errno* %{_mandir}/man3/Errno* -%{perl_archlib}/Safe* -%{_mandir}/man3/Safe* -%{perl_archlib}/XSLoader* -%{_mandir}/man3/XSLoader* %{perl_archlib}/Cwd.* %dir %{perl_archlib}/auto/Cwd @@ -982,6 +954,23 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{perl_archlib}/auto/Socket/*.so %{_mandir}/man3/Socket.* +%if 0 +%files Encode +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/enc2xs +%attr(755,root,root) %{_bindir}/piconv +# FIXME: *.h to devel(?), check out the use for *.e2x files +%{perl_privlib}/Encode +%{perl_archlib}/Encode* +%{perl_archlib}/encoding.pm +%dir %{perl_archlib}/auto/Encode +%dir %{perl_archlib}/auto/Encode/*/ +%attr(755,root,root) %{perl_archlib}/auto/Encode/*/*.so +%{_mandir}/man1/enc2xs.* +%{_mandir}/man1/piconv.* +%{_mandir}/man3/Encode* +%{_mandir}/man3/encoding.* +%endif %if %{with gdbm} %files GDBM_File @@ -992,7 +981,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/GDBM_File.* %endif - %files devel %defattr(644,root,root,755) %doc doc-devel/* @@ -1000,6 +988,8 @@ rm -rf $RPM_BUILD_ROOT %{perl_archlib}/CORE/*.h %{_mandir}/man3/CORE* +%{perl_privlib}/App/Cpan.pm +%{_mandir}/man3/App::Cpan* # FIXME: Changes file to _docdir (and rm MANIFEST.SKIP?) %{perl_privlib}/ExtUtils %{_mandir}/man3/ExtUtils* @@ -1009,24 +999,15 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/CPAN* %{perl_privlib}/DB.* %{_mandir}/man3/DB.* + +%{perl_privlib}/inc +%{_mandir}/man3/inc::latest* %{perl_privlib}/Module/Build* %{_mandir}/man3/Module::Build* %{perl_archlib}/O.* %{_mandir}/man3/O.* -%{perl_archlib}/B -%{perl_archlib}/B.pm -%dir %{perl_archlib}/auto/B -%attr(755,root,root) %{perl_archlib}/auto/B/*.so -%{_mandir}/man3/B[.:]* - -#%{perl_archlib}/ByteLoader.* -#%dir %{perl_archlib}/auto/ByteLoader -#%attr(755,root,root) %{perl_archlib}/auto/ByteLoader/*.so -#%{perl_archlib}/auto/ByteLoader/*.bs -#%{_mandir}/man3/ByteLoader.* - %{perl_privlib}/Devel %{perl_archlib}/Devel %dir %{perl_archlib}/auto/Devel @@ -1042,7 +1023,6 @@ rm -rf $RPM_BUILD_ROOT #%{perl_archlib}/auto/XS/*/*.bs #%{_mandir}/man3/XS::* - %files doc-pod %defattr(644,root,root,755) %{perl_privlib}/pod/perl.pod @@ -1050,7 +1030,6 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/pod/perld[!i]*.pod %{perl_privlib}/pod/perlf[!au]*.pod - %files doc-reference %defattr(644,root,root,755) %{_mandir}/man1/perl[5aefghlmnoprstuvwx]* @@ -1063,12 +1042,14 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/perld[!o]* %{_mandir}/man1/perli[!v]* +%lang(fi) %{_mandir}/fi/man1/perlbook.1* +%lang(pl) %{_mandir}/pl/man1/perldata.1* +%lang(pl) %{_mandir}/pl/man1/perl[fors]*.1* %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) %doc doc-modules/* @@ -1076,8 +1057,6 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/unicore ## pragmas -%{perl_privlib}/attributes.pm -%{_mandir}/man3/attributes.* %{perl_privlib}/autouse.pm %{_mandir}/man3/autouse.* %{perl_privlib}/big*.pm @@ -1088,6 +1067,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/bytes.* %{perl_privlib}/charnames.pm %{_mandir}/man3/charnames.* +%{perl_privlib}/deprecate*.pm +%{_mandir}/man3/deprecate* %{perl_privlib}/encoding %{_mandir}/man3/encoding::* %{perl_privlib}/filetest.pm @@ -1098,8 +1079,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/less.* %{perl_privlib}/locale.pm %{_mandir}/man3/locale.* -%{perl_privlib}/mro.pm -%{_mandir}/man3/mro.* %{perl_privlib}/open.pm %{_mandir}/man3/open.* %{perl_privlib}/sigtrap.pm @@ -1107,18 +1086,20 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/utf8.pm %{_mandir}/man3/utf8.* %{perl_privlib}/version.pm -%{_mandir}/man3/version.* +%{_mandir}/man3/version* -%{perl_archlib}/attrs.pm -%dir %{perl_archlib}/auto/attrs -%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so -%{_mandir}/man3/attrs.* +%{perl_archlib}/attributes.pm +%dir %{perl_archlib}/auto/attributes +%attr(755,root,root) %{perl_archlib}/auto/attributes/*.so +%{_mandir}/man3/attributes.* +%{perl_archlib}/mro.pm +%dir %{perl_archlib}/auto/mro +%attr(755,root,root) %{perl_archlib}/auto/mro/*.so +%{_mandir}/man3/mro.* %{perl_archlib}/re.pm %dir %{perl_archlib}/auto/re %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.* @@ -1137,21 +1118,29 @@ rm -rf $RPM_BUILD_ROOT ## *.ph files (could be made a separate package, but an autohelper's support is needed) %{perl_archlib}/*.ph %{perl_archlib}/asm +%ifnarch alpha ppc ppc64 sparc sparcv9 sparc64 +# on archs which uses +%{perl_archlib}/asm-generic +%endif %{perl_archlib}/bits %{perl_archlib}/gnu %{perl_archlib}/linux %{perl_archlib}/sys -%ifarch %{x8664} sparc64 -%{perl_archlib}/asm-* -%endif +%{perl_privlib}/B +%{perl_archlib}/B +%{perl_archlib}/B.pm +%dir %{perl_archlib}/auto/B +%attr(755,root,root) %{perl_archlib}/auto/B/*.so +%{_mandir}/man3/B[.:]* + +%{perl_privlib}/Compress %{perl_archlib}/Compress %dir %{perl_archlib}/auto/Compress %dir %{perl_archlib}/auto/Compress/Raw -%dir %{perl_archlib}/auto/Compress/Raw/Zlib -%attr(755,root,root) %{perl_archlib}/auto/Compress/Raw/Zlib/*.so -%{perl_archlib}/auto/Compress/Zlib/*.ix -%{perl_archlib}/auto/Compress/Raw/Zlib/*.ix +%dir %{perl_archlib}/auto/Compress/Raw/*/ +%attr(755,root,root) %{perl_archlib}/auto/Compress/Raw/*/*.so +%{perl_archlib}/auto/Compress/Raw/*/*.ix %{_mandir}/man3/Compress* %{perl_archlib}/Data @@ -1171,14 +1160,6 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/DBM_Filter* %{_mandir}/man3/DBM_Filter* -# FIXME: *.h to devel(?), check out the use for *.e2x files -%{perl_privlib}/Encode -%{perl_archlib}/Encode* -%dir %{perl_archlib}/auto/Encode -%dir %{perl_archlib}/auto/Encode/*/ -%attr(755,root,root) %{perl_archlib}/auto/Encode/*/*.so -%{_mandir}/man3/Encode* - # FIXME: README and Changes files %{perl_privlib}/Filter %{perl_archlib}/Filter @@ -1191,6 +1172,7 @@ rm -rf $RPM_BUILD_ROOT %{perl_archlib}/Hash %dir %{perl_archlib}/auto/Hash %dir %{perl_archlib}/auto/Hash/*/ +%dir %{perl_archlib}/auto/Hash/*/FieldHash %attr(755,root,root) %{perl_archlib}/auto/Hash/*/*.so %attr(755,root,root) %{perl_archlib}/auto/Hash/*/*/*.so %{_mandir}/man3/Hash::* @@ -1200,7 +1182,6 @@ rm -rf $RPM_BUILD_ROOT %dir %{perl_archlib}/auto/I18N %dir %{perl_archlib}/auto/I18N/*/ %attr(755,root,root) %{perl_archlib}/auto/I18N/*/*.so -%{perl_archlib}/auto/I18N/*/*.ix %{_mandir}/man3/I18N::* %{perl_archlib}/IPC @@ -1237,15 +1218,12 @@ rm -rf $RPM_BUILD_ROOT %{perl_archlib}/Storable.* %dir %{perl_archlib}/auto/Storable %attr(755,root,root) %{perl_archlib}/auto/Storable/*.so -%{perl_archlib}/auto/Storable/*.al -%{perl_archlib}/auto/Storable/*.ix %{_mandir}/man3/Storable.* %{perl_archlib}/Sys %dir %{perl_archlib}/auto/Sys %dir %{perl_archlib}/auto/Sys/*/ %attr(755,root,root) %{perl_archlib}/auto/Sys/*/*.so -%{perl_archlib}/auto/Sys/*/*.ix %{_mandir}/man3/Sys::* %{perl_archlib}/Text @@ -1272,6 +1250,9 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/AnyDBM* %{_mandir}/man3/AnyDBM* +%dir %{perl_privlib}/App +%{perl_privlib}/App/Prove* +%{_mandir}/man3/App::Prove* %{perl_privlib}/Archive* %{_mandir}/man3/Archive* %{perl_privlib}/Attribute @@ -1280,8 +1261,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/Benchmark* %{perl_privlib}/CGI* %{_mandir}/man3/CGI* -%{perl_privlib}/Class/ISA* -%{_mandir}/man3/Class::ISA* %{perl_privlib}/Config %{_mandir}/man3/Config::* %{perl_privlib}/DirHandle* @@ -1294,8 +1273,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/Fatal.* %{perl_privlib}/FindBin.* %{_mandir}/man3/FindBin.* -# FIXME: README and Changes files -%{perl_privlib}/IPC %{perl_privlib}/Log %{_mandir}/man3/Log::* %{perl_privlib}/Locale @@ -1309,7 +1286,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/NEXT* # FIXME: README and Changes files %dir %{perl_privlib}/Net -%{perl_privlib}/Net/*.eg %{perl_privlib}/Net/*.pm %{perl_privlib}/Net/FTP %{_mandir}/man3/Net::* @@ -1319,8 +1295,12 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/Package::* %{perl_privlib}/Params %{_mandir}/man3/Params::* +%{perl_privlib}/Parse +%{_mandir}/man3/Parse::CPAN::Meta* %{perl_privlib}/Pod %{_mandir}/man3/Pod::* +%{perl_privlib}/Safe* +%{_mandir}/man3/Safe* %{perl_archlib}/Scalar %{_mandir}/man3/Scalar::* %{perl_privlib}/Search @@ -1329,9 +1309,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/SelfLoader.* %{perl_privlib}/Shell.* %{_mandir}/man3/Shell.* -# FIXME: README and Changes files -%{perl_privlib}/Switch.* -%{_mandir}/man3/Switch.* +%{perl_privlib}/TAP +%{_mandir}/man3/TAP::* # FIXME: README and Changes files %{perl_privlib}/Term %{_mandir}/man3/Term::* @@ -1351,7 +1330,6 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/User %{_mandir}/man3/User::* - %files perldoc %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/perldoc @@ -1361,12 +1339,6 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/pod/perlfunc.pod %{_mandir}/man1/perldoc.* - -%files -n sperl -%defattr(644,root,root,755) -%attr(4755,root,root) %{_bindir}/sperl%{version} -%attr(755,root,root) %{_bindir}/suidperl - %files tools %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/a2p @@ -1379,8 +1351,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/instmodsh.* %attr(755,root,root) %{_bindir}/libnetcfg %{_mandir}/man1/libnetcfg.* -%attr(755,root,root) %{_bindir}/piconv -%{_mandir}/man1/piconv.* %attr(755,root,root) %{_bindir}/psed %{_mandir}/man1/psed.* %attr(755,root,root) %{_bindir}/ptar @@ -1402,8 +1372,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/pstruct.* %attr(755,root,root) %{_bindir}/dprofpp %{_mandir}/man1/dprofpp.* -%attr(755,root,root) %{_bindir}/enc2xs -%{_mandir}/man1/enc2xs.* %attr(755,root,root) %{_bindir}/h2ph %{_mandir}/man1/h2ph.* %attr(755,root,root) %{_bindir}/h2xs @@ -1429,6 +1397,6 @@ rm -rf $RPM_BUILD_ROOT %if %{with microperl} %files -n microperl %defattr(644,root,root,755) -%doc README.micro Todo.micro +%doc README.micro %attr(755,root,root) %{_bindir}/microperl %endif