]> git.pld-linux.org Git - packages/perl.git/blobdiff - perl.spec
- BR: rpm-perlprov (for /usr/lib/rpm/perl.prov)
[packages/perl.git] / perl.spec
index 74ac806c5441ea84d4dd509fd6ce671df567dc1d..63e947788bef17677ef16e928977759c0f81736f 100644 (file)
--- a/perl.spec
+++ b/perl.spec
@@ -1,37 +1,32 @@
 #
 # Conditional build:
-# _without_tests      - do not perform "make test"
-# _without_threads    - build without support for threads
-# _without_largefiles - build without large file support
-# _without_gdbm       - build without the GDBM_File module
+%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       # don't build microperl
 #
 # TODO:
-# - Think about unicore.  If uf8*.pm, encode.pm, charnames.pm (and
-#   probably others) are in the perl-base package, unicore should also
-#   be there.  But it's 5MB...
 # - fix "FIXME"s, review "XXX"s
-# - fix perl.prov's handling in rpm -- it should use the __perl macro
 # - add the {O,N}DBM_File modules
 # - review the perldiag.pod issue
 # - consider disabling ithreads by default
 # - consider introducing perl-dirs
+# - what about "prove" (binary+manual)? (conflicts with standalone Test-Harness)
 #
 # TODO for perl-dependent packages:
 # - change all "R/BR: perl" to one of perl-{base,modules,devel}
-# - use the requires_eq(perl-base) for all packages strictly depending
-#   on the perl version used for building (files in perl_vendorarch
-#   directories; dependency on libperl.so.* often doesn't exist)
-#   (should this be done on Ra-branch, too?)
 #
 
