-# 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"
%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.18.0
-%define rel 0.1
+%define rel 9
Summary: Practical Extraction and Report Language (Perl)
Summary(cs.UTF-8): Programovací jazyk Perl
Summary(da.UTF-8): Programmeringssproget Perl
Patch5: %{name}_585-microperl_uconfig.patch
Patch6: %{name}-write-permissions.patch
Patch7: %{name}-t-syslog.patch
+Patch8: %{name}-fix-pointer-arithmetic.patch
+Patch9: %{name}-switch.patch
+Patch10: %{name}-invalid-void-use.patch
URL: http://dev.perl.org/perl5/
%ifarch ppc
# gcc 3.3.x miscompiles pp_hot.c
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
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
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
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
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
+Release: %{ver}.%{rel}
+Epoch: 3
Group: Libraries
-Requires: %{name}-base = 1:%{ver}-%{release}
+Requires: %{name}-base = 1:%{ver}-%{rel}
%description GDBM_File
GDBM_File is a module which allows Perl programs to make use of the
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
cat > runperl <<'EOF'
#!/bin/sh
#%{?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
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)
;;
echo "$m = $v" >> perl-modules
done
-egrep -v '^([ ]*$|[;#])' %{SOURCE3} > .mods1
-egrep -v '^([ ]*$|[;#])' perl-modules > .mods2
+# ExtUtils::CBuilder Compress::Raw::Bzip2 Compress::Raw::Zlib ignored due to VERSION from the loop above
+# is missing ending '0'
+egrep -v '^([ ]*$|[;#])' %{SOURCE3} | egrep -v 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods1
+egrep -v '^([ ]*$|[;#])' perl-modules | egrep -v 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods2
if ! cmp -s .mods1 .mods2; then
: %{SOURCE3} outdated with $(pwd)/perl-modules
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
%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
%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*
%{_mandir}/man1/piconv.*
%{_mandir}/man3/Encode*
%{_mandir}/man3/encoding.*
-%endif
%if %{with gdbm}
%files GDBM_File
%{_mandir}/man3/Fatal.*
%{perl_privlib}/FindBin.*
%{_mandir}/man3/FindBin.*
+%{perl_privlib}/JSON
+%{_mandir}/man3/JSON*
%{perl_privlib}/Log
%{_mandir}/man3/Log::*
%{perl_privlib}/Locale
%{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
%{_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)