+# unpackaged:
+# /usr/lib/perl5/5.10.0/i686-pld-linux-thread-multi/.packlist
+# /usr/lib/perl5/5.10.0/i686-pld-linux-thread-multi/auto/sdbm/extralibs.ld
#
# Conditional build:
%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
+# - `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
# - what about "prove" (binary+manual)? (conflicts with standalone Test-Harness)
# - patch MakeMaker to get rid of empty *.bs files (MM_Unix::dynamic_bs())
+# - 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.8.0
-
+%define abi 5.12.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 11
+%define ver 5.12.0
+%define rel 1
Summary: Practical Extraction and Report Language (Perl)
Summary(cs.UTF-8): Programovací jazyk Perl
Summary(da.UTF-8): Programmeringssproget Perl
Summary(tr.UTF-8): Kabuk yorumlama dili
Summary(zh_CN.UTF-8): Perl 编程语言。
Name: perl
-Version: 5.8.8
-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.bz2
-# Source0-md5: a377c0c67ab43fd96eeec29ce19e8382
+Source0: http://www.cpan.org/modules/by-authors/id/J/JE/JESSE/%{name}-%{ver}.tar.bz2
+# Source0-md5: 3e15696f4160775a90f6b2fb3ccc98c2
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
-Patch8: %{name}_588-27368.patch
-Patch9: %{name}-getgrent.patch
-Patch10: %{name}-5.8.7-172396.patch
-Patch11: %{name}-5.8.7-CAN-2004-0976.patch
-Patch12: %{name}_588-27203.patch
-Patch13: %{name}-ExtUtils-MakeMaker-write-permissions.patch
-Patch14: %{name}-makedepend.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
+Obsoletes: sperl
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
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: perl-dirs(%{_target_cpu})
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+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 Safe
+Provides: %perl_modversion Socket
+Provides: %perl_modversion Tie::File
Conflicts: perl < 1:5.8.0
%description base
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
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 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
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
+Provides: perldoc = 3.14_02@%{ver}
%description perldoc
perldoc looks up a piece of documentation in .pod format that is
"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
-cpan - easily interact with CPAN from the command line
find2perl - translate find command lines to Perl code
-piconv - iconv(1), reinvented in Perl
psed, s2p - a stream editor
+and others.
%description tools -l pl.UTF-8
Różne narzędzia z podstawowej dystrybucji Perla:
a2p - translator skryptów Awka do Perla
-cpan - easily interact with CPAN from the command line
find2perl - tłumaczenie linii poleceń programu find na kod w Perlu
-piconv - iconv(1) napisany w Perlu
psed, s2p - edytor strumieniowy
+i inne.
%package tools-devel
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<cc -g -S> 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
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
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)
%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
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
-%patch8 -p0
%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p0
-%patch13 -p1
-%patch14 -p1
-%patch15 -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 || :
-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 \
-%{?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 -f ext/List/Util/Makefile.PL
-cat <<EOF > ext/List/Util/Makefile.PL
-use ExtUtils::MakeMaker;
-WriteMakefile(NAME=>"List::Util", VERSION_FROM=>"Util.pm", DEFINE=>"-DPERL_EXT");
-EOF
-
%{__make} \
- LIBPERL_SONAME=libperl.so.%{_abi} \
+ 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 -f 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} \
scriptdir=%{_bindir} \
scriptdirexp=%{_bindir} \
usemallocwrap='define' \
+ CC="%{__cc}" \
OPTIMIZE="%{rpmcflags}"
%endif
#%{?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 -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so
-%{__ln_s} `%{__perl} -e '$_="'%{perl_archlib}/CORE/libperl.so.%{_abi}'";s|^'%{_libdir}'/*||;print'` \
- $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{_abi}
-%{__ln_s} libperl.so.%{_abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so
-
-## Fix Config.pm: remove buildroot path and change man pages extensions
-%{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
-%{__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 -f $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 -f $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 -f $RPM_BUILD_ROOT%{perl_privlib}/File/Spec/[EMOVW]*.pm
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3pm*
-
-## We already have these *.pod files as man pages
-rm -f $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext},MakeMaker}/*.pod
-rm -f $RPM_BUILD_ROOT%{perl_privlib}/*.pod
-rm -f $RPM_BUILD_ROOT%{perl_archlib}/*.pod
-
-## this object file looks unused; why is it there?
-rm -f $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}
-
-mv -f $RPM_BUILD_ROOT%{perl_privlib}/ExtUtils/{NOTES,PATCHING} \
- doc-devel/ExtUtils
-
-# needed only for tests
-rm -f $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 -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/{*.txt,mktables}
-
-## 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
-
-## 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
-
-# XXX: bug bug bug...
-mv $RPM_BUILD_ROOT%{perl_privlib}/auto/POSIX/SigAction \
- $RPM_BUILD_ROOT%{perl_archlib}/auto/POSIX
-
-sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl
+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,apollo,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}}/*.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
+ mv -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/ReadMe.txt \
+ doc-modules/unicore
+ # source for *.pl
+ %{__rm} $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} $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::APItest*
+ %{__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 -rf $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
%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
%{_mandir}/man3/constant.*
%{perl_privlib}/diagnostics.pm
%{_mandir}/man3/diagnostics.*
+%{perl_privlib}/feature.pm
+%{_mandir}/man3/feature.*
%{perl_privlib}/fields.pm
%{_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
%{_mandir}/man3/Getopt*
%{perl_privlib}/IPC
%{_mandir}/man3/IPC::Open*
+%{_mandir}/man3/IPC::Cmd*
+%{perl_privlib}/Safe*
+%{_mandir}/man3/Safe*
%{perl_privlib}/SelectSaver.pm
%{_mandir}/man3/SelectSaver.*
%{perl_privlib}/Symbol.pm
%{_mandir}/man3/Symbol.*
%{perl_privlib}/Tie
%{_mandir}/man3/Tie::*
+%{perl_privlib}/XSLoader*
+%{_mandir}/man3/XSLoader*
## arch-dependent modules
%{perl_archlib}/Config*
-%{_mandir}/man3/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
%attr(755,root,root) %{perl_archlib}/auto/Cwd/*.so
-%{perl_archlib}/auto/Cwd/*.bs
+#%{perl_archlib}/auto/Cwd/*.bs
%{_mandir}/man3/Cwd.*
%{perl_archlib}/Fcntl.*
%dir %{perl_archlib}/auto/Fcntl
%attr(755,root,root) %{perl_archlib}/auto/Fcntl/*.so
-%{perl_archlib}/auto/Fcntl/*.bs
+#%{perl_archlib}/auto/Fcntl/*.bs
%{_mandir}/man3/Fcntl.*
%{perl_privlib}/File*
%dir %{perl_archlib}/auto/File
%dir %{perl_archlib}/auto/File/*/
%attr(755,root,root) %{perl_archlib}/auto/File/*/*.so
-%{perl_archlib}/auto/File/*/*.bs
+#%{perl_archlib}/auto/File/*/*.bs
%{_mandir}/man3/File*
%{perl_privlib}/IO
%{perl_archlib}/IO*
%dir %{perl_archlib}/auto/IO
%attr(755,root,root) %{perl_archlib}/auto/IO/*.so
-%{perl_archlib}/auto/IO/*.bs
%{_mandir}/man3/IO*
%{perl_archlib}/Opcode.*
%dir %{perl_archlib}/auto/Opcode
%attr(755,root,root) %{perl_archlib}/auto/Opcode/*.so
-%{perl_archlib}/auto/Opcode/*.bs
%{_mandir}/man3/Opcode.*
-%{perl_privlib}/PerlIO.*
+%{perl_privlib}/PerlIO*
%{perl_archlib}/PerlIO
%dir %{perl_archlib}/auto/PerlIO
%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::[es]*
-%{_mandir}/man3/PerlIO::via.*
+%{_mandir}/man3/PerlIO*
%{perl_archlib}/POSIX*
%dir %{perl_archlib}/auto/POSIX
%attr(755,root,root) %{perl_archlib}/auto/POSIX/*.so
%{perl_archlib}/auto/POSIX/*.al
-%{perl_archlib}/auto/POSIX/*.bs
%{perl_archlib}/auto/POSIX/*.ix
%{perl_archlib}/auto/POSIX/SigAction
+%{perl_archlib}/auto/POSIX/SigRt
%{_mandir}/man3/POSIX.*
%{perl_archlib}/Socket.*
%dir %{perl_archlib}/auto/Socket
%attr(755,root,root) %{perl_archlib}/auto/Socket/*.so
-%{perl_archlib}/auto/Socket/*.bs
%{_mandir}/man3/Socket.*
+%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.*
%if %{with gdbm}
%files GDBM_File
%{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)
%doc doc-devel/*
%attr(755,root,root) %{_libdir}/libperl.so
%{perl_archlib}/CORE/*.h
-%{perl_archlib}/CORE/reentr.inc
+%{_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*
+%{perl_privlib}/vmsish.pm
+%{_mandir}/man3/vmsish.*
%{perl_privlib}/CPAN*
%{_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
-%dir %{perl_archlib}/auto/B/C
%attr(755,root,root) %{perl_archlib}/auto/B/*.so
-%attr(755,root,root) %{perl_archlib}/auto/B/C/*.so
-%{perl_archlib}/auto/B/*.bs
-%{perl_archlib}/auto/B/C/*.bs
%{_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
%dir %{perl_archlib}/auto/Devel/*/
%attr(755,root,root) %{perl_archlib}/auto/Devel/*/*.so
-%{perl_archlib}/auto/Devel/*/*.bs
+#%{perl_archlib}/auto/Devel/*/*.bs
%{_mandir}/man3/Devel::*
-%{perl_archlib}/XS
-%dir %{perl_archlib}/auto/XS
-%dir %{perl_archlib}/auto/XS/*/
-%attr(755,root,root) %{perl_archlib}/auto/XS/*/*.so
-%{perl_archlib}/auto/XS/*/*.bs
-%{_mandir}/man3/XS::*
-
+#%{perl_archlib}/XS
+#%dir %{perl_archlib}/auto/XS
+#%dir %{perl_archlib}/auto/XS/*/
+#%attr(755,root,root) %{perl_archlib}/auto/XS/*/*.so
+#%{perl_archlib}/auto/XS/*/*.bs
+#%{_mandir}/man3/XS::*
%files doc-pod
%defattr(644,root,root,755)
%{perl_privlib}/pod/perld[!i]*.pod
%{perl_privlib}/pod/perlf[!au]*.pod
-
%files doc-reference
%defattr(644,root,root,755)
%{_mandir}/man1/perl[5aefghlmnoprstuvwx]*
%{_mandir}/man1/perlcall.*
%{_mandir}/man1/perlcheat.*
%{_mandir}/man1/perlclib.*
+%{_mandir}/man1/perlcommunity.*
%{_mandir}/man1/perlcompile.*
%{_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/*
-%{_examplesdir}/%{name}-modules-%{version}
%{perl_privlib}/unicore
## pragmas
-%{perl_privlib}/attributes.pm
-%{_mandir}/man3/attributes.*
%{perl_privlib}/autouse.pm
%{_mandir}/man3/autouse.*
%{perl_privlib}/big*.pm
%{_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
%{_mandir}/man3/filetest.*
%{perl_privlib}/if.pm
%{_mandir}/man3/sigtrap.*
%{perl_privlib}/utf8.pm
%{_mandir}/man3/utf8.*
+%{perl_privlib}/version.pm
+%{_mandir}/man3/version*
-%{perl_archlib}/attrs.pm
-%dir %{perl_archlib}/auto/attrs
-%{perl_archlib}/auto/attrs/*.bs
-%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so
-%{_mandir}/man3/attrs.*
+%{perl_archlib}/attributes.pm
+%dir %{perl_archlib}/auto/attributes
+%attr(755,root,root) %{perl_archlib}/auto/attributes/*.so
+%{_mandir}/man3/attributes.*
+%{perl_archlib}/mro.pm
+%dir %attr(755,root,root) %{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
-%{perl_archlib}/auto/re/*.bs
%attr(755,root,root) %{perl_archlib}/auto/re/*.so
%{_mandir}/man3/re.*
-%{perl_archlib}/encoding.pm
-%{_mandir}/man3/encoding.*
%{perl_archlib}/ops.pm
%{_mandir}/man3/ops.*
%{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*
## *.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 <asm/ioctl.h> uses <asm-generic/ioctl.h>
+%{perl_archlib}/asm-generic
+%endif
%{perl_archlib}/bits
%{perl_archlib}/gnu
%{perl_archlib}/linux
%{perl_archlib}/sys
-%ifarch %{x8664}
-%{perl_archlib}/asm-i386
-%{perl_archlib}/asm-x86_64
-%endif
-%ifarch sparc # sparc64?
-%{perl_archlib}/asm-sparc*
-%endif
+
+%{perl_privlib}/Compress
+%{perl_archlib}/Compress
+%dir %{perl_archlib}/auto/Compress
+%dir %{perl_archlib}/auto/Compress/Raw
+%dir %{perl_archlib}/auto/Compress/Raw/*/
+%dir %{perl_archlib}/auto/Compress/Zlib
+%attr(755,root,root) %{perl_archlib}/auto/Compress/Raw/*/*.so
+%{perl_archlib}/auto/Compress/Raw/*/*.ix
+%{perl_archlib}/auto/Compress/Zlib/*.ix
+%{_mandir}/man3/Compress*
%{perl_archlib}/Data
%dir %{perl_archlib}/auto/Data
%dir %{perl_archlib}/auto/Data/Dumper
%attr(755,root,root) %{perl_archlib}/auto/Data/Dumper/*.so
-%{perl_archlib}/auto/Data/Dumper/*.bs
%{_mandir}/man3/Data*
-%{perl_privlib}/Digest.pm
-%{perl_privlib}/Digest
+%{perl_privlib}/Digest*
%{perl_archlib}/Digest
%dir %{perl_archlib}/auto/Digest
-%dir %{perl_archlib}/auto/Digest/MD5
-%attr(755,root,root) %{perl_archlib}/auto/Digest/MD5/*.so
-%{perl_archlib}/auto/Digest/MD5/*.bs
+%dir %{perl_archlib}/auto/Digest/*/
+%attr(755,root,root) %{perl_archlib}/auto/Digest/*/*.so
%{_mandir}/man3/Digest*
# FIXME: Changes file
%{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
-%{perl_archlib}/auto/Encode/*/*.bs
-%{_mandir}/man3/Encode*
-
# FIXME: README and Changes files
%{perl_privlib}/Filter
%{perl_archlib}/Filter
%dir %{perl_archlib}/auto/Filter/Util
%dir %{perl_archlib}/auto/Filter/Util/Call
%attr(755,root,root) %{perl_archlib}/auto/Filter/Util/Call/*.so
-%{perl_archlib}/auto/Filter/Util/Call/*.bs
%{_mandir}/man3/Filter*
+%{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::*
+
%{perl_privlib}/I18N
%{perl_archlib}/I18N
%dir %{perl_archlib}/auto/I18N
%dir %{perl_archlib}/auto/I18N/*/
%attr(755,root,root) %{perl_archlib}/auto/I18N/*/*.so
-%{perl_archlib}/auto/I18N/*/*.bs
%{perl_archlib}/auto/I18N/*/*.ix
%{_mandir}/man3/I18N::*
%dir %{perl_archlib}/auto/IPC
%dir %{perl_archlib}/auto/IPC/*/
%attr(755,root,root) %{perl_archlib}/auto/IPC/*/*.so
-%{perl_archlib}/auto/IPC/*/*.bs
%{_mandir}/man3/IPC::[MS]*
%{perl_archlib}/List
%dir %{perl_archlib}/auto/List
%dir %{perl_archlib}/auto/List/*/
%attr(755,root,root) %{perl_archlib}/auto/List/*/*.so
-%{perl_archlib}/auto/List/*/*.bs
%{_mandir}/man3/List::*
+%{perl_privlib}/Math
+%{perl_archlib}/Math
+%dir %{perl_archlib}/auto/Math
+%dir %{perl_archlib}/auto/Math/*/
+%dir %{perl_archlib}/auto/Math/*/*/
+%attr(755,root,root) %{perl_archlib}/auto/Math/*/*/*.so
+%{_mandir}/man3/Math::*
+
%{perl_archlib}/MIME
%dir %{perl_archlib}/auto/MIME
%dir %{perl_archlib}/auto/MIME/Base64
%attr(755,root,root) %{perl_archlib}/auto/MIME/Base64/*.so
-%{perl_archlib}/auto/MIME/Base64/*.bs
%{_mandir}/man3/MIME::*
%{perl_archlib}/SDBM_File.*
%dir %{perl_archlib}/auto/SDBM_File
%attr(755,root,root) %{perl_archlib}/auto/SDBM_File/*.so
-%{perl_archlib}/auto/SDBM_File/*.bs
%{_mandir}/man3/SDBM_File.*
%{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/*.bs
%{perl_archlib}/auto/Storable/*.ix
%{_mandir}/man3/Storable.*
%dir %{perl_archlib}/auto/Sys
%dir %{perl_archlib}/auto/Sys/*/
%attr(755,root,root) %{perl_archlib}/auto/Sys/*/*.so
-%{perl_archlib}/auto/Sys/*/*.bs
%{perl_archlib}/auto/Sys/*/*.ix
%{_mandir}/man3/Sys::*
+%{perl_archlib}/Text
+%dir %{perl_archlib}/auto/Text
+%dir %{perl_archlib}/auto/Text/Soundex
+%attr(755,root,root) %{perl_archlib}/auto/Text/Soundex/*.so
+#%{_mandir}/man3/Text::Soundex* # listed later
+
+%{perl_privlib}/Time
%{perl_archlib}/Time
%dir %{perl_archlib}/auto/Time
-%dir %{perl_archlib}/auto/Time/HiRes
-%attr(755,root,root) %{perl_archlib}/auto/Time/HiRes/*.so
-%{perl_archlib}/auto/Time/HiRes/*.bs
-%{_mandir}/man3/Time::HiRes*
+%dir %{perl_archlib}/auto/Time/*/
+%attr(755,root,root) %{perl_archlib}/auto/Time/*/*.so
+%{_mandir}/man3/Time::*
%dir %{perl_privlib}/Unicode
%{perl_privlib}/Unicode/*.pm
+%{perl_privlib}/Unicode/Collate
%{perl_archlib}/Unicode
%dir %{perl_archlib}/auto/Unicode
%dir %{perl_archlib}/auto/Unicode/*
%attr(755,root,root) %{perl_archlib}/auto/Unicode/*/*.so
-%{perl_archlib}/auto/Unicode/*/*.bs
%{_mandir}/man3/Unicode::*
%{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
%{_mandir}/man3/Attribute*
%{perl_privlib}/Benchmark*
%{_mandir}/man3/CGI*
%{perl_privlib}/Class/ISA*
%{_mandir}/man3/Class::ISA*
+%{perl_privlib}/Config
+%{_mandir}/man3/Config::*
%{perl_privlib}/DirHandle*
%{_mandir}/man3/DirHandle*
%{perl_privlib}/Dumpvalue.*
%{_mandir}/man3/Fatal.*
%{perl_privlib}/FindBin.*
%{_mandir}/man3/FindBin.*
-%{perl_privlib}/Hash
-%{_mandir}/man3/Hash::*
# FIXME: README and Changes files
+%{perl_privlib}/IPC
+%{perl_privlib}/Log
+%{_mandir}/man3/Log::*
%{perl_privlib}/Locale
%{_mandir}/man3/Locale::*
-%{perl_privlib}/Math
-%{_mandir}/man3/Math::*
%{perl_privlib}/Memoize*
%{_mandir}/man3/Memoize*
+%dir %{perl_privlib}/Module
+%{perl_privlib}/Module/[CLP]*
+%{_mandir}/man3/Module::[CLP]*
%{perl_privlib}/NEXT.pm
%{_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::*
-%{perl_privlib}/PerlIO
-%{_mandir}/man3/PerlIO::via::*
+%{perl_privlib}/Object
+%{_mandir}/man3/Object::*
+%{perl_privlib}/Package
+%{_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}/Scalar
+%{perl_archlib}/Scalar
%{_mandir}/man3/Scalar::*
%{perl_privlib}/Search
%{_mandir}/man3/Search::*
%{_mandir}/man3/SelfLoader.*
%{perl_privlib}/Shell.*
%{_mandir}/man3/Shell.*
+%{perl_privlib}/TAP
+%{_mandir}/man3/TAP::*
# FIXME: README and Changes files
%{perl_privlib}/Switch.*
%{_mandir}/man3/Switch.*
%{perl_privlib}/Thread*
%{_mandir}/man3/Thread*
%endif
-%{perl_privlib}/Time
-%{_mandir}/man3/Time::[La-z]*
# XXX: to perl-base?
%{perl_privlib}/UNIVERSAL.*
%{_mandir}/man3/UNIVERSAL.*
%{perl_privlib}/User
%{_mandir}/man3/User::*
-
%files perldoc
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/perldoc
%{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
%{_mandir}/man1/a2p.*
-%attr(755,root,root) %{_bindir}/cpan
-%{_mandir}/man1/cpan.*
+%attr(755,root,root) %{_bindir}/corelist
+%{_mandir}/man1/corelist.*
%attr(755,root,root) %{_bindir}/find2perl
%{_mandir}/man1/find2perl.*
%attr(755,root,root) %{_bindir}/instmodsh
%{_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
-%attr(755,root,root) %{_bindir}/s2p
%{_mandir}/man1/psed.*
+%attr(755,root,root) %{_bindir}/ptar
+%{_mandir}/man1/ptar.*
+%attr(755,root,root) %{_bindir}/ptardiff
+%{_mandir}/man1/ptardiff.*
+%attr(755,root,root) %{_bindir}/s2p
%{_mandir}/man1/s2p.*
+%attr(755,root,root) %{_bindir}/shasum
+%{_mandir}/man1/shasum.*
%files tools-devel
%defattr(644,root,root,755)
%{_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
%{_mandir}/man1/h2xs.*
-%attr(755,root,root) %{_bindir}/perlcc
-%{_mandir}/man1/perlcc.*
+#%attr(755,root,root) %{_bindir}/perlcc
+#%{_mandir}/man1/perlcc.*
%attr(755,root,root) %{_bindir}/perlivp
%{_mandir}/man1/perlivp.*
%attr(755,root,root) %{_bindir}/pl2pm
%{_mandir}/man1/pl2pm.*
+%attr(755,root,root) %{_bindir}/prove
+%{_mandir}/man1/prove.*
%attr(755,root,root) %{_bindir}/splain
%{_mandir}/man1/splain.*
%attr(755,root,root) %{_bindir}/xsubpp
%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