]> git.pld-linux.org Git - packages/perl.git/blobdiff - perl.spec
- document why no asm-generic on ppc*
[packages/perl.git] / perl.spec
index c0caa2eea3a82f3ece3565de924a4839f2129e01..4c32be90b990f6d3dc09979bb3849d608cce081c 100644 (file)
--- a/perl.spec
+++ b/perl.spec
 # TODO:
 # - fix "FIXME"s, review "XXX"s
 # - add the {O,N}DBM_File modules
-# - review the perldiag.pod issue
+# - review the perldiag.pod issue - what issue?
 # - 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())
-# - %{__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...)
+# - 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.10.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/%{_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_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     2.1
+%define                rel     4
 Summary:       Practical Extraction and Report Language (Perl)
 Summary(cs.UTF-8):     Programovací jazyk Perl
 Summary(da.UTF-8):     Programmeringssproget Perl
@@ -65,16 +73,16 @@ Source0:    http://www.cpan.org/src/%{name}-%{version}.tar.gz
 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:       %{name}-modules
 Patch0:                %{name}_581-noroot_install.patch
 Patch1:                %{name}_581-INC.patch
 Patch2:                %{name}_580-errno_h-parsing.patch
-Patch3:                %{name}_580-use-LD_PRELOAD-for-libperl.so.patch
-Patch4:                %{name}_581-soname.patch
-Patch5:                %{name}-test-noproc.patch
-Patch6:                %{name}_585-microperl_uconfig.patch
-Patch7:                %{name}-write-permissions.patch
-Patch8:                %{name}-timer-test.patch
-Patch9:                %{name}-h2ph-includes.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
+Patch8:                %{name}-h2ph-includes.patch
 URL:           http://dev.perl.org/perl5/
 %ifarch ppc
 # gcc 3.3.x miscompiles pp_hot.c
@@ -288,16 +296,14 @@ Group:            Development/Languages/Perl
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 Requires:      perl-dirs(%{_target_cpu})
 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
@@ -335,12 +341,12 @@ 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
+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
 Obsoletes:     perl-lib-devel
 
 %description devel
@@ -383,44 +389,38 @@ 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
+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 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
 Obsoletes:     perl-Encode-compat
 Obsoletes:     perl-lib
 
@@ -438,7 +438,7 @@ 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}
+Provides:      perldoc = 3.14_02@%{version}
 
 %description perldoc
 perldoc looks up a piece of documentation in .pod format that is
@@ -607,8 +607,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
@@ -640,9 +639,9 @@ microperlu - popraw je.
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
 
 %build
+
 unset LD_SYMBOLIC_FUNCTIONS || :
 sh Configure \
        -des \
@@ -654,7 +653,7 @@ sh Configure \
        -Dldflags="%{rpmldflags}" \
        -Dlddlflags="-shared %{rpmldflags}" \
        -Doptimize="%{rpmcflags}" \
-       %{?debug:-DDEBUGGING} \
+       -%{?debug:D}%{!?debug:U}DEBUGGING \
        -Duseshrplib \
        -Dd_dosuid \
        -Dman1dir=%{_mandir}/man1 -Dman1ext=1 \
@@ -690,22 +689,20 @@ 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}" \
+LD_PRELOAD="%{_builddir}/%{name}-%{version}/libperl.so.%{abi}" \
 PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \
-exec %{buildroot}%{_bindir}/perl $*
+exec %{buildroot}%{_bindir}/perl ${1:+"$@"}
 EOF
 chmod a+x runperl
 
 ## microperl
 %if %{with microperl}
 %{__rm} uconfig.h
-#chmod u+w uconfig.sh
-#echo "usemallocwrap='define'" >> uconfig.sh
 %{__make} -f Makefile.micro \
        archlib=%{perl_archlib} \
        archlibexp=%{perl_archlib} \
@@ -717,6 +714,7 @@ chmod a+x runperl
        scriptdir=%{_bindir} \
        scriptdirexp=%{_bindir} \
        usemallocwrap='define' \
+       CC="%{__cc}" \
        OPTIMIZE="%{rpmcflags}"
 %endif
 
@@ -724,113 +722,149 @@ chmod a+x runperl
 #%{?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} $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}
-mv $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{_abi} $RPM_BUILD_ROOT%{_libdir}
-%{__ln_s} ../../../../libperl.so.%{_abi} $RPM_BUILD_ROOT%{perl_archlib}/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,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} $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} $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
-
-## this object file looks unused; why is it there?
-%{__rm} $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} $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*
-
-## 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%{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} $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,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} $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} $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
+
+       ## this object file looks unused; why is it there?
+       %{__rm} $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} $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*
+
+       ## 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
+
+       # `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 %{version} 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}' lib/Net/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
@@ -844,7 +878,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libperl.so.%{_abi}
+%attr(755,root,root) %{_libdir}/libperl.so.%{abi}
 
 %files base
 %defattr(644,root,root,755)
@@ -861,11 +895,11 @@ rm -rf $RPM_BUILD_ROOT
 %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) %{perl_archlib}/CORE/libperl.so.%{abi}
 %dir %{perl_archlib}/auto
 
 %dir %{_libdir}/perl5/vendor_perl
-%dir %{_libdir}/perl5/vendor_perl/%{_abi}
+%dir %{_libdir}/perl5/vendor_perl/%{abi}
 %{perl_vendorarch}
 %{perl_vendorlib}
 
@@ -1145,7 +1179,10 @@ 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 ppc ppc64
+# powerpc asm/ioctl.h doesn't use asm-generic
 %{perl_archlib}/asm-generic
+%endif
 %ifarch sparc64
 %{perl_archlib}/asm-sparc
 %{perl_archlib}/asm-sparc64
This page took 1.018799 seconds and 4 git commands to generate.