-%define                perlthread      %{?!_without_threads:-thread-multi}
+%define _abi   5.8.0
+
+%define                perlthread      %{?with_threads:-thread-multi}
 
 %define                perl_privlib    %{_datadir}/perl5/%{version}
 %define                perl_archlib    %{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
 %define                perl_sitelib    %{_usr}/local/share/perl5
-%define                perl_sitearch   %{_usr}/local/lib/perl5/%{version}/%{_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/%{version}/%{_target_platform}%{perlthread}
+%define                perl_vendorarch %{_libdir}/perl5/vendor_perl/%{_abi}/%{_target_platform}%{perlthread}
 
 Summary:       Practical Extraction and Report Language (Perl)
 Summary(cs):   Programovací jazyk Perl
@@ -44,7 +39,7 @@ Summary(is):  Forritunarm
 Summary(it):   Perl: linguaggio di programmazione
 Summary(ja):   Perl ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
 Summary(ko):   ÆÞ ÇÁ·Î±×·¡¹Ö ¾ð¾î
-Summary(no):   Programmeringsspråket Perl
+Summary(nb):   Programmeringsspråket Perl
 Summary(pl):   Interpreter jêzyka Perl (Practical Extraction and Report Language)
 Summary(pt):   A linguagem de programação Perl
 Summary(pt_BR):        Linguagem prática de extração e relatório
@@ -55,46 +50,40 @@ Summary(sv):        Programmeringsspr
 Summary(tr):   Kabuk yorumlama dili
 Summary(zh_CN):        Perl ±à³ÌÓïÑÔ¡£
 Name:          perl
-Version:       5.8.0
-Release:       0.51%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
+Version:       5.8.4
+Release:       9%{!?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: d9bdb180620306023fd35901a2878b62
+Source0:       http://www.cpan.org/src/%{name}-%{version}.tar.bz2
+# Source0-md5: 3eb135afd0114f4e1acdd4ad6b8fd947
 Source1:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
 # Source1-md5: de47d7893f49ad7f41ba69c78511c0db
-Source2:       %{name}.prov
-Source3:       find-perl-provides.sh
-Patch0:                %{name}_580-noroot_install.patch
-Patch1:                %{name}_580-INC.patch
-Patch2:                %{name}_580-MakeMaker.patch
+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}_580-soname.patch
-Patch6:                %{name}_580-perluniintro.patch
-Patch7:                %{name}_580-Safe.patch
-Patch8:                %{name}_580-microperl_uconfig.patch
+Patch5:                %{name}_581-soname.patch
+Patch6:                %{name}-test-noproc.patch
+Patch7:                %{name}_584-microperl_uconfig.patch
 URL:           http://www.perl.com/
-# versions [4.2, 4.3-0.20030610.20.1] are not supported
-BuildRequires: rpm-build >= 4.3-0.20030610.20.2
-Requires:      %{name}-base = %{epoch}:%{version}
-Requires:      %{name}-modules = %{epoch}:%{version}
-Requires:      perl-doc-reference
+# required for proper Provides generation (older are not supported by spec)
+BuildRequires: rpm-build >= 4.3-0.20040107.4
+BuildRequires: rpm-perlprov
+%{?with_gdbm:BuildRequires:    gdbm-devel}
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
+Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
+Requires:      %{name}-doc-reference = %{epoch}:%{version}-%{release}
 Requires:      perldoc
-%{?!_without_gdbm:BuildRequires:       gdbm-devel}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                __perl  LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" %{buildroot}%{_bindir}/perl
+%define                __perl          %{_builddir}/%{name}-%{version}/runperl
+%define                __perl_provides %{__perl} /usr/lib/rpm/perl.prov
 
-%if 0%{?_use_internal_dependency_generator:1}
-%define                _use_internal_dependency_generator 0
-# we can do it as there is no _noautoprov* in this spec
-%define                __find_provides /usr/bin/rpmdeps --define="__perl_provides /bin/sh -c '%{__perl} %{SOURCE2}'" --define="__perl_requires /bin/sh -c 'cat >/dev/null'" --provides
-%else
-# for rpm <= 4.1
-%define                __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides.sh
-%endif
+# gcc 3.3.x miscompiles pp_hot.c
+# (in PUSHSUB in entersub two SvREFCNT_inc()s are working as one)
+# -fno-strict-aliasing is already used to build perl and doesn't help
+%define                specflags_ppc   -O1
 
 %description
 Perl is an interpreted language optimized for scanning arbitrary text
@@ -273,17 +262,26 @@ Perl 
 %package base
 Summary:       Base perl components for a minimal installation
 Summary(pl):   Podstawowe sk³adniki potrzebne do minimalnej instalacji perla
-Group:         Text/Applications
+Group:         Development/Languages/Perl
 Provides:      perl-File-Compare = 1.1003
-Provides:      perl-File-Spec = 0.83
-Provides:      perl-File-Temp = 0.13
-Provides:      perl-IO = 1.20
-Provides:      perl-Safe = 2.09
-Provides:      perl-Socket = 1.75
-Provides:      perl-Tie-File = 0.93
-%{?!_without_largefiles:Provides:      perl(largefiles)}
-# broken, unsupported module
+Provides:      perl-File-Spec = 0.87
+Provides:      perl-File-Temp = 0.14
+Provides:      perl-IO = 1.21
+Provides:      perl-Safe = 2.10
+Provides:      perl-Socket = 1.77
+Provides:      perl-Tie-File = 0.97
+Provides:      perl(largefiles)
+# broken, unsupported modules
 Obsoletes:     perl-SOAP
+Obsoletes:     perl-Sort-PolySort
+# for older modules, now included
+#Obsoletes:    perl-File-Compare <= 1.1003
+#Obsoletes:    perl-File-Spec <= 0.87
+#Obsoletes:    perl-File-Temp <= 0.14
+#Obsoletes:    perl-IO <= 1.21
+#Obsoletes:    perl-Safe <= 2.10
+#Obsoletes:    perl-Socket <= 1.77
+#Obsoletes:    perl-Tie-File <= 0.97
 
 %description base
 Base components, files, core modules, etc. -- a minimal usable perl
@@ -299,7 +297,7 @@ perla, nadaj
 Summary:       GDBM_File - Perl5 access to the gdbm library
 Summary(pl):   GDBM_File - dostêp do biblioteki gdbm w Perlu
 Group:         Libraries
-Requires:      %{name}-base = %{epoch}:%{version}
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
 # FIXME: Set Version: 1.06 and Release: 1 instead of inheriting
 #        values from the main package.  Why this causes setting
 #        version and release macros up to the end of this spec?
@@ -319,13 +317,13 @@ Summary(pt_BR):   Arquivos de desenvolvimento e cabe
 Group:         Development/Libraries
 Requires:      %{name}-base = %{epoch}:%{version}
 Requires:      %{name}-modules = %{epoch}:%{version}
-Requires:      %{name}-tools-pod
-Provides:      perl-CPAN = 1.61
-Provides:      perl-Devel-DProf = 20000000.00_01
-Provides:      perl-Devel-PPPort = 2.0002
-Provides:      perl-Devel-Peek = 1.00_03
-Provides:      perl-ExtUtils-MakeMaker = 6.03
-Provides:      perl-ExtUtils-Embed = 1.250601
+Requires:      %{name}-tools-pod = %{epoch}:%{version}
+Provides:      perl-CPAN = 1.76_01
+Provides:      perl-Devel-DProf = 20030813.00
+Provides:      perl-Devel-PPPort = 2.011
+Provides:      perl-Devel-Peek = 1.01
+Provides:      perl-ExtUtils-Embed = 1.2506_01
+Provides:      perl-ExtUtils-MakeMaker = 6.17
 Obsoletes:     perl-lib-devel
 
 %description devel
@@ -367,42 +365,83 @@ Extraction and Report Language) i jego interpretera.
 Summary:       Modules from the core perl distribution
 Summary(pl):   Modu³y z podstawowej dystrybucji perla
 Group:         Libraries
-Requires:      %{name}-base = %{epoch}:%{version}
-Provides:      perl-Attribute-Handlers = 0.77
-Provides:      perl-CGI = 2.81
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
+Provides:      perl-Attribute-Handlers = 0.78_01
+Provides:      perl-CGI = 3.04
 Provides:      perl-Class-ISA = 0.32
-Provides:      perl-Digest = 1.00
-Provides:      perl-Digest-MD5 = 2.20
+Provides:      perl-Digest = 1.06
+Provides:      perl-Digest-MD5 = 2.33
 Provides:      perl-Filter-Simple = 0.78
-Provides:      perl-FindBin = 1.43
-#Provides:     perl-Hash-Utils = 0.04  Data::Util is missing
-Provides:      perl-IPC-SysV = 1.03_00
-Provides:      perl-Locale-Maketext = 1.03
-Provides:      perl-MIME-Base64 = 2.12
-Provides:      perl-Math-BigInt = 1.60
-Provides:      perl-Math-BigRat = 0.07
-Provides:      perl-Math-Trig = 1.01
+Provides:      perl-FindBin = 1.44
+#Provides:     perl-Hash-Utils = 0.05  Data::Util is missing
+Provides:      perl-I18N-LangTags = 0.29
+Provides:      perl-IPC-SysV = 1.04
+Provides:      perl-Locale-Codes = 2.06
+Provides:      perl-Locale-Maketext = 1.08
+Provides:      perl-MIME-Base64 = 3.01
+Provides:      perl-Math-BigInt = 1.70
+Provides:      perl-Math-BigRat = 0.12
+Provides:      perl-Math-Trig = 1.02
 Provides:      perl-Memoize = 1.01
-Provides:      perl-NEXT = 0.50
-Provides:      perl-PerlIO-via-QuotedPrint = 0.04
-Provides:      perl-Pod-LaTeX = 0.54
-Provides:      perl-Pod-Parser = 1.13
-Provides:      perl-Scalar-List-Utils = 1.07_00
-Provides:      perl-Storable = 2.04
-Provides:      perl-Term-ANSIColor = 1.05
-Provides:      perl-Term-Cap = 1.07
-Provides:      perl-Test = 1.20
-Provides:      perl-Test-Harness = 2.26
-Provides:      perl-Test-Simple = 0.45
-Provides:      perl-Text-Balanced = 1.89
+Provides:      perl-NEXT = 0.60
+Provides:      perl-PerlIO-via-QuotedPrint = 0.06
+Provides:      perl-Pod-LaTeX = 0.55
+Provides:      perl-Pod-Parser = 1.14
+Provides:      perl-Scalar-List-Utils = 1.13
+Provides:      perl-Storable = 2.12
+Provides:      perl-Term-ANSIColor = 1.08
+Provides:      perl-Term-Cap = 1.08
+Provides:      perl-Test = 1.24
+Provides:      perl-Test-Harness = 2.40
+Provides:      perl-Test-Simple = 0.47
+Provides:      perl-Text-Balanced = 1.95
 Provides:      perl-Text-ParseWords = 3.21
 Provides:      perl-Text-Soundex = 1.01
-Provides:      perl-Text-Tabs+Wrap = 2001.0929
-Provides:      perl-Time-HiRes = 1.20_00
-Provides:      perl-UNIVERSAL = 1.00
-Provides:      perl-Unicode-Collate = 0.12
-Provides:      perl-Unicode-Normalize = 0.17
+# XXX: I'm not sure what to do with this one...
+#Provides:     perl-Text-Tabs+Wrap = 2001.09291
+Provides:      perl-Time-HiRes = 1.59
+Provides:      perl-UNIVERSAL = 1.01
+Provides:      perl-Unicode-Collate = 0.33
+Provides:      perl-Unicode-Normalize = 0.28
+Provides:      perl-libnet = 1.1.1
+Obsoletes:     perl-Encode-compat
 Obsoletes:     perl-lib
+# for older modules included into perl
+#Obsoletes:    perl-Attribute-Handlers <= 0.78_01
+#Obsoletes:    perl-CGI <= 3.04
+#Obsoletes:    perl-Class-ISA <= 0.32
+#Obsoletes:    perl-Digest <= 1.06
+#Obsoletes:    perl-Digest-MD5 <= 2.33
+#Obsoletes:    perl-Filter-Simple <= 0.78
+#Obsoletes:    perl-FindBin <= 1.44
+#Obsoletes:    perl-I18N-LangTags <= 0.29
+#Obsoletes:    perl-IPC-SysV <= 1.04
+#Obsoletes:    perl-Locale-Codes <= 2.06
+#Obsoletes:    perl-Locale-Maketext <= 1.08
+#Obsoletes:    perl-MIME-Base64 <= 3.01
+#Obsoletes:    perl-Math-BigInt <= 1.70
+#Obsoletes:    perl-Math-BigRat <= 0.12
+#Obsoletes:    perl-Math-Trig <= 1.02
+#Obsoletes:    perl-Memoize <= 1.01
+#Obsoletes:    perl-NEXT <= 0.60
+#Obsoletes:    perl-PerlIO-via-QuotedPrint <= 0.06
+#Obsoletes:    perl-Pod-LaTeX <= 0.55
+#Obsoletes:    perl-Pod-Parser <= 1.14
+#Obsoletes:    perl-Scalar-List-Utils <= 1.13
+#Obsoletes:    perl-Storable <= 2.12
+#Obsoletes:    perl-Term-ANSIColor <= 1.08
+#Obsoletes:    perl-Term-Cap <= 1.08
+#Obsoletes:    perl-Test <= 1.24
+#Obsoletes:    perl-Test-Harness <= 2.40
+#Obsoletes:    perl-Test-Simple <= 0.47
+#Obsoletes:    perl-Text-Balanced <= 1.95
+#Obsoletes:    perl-Text-ParseWords <= 3.21
+#Obsoletes:    perl-Text-Soundex <= 1.01
+#Obsoletes:    perl-Time-HiRes <= 1.59
+#Obsoletes:    perl-UNIVERSAL <= 1.01
+#Obsoletes:    perl-Unicode-Collate <= 0.33
+#Obsoletes:    perl-Unicode-Normalize <= 0.28
+#Obsoletes:    perl-libnet <= 1.1.1
 
 %description modules
 Practical Extraction and Report Language - modules from the core
@@ -415,9 +454,10 @@ dystrybucji.
 %package perldoc
 Summary:       perldoc - Look up Perl documentation in pod format
 Summary(pl):   perldoc - przeszukiwanie dokumentacji Perla w formacie pod
-Provides:      perldoc = 2.03@%{version}
-Requires:      %{name}-base
 Group:         Development/Tools
+Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
+Requires:      %{name}-tools-pod = %{epoch}:%{version}-%{release}
+Provides:      perldoc = 3.12@%{version}
 
 %description perldoc
 perldoc looks up a piece of documentation in .pod format that is
@@ -446,7 +486,7 @@ Summary(sv):        sperl, att anv
 Summary(uk):   SUID-×ÅÒӦѠÍÏ×É Perl
 Summary(zh_CN):        sperl£¬ÓÃÀ´Óë setuid perl ½Å±¾Ò»ÆðʹÓÃ
 Group:         Development/Languages/Perl
-Requires:      %{name}-base = %{epoch}:%{version}
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
 Obsoletes:     perl-suidperl
 
 %description -n sperl
@@ -501,12 +541,13 @@ setuid perl 
 Summary:       Various tools from the core perl distribution
 Summary(pl):   Ró¿ne narzêdzia z podstawowej dystrybucji perla
 Group:         Applications
-Requires:      %{name}-devel = %{epoch}:%{version}
+Requires:      %{name}-devel = %{epoch}:%{version}-%{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
@@ -515,6 +556,7 @@ Various tools from the core perl distribution:
 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
@@ -523,8 +565,8 @@ R
 Summary:       Developer's tools from the core perl distribution
 Summary(pl):   Narzêdzia z podstawowej dystrybucji perla, przeznaczone dla programistów
 Group:         Development/Tools
-Requires:      %{name}-base = %{epoch}:%{version}
-Requires:      %{name}-devel = %{epoch}:%{version}
+Requires:      %{name}-base = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 
 %description tools-devel
 Various tools from the core perl distribution:
@@ -560,7 +602,7 @@ R
 Summary:       Tools for manipulating files in the POD format
 Summary(pl):   Narzêdzia do przetwarzania plików w formacie POD
 Group:         Applications
-Requires:      %{name}-modules = %{epoch}:%{version}
+Requires:      %{name}-modules = %{epoch}:%{version}-%{release}
 
 %description tools-pod
 Tools for manipulating files in the POD (Plain Old Documentation)
@@ -615,45 +657,42 @@ microperlu - popraw je.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p0
-%patch2 -p0
+%patch1 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p0
+%patch6 -p1
 %patch7 -p1
-%patch8 -p1
-
-install -m 0755 %{SOURCE2} $PWD/find-perl.prov
-install -m 0755 %{SOURCE3} $PWD/find-perl-provides.sh
 
 %build
 sh Configure \
        -des \
-       -Dcc=%{__cc} \
+       -Dcc="%{__cc}" \
        -Darchname=%{_target_platform} \
        -Dcccdlflags='-fPIC' \
        -Dccdlflags='-rdynamic' \
+       -Dldlibpthname=none \
        -Doptimize="%{rpmcflags}" \
+       %{?debug:-DDEBUGGING} \
        -Duseshrplib \
        -Dd_dosuid \
        -Dman1dir=%{_mandir}/man1 -Dman1ext=1 \
        -Dman3dir=%{_mandir}/man3 -Dman3ext=3perl \
        -Dvendorman1=%{_mandir}/man1 -Dvendorman1ext=1p \
        -Dvendorman3=%{_mandir}/man3 -Dvendorman3ext=3pm \
-       -Dsiteman1=%{_usr}/local/share/man/man1 -Dsiteman1ext=1p \
-       -Dsiteman3=%{_usr}/local/share/man/man3p -Dsiteman3ext=3pm \
+       -Dsiteman1=%{_usr}/local/man/man1 -Dsiteman1ext=1p \
+       -Dsiteman3=%{_usr}/local/man/man3 -Dsiteman3ext=3pm \
        -Dprefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dsiteprefix=%{_usr}/local \
+       -Dlibpth="%{_libdir} /%{_lib}" \
        -Dprivlib=%{perl_privlib}     -Darchlib=%{perl_archlib} \
        -Dsitelib=%{perl_sitelib}     -Dsitearch=%{perl_sitearch} \
        -Dvendorlib=%{perl_vendorlib} -Dvendorarch=%{perl_vendorarch} \
-       -Dinstallprefix=$RPM_BUILD_ROOT%{_prefix} \
        -Ui_db \
-       %{?_without_gdbm:  -Ui_dbm -Ui_gdbm -Ui_ndbm} \
-       %{?!_without_gdbm: -Ui_dbm -Di_gdbm -Ui_ndbm} \
-       -Dlibswanted="dl m c crypt %{?!_without_dbm:gdbm}" \
-       -%{?_without_threads:U}%{?!_without_threads:D}usethreads \
-       -%{?_without_largefiles:U}%{?!_without_largefiles:D}uselargefiles
+       %{!?with_gdbm: -Ui_dbm -Ui_gdbm -Ui_ndbm} \
+       %{?with_gdbm:  -Ui_dbm -Di_gdbm -Ui_ndbm} \
+       -Dlibswanted="dl m c crypt %{?with_gdbm:gdbm}" \
+       -%{?with_threads:D}%{!?with_threads:U}usethreads \
+       -Duselargefiles
 
 ## why were these three undefined?
 #      -Ud_setresgid \
@@ -669,13 +708,17 @@ 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");
+WriteMakefile(NAME=>"List::Util", VERSION_FROM=>"Util.pm", DEFINE=>"-DPERL_EXT");
 EOF
 
-%{__make}
+%{__make} \
+       LIBPERL_SONAME=libperl.so.%{_abi}
 
 ## microperl
+%if %{with microperl}
 rm -f uconfig.h
+#chmod u+w uconfig.sh
+#echo "usemallocwrap='define'" >> uconfig.sh
 %{__make} -f Makefile.micro \
        archlib=%{perl_archlib} \
        archlibexp=%{perl_archlib} \
@@ -686,41 +729,48 @@ rm -f uconfig.h
        bin=%{_bindir} \
        scriptdir=%{_bindir} \
        scriptdirexp=%{_bindir} \
+       usemallocwrap='define' \
        OPTIMIZE="%{rpmcflags}"
+%endif
 
-%{?!_without_tests:%{__make} test}
-#%{?!_without_tests:%{__make} minitest}
+%{?with_tests:%{__make} test}
+#%{?with_tests:%{__make} minitest}
+
+cat > runperl <<EOF
+#!/bin/sh
+LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" \
+       PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \
+       exec %{buildroot}%{_bindir}/perl \$*
+EOF
+chmod a+x runperl
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
 
-%{__make} install
-install microperl $RPM_BUILD_ROOT%{_bindir}
+%{__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 sperl%{version} $RPM_BUILD_ROOT%{_bindir}/suidperl
-%{__ln_s} -f  c2ph           $RPM_BUILD_ROOT%{_bindir}/pstruct
-%{__ln_s} -f  psed           $RPM_BUILD_ROOT%{_bindir}/s2p
+%{__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.%{version}'";s|^'%{_libdir}'/*||;print'` \
-       $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{version}
-%{__ln_s} libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/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.pm
 %{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
 
-## prepare scripts for finding provides
-%{__perl} -pi -e 's,\@perl_build_dir\@,%{_builddir}/%{name}-%{version},g' find-perl-provides.sh
-%{__perl} -pi -e 's,\@perl\@,%{__perl},g'                                 find-perl-provides.sh
-
 ## Generate the *.ph files
-(
+owd="`pwd`"
 cd /usr/include
 H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph
 PHDIR=$RPM_BUILD_ROOT%{perl_archlib}
@@ -737,8 +787,9 @@ WANTED='
        linux/posix_types.h
        linux/stddef.h
 '
-%{__perl} $H2PH -a -d $PHDIR $WANTED
-)
+# 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}* \
@@ -757,34 +808,90 @@ 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}/Getopt/Long/{CHANGES,README} doc-base/Getopt/Long
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Switch/{Changes,README} doc-base/Switch
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/ExtUtils/{Changes,NOTES,PATCHING,README,TODO} \
+       doc-devel/ExtUtils
+
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Attribute/Handlers/{Changes,README} \
+       doc-modules/Attribute/Handlers
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Filter/Simple/{Changes,README} \
+       doc-modules/Filter/Simple
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/I18N/LangTags/{ChangeLog,README} \
+       doc-modules/I18N/LangTags
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Locale/Codes/{ChangeLog,README} \
+       doc-modules/Locale/Codes
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Locale/Maketext/{ChangeLog,README} \
+       doc-modules/Locale/Maketext
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Memoize/{README,TODO} \
+       doc-modules/Memoize
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/NEXT/{Changes,README} \
+       doc-modules/NEXT
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Net/{ChangeLog.libnet,README.libnet} \
+       doc-modules/Net
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Net/Ping/Changes \
+       doc-modules/Net/Ping
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Term/ANSIColor/{ChangeLog,README} \
+       doc-modules/Term/ANSIColor
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Test/Simple/{Changes,README} \
+       doc-modules/Test/Simple
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Text/Balanced/{Changes,README} \
+       doc-modules/Text/Balanced
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Text/TabsWrap/CHANGELOG \
+       doc-modules/Text/TabsWrap
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/README \
+       doc-modules/Unicode
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/{Changes,README} \
+       doc-modules/Unicode/Collate
+# needed only for tests
+rm -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/{README.perl,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`"
+
 cd $RPM_BUILD_ROOT%{perl_vendorlib}
 install -d AI/NeuralNet Algorithm Apache Archive Array Astro Attribute \
        Audio Authen B Bundle Business CGI Cache Chart Class Config \
-       Convert Crypt DBD Data Date Devel Device Digest Email Error ExtUtils \
-       File Filesys Font Games Getopt GnuPG Graph Graphics HTML HTTP I18N \
-       IO/Socket IPC Image Inline Language Lingua/{EN,Stem/Snowball} \
-       List Locale LockFile Log MIME Mail Math/BigInt Modem Module Net/SMTP \
-       NetServer Netscape News Number OLE Parse Pod PostScript Proc \
-       RADIUS RPC RPM Regexp SOAP/Transport SQL Schedule Set Sort \
-       Speech Spreadsheet Statistics String Sub Sys TeX Test \
-       Text/Query Tie Time Tree Unicode WWW XML/{Filter,Handler,Parser} \
+       Convert Crypt DBD Data Date Devel Device Digest Email Error \
+       Exporter ExtUtils File Filesys Font Games Getopt GnuPG Graph \
+       Graphics HTML HTTP I18N IO/Socket IPC Image Inline Jabber Language \
+       Lingua/{EN,Stem/Snowball} List Locale LockFile Log MIME Mail \
+       Math/{BigInt,Fractal} Modem Module Net/SMTP NetServer Netscape \
+       News Number Object OLE Parse Pod PostScript Proc RADIUS RPC \
+       RPM RTF Regexp SOAP/Transport SQL Schedule Set Sort Speech \
+       Spreadsheet Statistics String Sub Sys Template TeX Test \
+       Text/Query Tie Time Tree UNIVERSAL Unicode WWW \
+       XML/{Filter,Handler,Parser,XPath} \
        auto/{AI,Array,Config,Crypt,Data,Mail,Net,Schedule,Statistics,Text,WWW}
 
 cd $RPM_BUILD_ROOT%{perl_vendorarch}
-install -d Algorithm Astro Audio Authen B BSD Bit Compress Crypt/OpenSSL \
-       Data Devel Digest File IPC Inline Locale Math/BigInt Net \
-       Speech/Recognizer String Sys Term Text Unicode XML \
-       auto/{Astro,Audio,Authen,BSD,Bit,Compress,Crypt/OpenSSL,Data,Devel} \
-       auto/{Digest,File,IPC,Inline,Locale,Math/BigInt,Net,Regexp} \
-       auto/{Speech/Recognizer,String,Sys,Term,Text,Unicode,XML}
-)
+install -d Algorithm Astro Audio Authen B BSD Bit Compress Convert \
+       Crypt/OpenSSL Data Devel Digest File IPC Inline Locale Math/BigInt \
+       Net Speech/Recognizer String Sys Template Term Text Unicode XML \
+       auto/{Astro,Audio,Authen,BSD,Bit,Clone,Compress,Convert} \
+       auto/{Crypt/OpenSSL,Data,Devel,Digest,File,IPC,Inline,Locale} \
+       auto/{Math/BigInt,Net,Regexp,Speech/Recognizer,String,Sys,Term,Text} \
+       auto/{Unicode,XML}
+
+cd "$owd"
 
 ## 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 \
@@ -792,10 +899,13 @@ mv $RPM_BUILD_ROOT%{perl_privlib}/CGI/eg \
 mv $RPM_BUILD_ROOT%{perl_privlib}/Attribute/Handlers/demo \
        $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/Attribute-Handlers
 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/Attribute::Handlers::demo*
-rm -f $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA/test.pl
-rmdir $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA
+#rm -f $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA/test.pl
+#rmdir $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA
 mv $RPM_BUILD_ROOT%{perl_privlib}/Net/demos \
        $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/Net
+# XXX: bug bug bug...
+mv $RPM_BUILD_ROOT%{perl_privlib}/auto/POSIX/SigAction \
+       $RPM_BUILD_ROOT%{perl_archlib}/auto/POSIX
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -806,14 +916,10 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc README AUTHORS
-%lang(cn) %doc README.cn
-%lang(jp) %doc README.jp
-%lang(ko) %doc README.ko
-%lang(tw) %doc README.tw
-
 
 %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.*
@@ -828,11 +934,11 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{perl_archlib}/auto
 
 %dir %{perl_archlib}/CORE
-%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{version}
+%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{_abi}
 %attr(755,root,root) %{_libdir}/libperl.so.*
 
 %dir %{_libdir}/perl5/vendor_perl
-%dir %{_libdir}/perl5/vendor_perl/%{version}
+%dir %{_libdir}/perl5/vendor_perl/%{_abi}
 %{perl_vendorarch}
 %{perl_vendorlib}
 
@@ -948,6 +1054,7 @@ rm -rf $RPM_BUILD_ROOT
 %{perl_archlib}/auto/POSIX/*.al
 %{perl_archlib}/auto/POSIX/*.bs
 %{perl_archlib}/auto/POSIX/*.ix
+%{perl_archlib}/auto/POSIX/SigAction
 %{_mandir}/man3/POSIX.*
 
 %{perl_archlib}/Socket.*
@@ -957,7 +1064,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man3/Socket.*
 
 
-%if %{?!_without_gdbm:1}0
+%if %{with gdbm}
 %files GDBM_File
 %defattr(644,root,root,755)
 %{perl_archlib}/GDBM_File.*
@@ -970,8 +1077,10 @@ rm -rf $RPM_BUILD_ROOT
 
 %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
 
 # FIXME: Changes file to _docdir (and rm MANIFEST.SKIP?)
 %{perl_privlib}/ExtUtils
@@ -1029,17 +1138,21 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/perl[5aefghlmnoprstuvwx]*
 %{_mandir}/man1/perlbo*
 %{_mandir}/man1/perlcall.*
+%{_mandir}/man1/perlcheat.*
 %{_mandir}/man1/perlclib.*
 %{_mandir}/man1/perlcompile.*
 %{_mandir}/man1/perld[!o]*
 %{_mandir}/man1/perli[!v]*
-%lang(cn) %{_mandir}/man1/perlcn.*
-%lang(jp) %{_mandir}/man1/perljp.*
-%lang(ko) %{_mandir}/man1/perlko.*
+
+%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
@@ -1087,7 +1200,7 @@ rm -rf $RPM_BUILD_ROOT
 %{perl_archlib}/ops.pm
 %{_mandir}/man3/ops.*
 
-%if %{?!_without_threads:1}0
+%if %{with threads}
 %{perl_archlib}/threads*
 %dir %{perl_archlib}/auto/threads
 %dir %{perl_archlib}/auto/threads/shared
@@ -1117,6 +1230,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man3/Data*
 
 %{perl_privlib}/Digest.pm
+%{perl_privlib}/Digest
 %{perl_archlib}/Digest
 %dir %{perl_archlib}/auto/Digest
 %dir %{perl_archlib}/auto/Digest/MD5
@@ -1124,6 +1238,10 @@ rm -rf $RPM_BUILD_ROOT
 %{perl_archlib}/auto/Digest/MD5/*.bs
 %{_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*
@@ -1202,13 +1320,13 @@ rm -rf $RPM_BUILD_ROOT
 %{perl_archlib}/auto/Time/HiRes/*.bs
 %{_mandir}/man3/Time::HiRes*
 
-%{perl_privlib}/Unicode
+%dir %{perl_privlib}/Unicode
+%{perl_privlib}/Unicode/*.pm
 %{perl_archlib}/Unicode
 %dir %{perl_archlib}/auto/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
-%{perl_archlib}/auto/Unicode/*/*.ix
 %{_mandir}/man3/Unicode::*
 
 %{perl_privlib}/AnyDBM*
@@ -1240,10 +1358,13 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man3/Math::*
 %{perl_privlib}/Memoize*
 %{_mandir}/man3/Memoize*
-%{perl_privlib}/NEXT*
+%{perl_privlib}/NEXT.pm
 %{_mandir}/man3/NEXT*
 # FIXME: README and Changes files
-%{perl_privlib}/Net
+%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::*
@@ -1268,7 +1389,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man3/Test*
 %{perl_privlib}/Text
 %{_mandir}/man3/Text::*
-%if %{?!_without_threads:1}0
+%if %{with threads}
 %{perl_privlib}/Thread*
 %{_mandir}/man3/Thread*
 %endif
@@ -1295,14 +1416,17 @@ rm -rf $RPM_BUILD_ROOT
 %files -n sperl
 %defattr(644,root,root,755)
 %attr(4755,root,root) %{_bindir}/sperl%{version}
-%attr(4755,root,root) %{_bindir}/suidperl
+%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}/find2perl
 %{_mandir}/man1/find2perl.*
+%attr(755,root,root) %{_bindir}/instmodsh
 %attr(755,root,root) %{_bindir}/libnetcfg
 %{_mandir}/man1/libnetcfg.*
 %attr(755,root,root) %{_bindir}/piconv
@@ -1344,7 +1468,9 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/pod*
 %{_mandir}/man1/pod*
 
+%if %{with microperl}
 %files -n microperl
 %defattr(644,root,root,755)
 %doc README.micro Todo.micro
 %attr(755,root,root) %{_bindir}/microperl
+%endif
This page took 0.055604 seconds and 4 git commands to generate.