X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=perl.spec;h=6c88bdfa11895ce5c07606568c5bede6e47aeb3f;hb=ab73d51cc96a53d341b2401cb6778fc42809fceb;hp=7c4baa113fa440cfc3b875c13eea2e2653e0caeb;hpb=5686823121263645315a283076db408a8f2ddeec;p=packages%2Fperl.git diff --git a/perl.spec b/perl.spec index 7c4baa1..6c88bdf 100644 --- a/perl.spec +++ b/perl.spec @@ -1,93 +1,3 @@ -# unpackaged: -# /usr/bin/enc2xs -# /usr/bin/json_pp -# /usr/bin/piconv -# /usr/bin/ptargrep -# /usr/bin/zipdetails -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/.packlist -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Alias.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Byte.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/CJKConstants.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/CN.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/CN/HZ.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Config.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/EBCDIC.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Encoder.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Encoding.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/GSM0338.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Guess.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/JP.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/JP/H2Z.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/JP/JIS7.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/KR.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/KR/2022_KR.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/MIME/Header.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/MIME/Header/ISO_2022_JP.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/MIME/Name.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Symbol.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/TW.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Unicode.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/Encode/Unicode/UTF7.pm -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/Byte/Byte.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/CN/CN.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/EBCDIC/EBCDIC.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/Encode.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/JP/JP.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/KR/KR.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/Symbol/Symbol.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/TW/TW.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/Encode/Unicode/Unicode.so -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/auto/sdbm/extralibs.ld -# /usr/lib64/perl5/5.16.3/x86_64-pld-linux-thread-multi/encoding.pm -# /usr/share/man/man1/enc2xs.1.gz -# /usr/share/man/man1/json_pp.1.gz -# /usr/share/man/man1/piconv.1.gz -# /usr/share/man/man1/ptargrep.1.gz -# /usr/share/man/man1/zipdetails.1.gz -# /usr/share/man/man3/Encode.3perl.gz -# /usr/share/man/man3/Encode::Alias.3perl.gz -# /usr/share/man/man3/Encode::Byte.3perl.gz -# /usr/share/man/man3/Encode::CJKConstants.3perl.gz -# /usr/share/man/man3/Encode::CN.3perl.gz -# /usr/share/man/man3/Encode::CN::HZ.3perl.gz -# /usr/share/man/man3/Encode::Config.3perl.gz -# /usr/share/man/man3/Encode::EBCDIC.3perl.gz -# /usr/share/man/man3/Encode::Encoder.3perl.gz -# /usr/share/man/man3/Encode::Encoding.3perl.gz -# /usr/share/man/man3/Encode::GSM0338.3perl.gz -# /usr/share/man/man3/Encode::Guess.3perl.gz -# /usr/share/man/man3/Encode::JP.3perl.gz -# /usr/share/man/man3/Encode::JP::H2Z.3perl.gz -# /usr/share/man/man3/Encode::JP::JIS7.3perl.gz -# /usr/share/man/man3/Encode::KR.3perl.gz -# /usr/share/man/man3/Encode::KR::2022_KR.3perl.gz -# /usr/share/man/man3/Encode::MIME::Header.3perl.gz -# /usr/share/man/man3/Encode::MIME::Name.3perl.gz -# /usr/share/man/man3/Encode::PerlIO.3perl.gz -# /usr/share/man/man3/Encode::Supported.3perl.gz -# /usr/share/man/man3/Encode::Symbol.3perl.gz -# /usr/share/man/man3/Encode::TW.3perl.gz -# /usr/share/man/man3/Encode::Unicode.3perl.gz -# /usr/share/man/man3/Encode::Unicode::UTF7.3perl.gz -# /usr/share/man/man3/JSON::PP.3perl.gz -# /usr/share/man/man3/JSON::PP::Boolean.3perl.gz -# /usr/share/man/man3/Module::Metadata.3perl.gz -# /usr/share/man/man3/Perl::OSType.3perl.gz -# /usr/share/man/man3/Version::Requirements.3perl.gz -# /usr/share/man/man3/encoding.3perl.gz -# /usr/share/perl5/5.16.3/Encode/Changes.e2x -# /usr/share/perl5/5.16.3/Encode/ConfigLocal_PM.e2x -# /usr/share/perl5/5.16.3/Encode/Makefile_PL.e2x -# /usr/share/perl5/5.16.3/Encode/README.e2x -# /usr/share/perl5/5.16.3/Encode/_PM.e2x -# /usr/share/perl5/5.16.3/Encode/_T.e2x -# /usr/share/perl5/5.16.3/Encode/encode.h -# /usr/share/perl5/5.16.3/JSON/PP.pm -# /usr/share/perl5/5.16.3/JSON/PP/Boolean.pm -# /usr/share/perl5/5.16.3/Module/Metadata.pm -# /usr/share/perl5/5.16.3/Perl/OSType.pm -# /usr/share/perl5/5.16.3/Version/Requirements.pm # # Conditional build: %bcond_without tests # do not perform "make test" @@ -119,7 +29,7 @@ # NOTE # - modules in 5.10.0: http://search.cpan.org/~rgarcia/perl-5.10.0/ -%define abi 5.16.0 +%define abi 5.18.0 %define perlthread %{?with_threads:-thread-multi} %define perl_privlib %{_datadir}/perl5/%{ver} @@ -133,8 +43,8 @@ %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 ver 5.16.3 -%define rel 0.1 +%define ver 5.18.0 +%define rel 5 Summary: Practical Extraction and Report Language (Perl) Summary(cs.UTF-8): Programovací jazyk Perl Summary(da.UTF-8): Programmeringssproget Perl @@ -163,7 +73,7 @@ Epoch: 1 License: GPL v1+ or Artistic Group: Development/Languages/Perl Source0: http://www.cpan.org/src/5.0/%{name}-%{ver}.tar.gz -# Source0-md5: eb5c40f2575df6c155bc99e3fe0a9d82 +# Source0-md5: 197ce31e84936bc0a83b03b2ee714cff Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source1-md5: de47d7893f49ad7f41ba69c78511c0db Source2: %{name}.prov @@ -174,6 +84,7 @@ Patch4: %{name}-test-noproc.patch Patch5: %{name}_585-microperl_uconfig.patch Patch6: %{name}-write-permissions.patch Patch7: %{name}-t-syslog.patch +Patch8: %{name}-fix-pointer-arithmetic.patch URL: http://dev.perl.org/perl5/ %ifarch ppc # gcc 3.3.x miscompiles pp_hot.c @@ -396,6 +307,13 @@ Provides: %perl_modversion IO Provides: %perl_modversion PerlIO::via::QuotedPrint Provides: %perl_modversion Socket Provides: %perl_modversion Tie::File +Obsoletes: perl-File-Compare < %perl_modver File::Compare +Obsoletes: perl-File-Spec < %perl_modver File::Spec +Obsoletes: perl-File-Temp < %perl_modver File::Temp +Obsoletes: perl-IO < %perl_modver IO +Obsoletes: perl-PerlIO-via-QuotedPrint < %perl_modver PerlIO::via::QuotedPrint +Obsoletes: perl-Socket < %perl_modver Socket +Obsoletes: perl-Tie-File < %perl_modver Tie::File Obsoletes: sperl Conflicts: perl < 1:5.8.0 @@ -418,12 +336,31 @@ 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 CPAN::Meta +Provides: %perl_modversion CPAN::Meta::YAML Provides: %perl_modversion Devel::Peek +Provides: %perl_modversion Devel::PPPort +Provides: %perl_modversion ExtUtils::CBuilder +Provides: %perl_modversion ExtUtils::Command Provides: %perl_modversion ExtUtils::Embed +Provides: %perl_modversion ExtUtils::Install Provides: %perl_modversion ExtUtils::MakeMaker +Provides: %perl_modversion ExtUtils::Manifest +Provides: %perl_modversion ExtUtils::ParseXS Provides: %perl_modversion Module::Build +Obsoletes: perl-CPAN < %perl_modver CPAN +Obsoletes: perl-CPAN-Meta < %perl_modver CPAN::Meta +Obsoletes: perl-CPAN-Meta-YAML < %perl_modver CPAN::Meta::YAML +Obsoletes: perl-Devel-Peek < %perl_modver Devel::Peek +Obsoletes: perl-Devel-PPPort < %perl_modver Devel::PPPort +Obsoletes: perl-ExtUtils-CBuilder < %perl_modver ExtUtils::CBuilder +Obsoletes: perl-ExtUtils-Command < %perl_modver ExtUtils::Command +Obsoletes: perl-ExtUtils-Embed < %perl_modver ExtUtils::Embed +Obsoletes: perl-ExtUtils-Install < %perl_modver ExtUtils::Install +Obsoletes: perl-ExtUtils-MakeMaker < %perl_modver ExtUtils::MakeMaker +Obsoletes: perl-ExtUtils-Manifest < %perl_modver ExtUtils::Manifest +Obsoletes: perl-ExtUtils-ParseXS < %perl_modver ExtUtils::ParseXS +Obsoletes: perl-Module-Build < %perl_modver Module::Build Obsoletes: perl-lib-devel %description devel @@ -466,26 +403,42 @@ Summary: Modules from the core Perl distribution Summary(pl.UTF-8): Moduły z podstawowej dystrybucji Perla Group: Libraries Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Provides: %perl_modversion Archive::Tar Provides: %perl_modversion Attribute::Handlers Provides: %perl_modversion CGI +Provides: %perl_modversion Compress::Raw::Bzip2 +Provides: %perl_modversion Compress::Raw::Zlib Provides: %perl_modversion Digest Provides: %perl_modversion Digest::MD5 +Provides: %perl_modversion Digest::SHA Provides: %perl_modversion Filter::Simple Provides: %perl_modversion FindBin Provides: %perl_modversion I18N::LangTags Provides: %perl_modversion IPC::SysV +Provides: %perl_modversion JSON::PP +Provides: %perl_modversion Locale::Codes Provides: %perl_modversion Locale::Maketext -Provides: %perl_modversion MIME::Base64 +Provides: %perl_modversion Locale::Maketext::Simple Provides: %perl_modversion Math::BigInt Provides: %perl_modversion Math::BigRat Provides: %perl_modversion Math::Trig Provides: %perl_modversion Memoize +Provides: %perl_modversion MIME::Base64 +Provides: %perl_modversion Module::CoreList +Provides: %perl_modversion Module::Load +Provides: %perl_modversion Module::Load::Conditional +Provides: %perl_modversion Module::Metadata +Provides: %perl_modversion Module::Pluggable Provides: %perl_modversion NEXT Provides: %perl_modversion Parse::CPAN::Meta +Provides: %perl_modversion Perl::OSType +Provides: %perl_modversion Pod::Escapes Provides: %perl_modversion Pod::LaTeX Provides: %perl_modversion Pod::Parser +Provides: %perl_modversion Pod::Simple Provides: %perl_modversion Safe Provides: %perl_modversion Storable +Provides: %perl_modversion Sys::Syslog Provides: %perl_modversion Term::ANSIColor Provides: %perl_modversion Term::Cap Provides: %perl_modversion Test @@ -495,15 +448,66 @@ 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 Time::Piece Provides: %perl_modversion Unicode::Collate Provides: %perl_modversion Unicode::Normalize +Provides: %perl_modversion UNIVERSAL +Provides: %perl_modversion bignum Provides: %perl_modversion libnet Provides: %perl_modversion version +Obsoletes: perl-Archive-Tar < %perl_modver Archive::Tar +Obsoletes: perl-Attribute-Handlers < %perl_modver Attribute::Handlers +Obsoletes: perl-CGI < %perl_modver CGI +Obsoletes: perl-Compress-Raw-Bzip2 < %perl_modver Compress::Raw::Bzip2 +Obsoletes: perl-Compress-Raw-Zlib < %perl_modver Compress::Raw::Zlib +Obsoletes: perl-Digest < %perl_modver Digest +Obsoletes: perl-Digest-MD5 < %perl_modver Digest::MD5 +Obsoletes: perl-Digest-SHA < %perl_modver Digest::SHA +Obsoletes: perl-Filter-Simple < %perl_modver Filter::Simple +Obsoletes: perl-FindBin < %perl_modver FindBin +Obsoletes: perl-I18N-LangTags < %perl_modver I18N::LangTags +Obsoletes: perl-IPC-SysV < %perl_modver IPC::SysV +Obsoletes: perl-JSON-PP < %perl_modver JSON::PP +Obsoletes: perl-Locale-Codes < %perl_modver Locale::Codes +Obsoletes: perl-Locale-Maketext < %perl_modver Locale::Maketext +Obsoletes: perl-Locale-Maketext-Simple < %perl_modver Locale::Maketext::Simple +Obsoletes: perl-Math-BigInt < %perl_modver Math::BigInt +Obsoletes: perl-Math-BigRat < %perl_modver Math::BigRat +Obsoletes: perl-Math-Trig < %perl_modver Math::Trig +Obsoletes: perl-Memoize < %perl_modver Memoize +Obsoletes: perl-MIME-Base64 < %perl_modver MIME::Base64 +Obsoletes: perl-Module-CoreList < %perl_modver Module::CoreList +Obsoletes: perl-Module-Load < %perl_modver Module::Load +Obsoletes: perl-Module-Load-Conditional < %perl_modver Module::Load::Conditional +Obsoletes: perl-Module-Metadata < %perl_modver Module::Metadata +Obsoletes: perl-Module-Pluggable < %perl_modver Module::Pluggable +Obsoletes: perl-NEXT < %perl_modver NEXT +Obsoletes: perl-Parse-CPAN-Meta < %perl_modver Parse::CPAN::Meta +Obsoletes: perl-Perl-OSType < %perl_modver Perl::OSType +Obsoletes: perl-Pod-Escapes < %perl_modver Pod::Escapes +Obsoletes: perl-Pod-LaTeX < %perl_modver Pod::LaTeX +Obsoletes: perl-Pod-Parser < %perl_modver Pod::Parser +Obsoletes: perl-Pod-Simple < %perl_modver Pod::Simple +Obsoletes: perl-Safe < %perl_modver Safe +Obsoletes: perl-Storable < %perl_modver Storable +Obsoletes: perl-Sys-Syslog < %perl_modver Sys::Syslog +Obsoletes: perl-Term-ANSIColor < %perl_modver Term::ANSIColor +Obsoletes: perl-Term-Cap < %perl_modver Term::Cap +Obsoletes: perl-Test < %perl_modver Test +Obsoletes: perl-Test-Harness < %perl_modver Test::Harness +Obsoletes: perl-Test-Simple < %perl_modver Test::Simple +Obsoletes: perl-Text-Balanced < %perl_modver Text::Balanced +Obsoletes: perl-Text-ParseWords < %perl_modver Text::ParseWords +Obsoletes: perl-Text-Soundex < %perl_modver Text::Soundex +Obsoletes: perl-Time-HiRes < %perl_modver Time::HiRes +Obsoletes: perl-Time-Piece < %perl_modver Time::Piece +Obsoletes: perl-Unicode-Collate < %perl_modver Unicode::Collate +Obsoletes: perl-Unicode-Normalize < %perl_modver Unicode::Normalize +Obsoletes: perl-UNIVERSAL < %perl_modver UNIVERSAL +Obsoletes: perl-bignum < %perl_modver bignum +Obsoletes: perl-libnet < %perl_modver libnet +Obsoletes: perl-version < %perl_modver version Suggests: perl-Encode >= 1:2.44 -Suggests: perl-JSON-PP -Suggests: perl-Module-Metadata -Suggests: perl-Perl-OSType Suggests: perl-Version-Requirements Obsoletes: perl-lib @@ -685,6 +689,7 @@ z biblioteki GNU gdbm. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 cat > runperl <<'EOF' #!/bin/sh @@ -761,118 +766,113 @@ sh Configure \ #%{?with_tests:%{__make} minitest} %install -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 +rm -rf $RPM_BUILD_ROOT -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 - - ## install directory needed by packages dependant on TAP::Harness - install -d $RPM_BUILD_ROOT%{perl_privlib}/TAP/Harness - - ## Fix lib - %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so - mv $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir} - %{__ln_s} ../../../../libperl.so.%{abi} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi} - %{__ln_s} libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so - # installed as non-executable - let rpm generate deps - chmod 755 $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{abi} - - ## Fix Config.pm: remove buildroot path and change man pages extensions - %{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm - %{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl - %{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl - - ## Generate the *.ph files - owd=$(pwd) - cd /usr/include - H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph - PHDIR=$RPM_BUILD_ROOT%{perl_archlib} - WANTED=' - syscall.h - syslog.h - termios.h - wait.h - asm/termios.h - sys/ioctl.h - sys/socket.h - sys/syscall.h - sys/time.h - linux/posix_types.h - linux/stddef.h - ' - # why it returns non-zero??? - %{__perl} $H2PH -a -d $PHDIR $WANTED || : - cd "$owd" - - ## remove man pages for other operating systems - %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,beos,bs2000,ce,cygwin,dgux,dos}* \ - $RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,macos,mpeix,os2,os390}* \ - $RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vmesa,vms,vos,win32}* - - ## symlink perldelta.1.gz -> perlFOOdelta.1.gz - [ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{ver} | tr -d .)delta.1 ] || exit 1 - %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 - echo ".so perl%(echo %{ver} | tr -d .)delta.1" >$RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 - - ## These File::Spec submodules are for non-Unix systems - %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/File/Spec/[EMOVW]*.pm - %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3perl* - - ## We already have these *.pod files as man pages - %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext},version}/*.pod - %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/pod/a2p.pod - %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/*.pod - %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/*.pod - - install -d doc-base/{Getopt/Long,Switch} \ - doc-devel/ExtUtils \ - doc-modules/{Attribute/Handlers,Filter/Simple,I18N/LangTags,Locale/{Codes,Maketext},Memoize,NEXT} \ - doc-modules/{Net/Ping,Term/ANSIColor,Test/Simple,Text/{Balanced,TabsWrap},Unicode/Collate,unicore} - - # needed only for tests - %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt - # source for *.pl - %{__rm} $RPM_BUILD_ROOT%{perl_privlib}/unicore/*.txt - # lib/Unicode/UCD.pm opens them via openunicode(): - cp -p lib/unicore/{Blocks,CaseFolding,SpecialCasing}.txt $RPM_BUILD_ROOT%{perl_privlib}/unicore - - # cpan tools, we use rpm instead of cpan for managing packages (some search tool would be nice to have but...) - %{__rm} $RPM_BUILD_ROOT%{_bindir}/cpan* - %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cpan* - # others - %{__rm} $RPM_BUILD_ROOT%{_bindir}/config_data - %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/config_data* - - owd=$(pwd) - - ## non-english man pages - %{__bzip2} -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} - - mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlcn.* $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1 - mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perljp.* $RPM_BUILD_ROOT%{_mandir}/ja/man1 - mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlko.* $RPM_BUILD_ROOT%{_mandir}/ko/man1 - mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1 - - # `perl -MExtUtils::Embed -e ldopts` includes -Wl,--as-needed - # which is then forced upon anyone embedding perl. - sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl - - %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages - - touch installed.stamp -fi +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +%{?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 + +## install directory needed by packages dependant on TAP::Harness +install -d $RPM_BUILD_ROOT%{perl_privlib}/TAP/Harness +## install directory needed by packages dependant on Encode +install -d $RPM_BUILD_ROOT%{perl_vendorlib}/Encode + +## 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,bs2000,ce,cygwin,dgux,dos}* \ + $RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,macos,os2,os390}* \ + $RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vms,vos,win32}* + +## symlink perldelta.1.gz -> perlFOOdelta.1.gz +[ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{ver} | tr -d .)delta.1 ] || exit 1 +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 +echo ".so perl%(echo %{ver} | tr -d .)delta.1" >$RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1 + +## These File::Spec submodules are for non-Unix systems +%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/File/Spec/[EMOVW]*.pm +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3perl* + +## We already have these *.pod files as man pages +%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Test,Net,Locale{,/Maketext},version}/*.pod +%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/pod/a2p.pod +%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/*.pod +%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/*.pod + +install -d doc-base/{Getopt/Long,Switch} \ + doc-devel/ExtUtils \ + doc-modules/{Attribute/Handlers,Filter/Simple,I18N/LangTags,Locale/{Codes,Maketext},Memoize,NEXT} \ + doc-modules/{Net/Ping,Term/ANSIColor,Test/Simple,Text/{Balanced,TabsWrap},Unicode/Collate,unicore} + +# needed only for tests +%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt +# source for *.pl +%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/unicore/*.txt +# lib/Unicode/UCD.pm opens them via openunicode(): +cp -p lib/unicore/{Blocks,CaseFolding,SpecialCasing}.txt $RPM_BUILD_ROOT%{perl_privlib}/unicore + +# cpan tools, we use rpm instead of cpan for managing packages (some search tool would be nice to have but...) +%{__rm} $RPM_BUILD_ROOT%{_bindir}/cpan* +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cpan* +# others +%{__rm} $RPM_BUILD_ROOT%{_bindir}/config_data +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/config_data* + +owd=$(pwd) + +## non-english man pages +%{__bzip2} -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} + +mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlcn.* $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1 +mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perljp.* $RPM_BUILD_ROOT%{_mandir}/ja/man1 +mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlko.* $RPM_BUILD_ROOT%{_mandir}/ko/man1 +mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1 + +# `perl -MExtUtils::Embed -e ldopts` includes -Wl,--as-needed +# which is then forced upon anyone embedding perl. +sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl + +%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages # update and check perl-modules file echo '# Module versions from Perl %{ver} distribution.' > perl-modules @@ -902,6 +902,9 @@ if ! cmp -s .mods1 .mods2; then exit 1 fi +# remove empty .bs files +find $RPM_BUILD_ROOT -name \*.bs -size 0 -print0 | xargs -0 %{__rm} + %clean rm -rf $RPM_BUILD_ROOT @@ -1039,6 +1042,10 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{perl_archlib}/auto/Opcode/*.so %{_mandir}/man3/Opcode.* +%dir %{perl_privlib}/Perl +%{perl_privlib}/Perl/OSType.pm +%{_mandir}/man3/Perl::OSType* + %{perl_privlib}/PerlIO* %{perl_archlib}/PerlIO %dir %{perl_archlib}/auto/PerlIO @@ -1073,11 +1080,12 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{perl_archlib}/auto/arybase/*.so %{_mandir}/man3/arybase.* -%if 0 %files Encode %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/enc2xs %attr(755,root,root) %{_bindir}/piconv +# for dependant packages (ex. perl-Encode-Locale) +%{perl_vendorlib}/Encode # FIXME: *.h to devel(?), check out the use for *.e2x files %{perl_privlib}/Encode %{perl_archlib}/Encode* @@ -1089,7 +1097,6 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/piconv.* %{_mandir}/man3/Encode* %{_mandir}/man3/encoding.* -%endif %if %{with gdbm} %files GDBM_File @@ -1392,6 +1399,8 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man3/Fatal.* %{perl_privlib}/FindBin.* %{_mandir}/man3/FindBin.* +%{perl_privlib}/JSON +%{_mandir}/man3/JSON* %{perl_privlib}/Log %{_mandir}/man3/Log::* %{perl_privlib}/Locale @@ -1399,8 +1408,8 @@ rm -rf $RPM_BUILD_ROOT %{perl_privlib}/Memoize* %{_mandir}/man3/Memoize* %dir %{perl_privlib}/Module -%{perl_privlib}/Module/[CLP]* -%{_mandir}/man3/Module::[CLP]* +%{perl_privlib}/Module/[CLMP]* +%{_mandir}/man3/Module::[CLMP]* %{perl_privlib}/NEXT.pm %{_mandir}/man3/NEXT* # FIXME: README and Changes files @@ -1466,18 +1475,24 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/find2perl.* %attr(755,root,root) %{_bindir}/instmodsh %{_mandir}/man1/instmodsh.* +%attr(755,root,root) %{_bindir}/json_pp +%{_mandir}/man1/json_pp.* %attr(755,root,root) %{_bindir}/libnetcfg %{_mandir}/man1/libnetcfg.* %attr(755,root,root) %{_bindir}/psed %{_mandir}/man1/psed.* %attr(755,root,root) %{_bindir}/ptar %{_mandir}/man1/ptar.* +%attr(755,root,root) %{_bindir}/ptargrep +%{_mandir}/man1/ptargrep.* %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.* +%attr(755,root,root) %{_bindir}/zipdetails +%{_mandir}/man1/zipdetails.1.gz %files tools-devel %defattr(644,root,root,755)