%define __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides
-%define perlthread -thread-multi
+%define perlthread %{?bcond_on_perl_threads:-thread-multi}
Summary: Practical Extraction and Report Language
Summary(de): Praktische Extraktions- und Berichtsprache
Summary(fr): Practical Extraction and Report Language (Perl)
Summary(pl): Practical Extraction and Report Language (Perl)
Summary(tr): Kabuk yorumlama dili
Name: perl
-Version: 5.6.0
-Release: 1
+Version: 5.6.1
+Release: 6
Epoch: 1
License: GPL
-Group: Utilities/Text
+Group: Applications/Text
+Group(de): Applikationen/Text
Group(fr): Utilitaires/Texte
-Group(pl): Narzêdzia/Tekst
-Source: ftp://ftp.perl.org/pub/perl/CPAN/src/%{name}-%{version}.tar.gz
-Patch0: perl-noroot_install.patch
-Patch1: perl-nodb.patch
-Patch2: perl-DESTDIR.patch
-Patch3: perl-CPAN-1.54.patch
-Patch4: perl-find-provides.patch
-Patch5: perl-prereq.patch
-Patch6: perl-syslog.patch
+Group(pl): Aplikacje/Tekst
+Source0: ftp://ftp.perl.org/pub/perl/CPAN/src/%{name}-%{version}.tar.gz
+Patch0: %{name}-noroot_install.patch
+Patch1: %{name}-nodb.patch
+Patch2: %{name}-DESTDIR.patch
+Patch3: %{name}-find-provides.patch
+Patch4: %{name}-prereq.patch
+Patch5: %{name}-syslog.patch
+Patch6: %{name}-CGI-upload-tmpdir.patch
+Patch7: %{name}-LD_RUN_PATH.patch
+Patch8: %{name}-errno_h-parsing.patch
+Patch9: %{name}-use-LD_PRELOAD-for-libperl.so.patch
+Patch10: %{name}-sitearch.patch
+Patch11: %{name}-soname.patch
+Patch12: %{name}-db3.patch
URL: http://www.perl.org/
#Requires: csh
+Provides: perl-ANSIColor
+Provides: perl-Devel-Peek
+Provides: perl-DProf
+Provides: perl-PodParser
+Provides: perl-CGI
Obsoletes: perl-ANSIColor
Obsoletes: perl-Devel-Peek
Obsoletes: perl-DProf
Obsoletes: perl-PodParser
+Obsoletes: perl-CGI
+Prereq: %{name}-lib = %{version}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
(easy to use, efficient, complete) rather than beautiful (tiny,
elegant, minimal).
-This version has support for threads compiled in.
+#This version has support for threads compiled in.
%description -l de
Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger
olmaktan çok, pratik olmaya yönelik (kullanýmý kolay, verimli,
eksiksiz) olarak tasarlanmýþtýr.
+%package lib
+Summary: Shared Perl library and other version dependant files
+Group: Libraries
+
+%description lib
+Provides a shared library for programs which embed a Perl interpreter.
+
+%package devel
+Summary: Perl development files
+Group: Development/Libraries
+Requires: %{name}-lib = %{version}
+
+%description devel
+Files for developing applications which embed a Perl interpreter.
+
%package -n sperl
Summary: Practical Extraction and Report Language (SUID root binary)
Summary(pl): Practical Extraction and Report Language (SUID root binaria)
-Group: Utilities/Text
+Group: Applications/Text
+Group(de): Applikationen/Text
Group(fr): Utilitaires/Texte
-Group(pl): Narzêdzia/Tekst
+Group(pl): Aplikacje/Tekst
Requires: %{name} = %{version}
%description -n sperl
%description -n sperl -l pl
Practical Extraction and Report Language (SUID root binaria).
+%package minimal
+Summary: Practical Extraction and Report Language - base files
+Summary(pl): Practical Extraction and Report Language - pliki podstawowe
+Group: Applications/Text
+Group(de): Applikationen/Text
+Group(fr): Utilitaires/Texte
+Group(pl): Aplikacje/Tekst
+Prereq: %{name}-lib = %{version}
+Conflicts: %{name}
+
+%description minimal
+Practical Extraction and Report Language - base files, usefull
+on embedded systems.
+
+%description minimal -l pl
+Practical Extraction and Report Language - pliki podstawowe, przydatne
+dla systemów osadzonych.
+
+
%prep
%setup -q
%patch0 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
for i in find-* ; do
- mv $i $i.old
+ mv -f $i $i.old
sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
chmod 755 $i; rm -f $i.old
done
%build
# this is gross
+# i added more ugly stuff here
+# i know that is ugly way to set that but i dont know how do it better
cat > config.over <<EOF
installprefix=$RPM_BUILD_ROOT%{_prefix}
test -d \$installprefix || mkdir -p \$installprefix
installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
+dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
EOF
+USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
sh Configure \
-des \
- -Dcc=gcc \
+ -Dcc=%{__cc} \
-Darchname=%{_target_platform} \
+ -Dcccdlflags='-fPIC' \
+ -Dccdlflags='-rdynamic' \
-Dprefix=%{_prefix} \
-Dscriptdir=%{_bindir} \
+ -Dsitelib=%{_libdir}/perl5/site_perl \
-Dman1dir=%{_mandir}/man1 \
-Dman3dir=%{_mandir}/man3 \
-Dman3ext=3pm \
-Doptimize="$RPM_OPT_FLAGS" \
+ ${USETHREADS}usethreads \
+ -Uuselargefiles \
+%ifarch sparc sparc64
+ -Ud_longdbl \
+%endif
-Duseshrplib \
- -Dusethreads \
-Dd_dosuid \
-Ud_setresuid \
-Ud_setresgid
-%{__make}
-
-## Strip binaries (done now rather than at install)
+mv Makefile Makefile.bak
+sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
+ Makefile.bak > Makefile
-strip {perl,suidperl,x2p/a2p}
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man*/* \
- README Change*
+## Fix lib
+rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
+install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
+ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
-find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.so \
- -exec strip --strip-unneeded {} \;
+gzip -9nf README Change*
%clean
rm -rf $RPM_BUILD_ROOT
+%post lib -p /sbin/ldconfig
+%postun lib -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc README.gz Change*
%attr(755,root,root) %{_bindir}/pod2latex
%attr(755,root,root) %{_bindir}/pod2man
%attr(755,root,root) %{_bindir}/pod2text
+%attr(755,root,root) %{_bindir}/podselect
%attr(755,root,root) %{_bindir}/pstruct
%attr(755,root,root) %{_bindir}/s2p
%attr(755,root,root) %{_bindir}/splain
%dir %{_libdir}/perl5
-%attr( - ,root,root) %{_libdir}/perl5/*
-#%dir %{_libdir}/site_perl
-#%attr( - ,root,root) %{_libdir}/site_perl/*
-%{_mandir}/man[13]/*
+%dir %{_libdir}/perl5/%{version}
+%dir %{_libdir}/perl5/site_perl
+%dir %{_libdir}/perl5/site_perl/%{_target_platform}*
+%dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
+
+%attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
+%attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
+%attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
+%attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
+%attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
+%attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
+
+%{_mandir}/man1/*
+
+%files lib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_mandir}/man3/*
%files -n sperl
%defattr(644,root,root,755)
%attr(4755,root,root) %{_bindir}/sperl%{version}
%attr(4755,root,root) %{_bindir}/suidperl
+
+%files minimal
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/perl
+%attr(755,root,root) %{_bindir}/perl%{version}
+
+%dir %{_libdir}/perl5
+%dir %{_libdir}/perl5/%{version}
+%dir %{_libdir}/perl5/site_perl
+%dir %{_libdir}/perl5/site_perl/%{_target_platform}*
+%dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
+
+%{_libdir}/perl5/%{version}/AutoLoader.pm
+%{_libdir}/perl5/%{version}/Carp.pm
+%{_libdir}/perl5/%{version}/Cwd.pm
+%{_libdir}/perl5/%{version}/DirHandle.pm
+%{_libdir}/perl5/%{version}/Exporter.pm
+%{_libdir}/perl5/%{version}/File/Basename.pm
+%{_libdir}/perl5/%{version}/File/Find.pm
+%{_libdir}/perl5/%{version}/File/Path.pm
+%{_libdir}/perl5/%{version}/File/Spec.pm
+%{_libdir}/perl5/%{version}/File/Spec/Unix.pm
+%{_libdir}/perl5/%{version}/FileHandle.pm
+%{_libdir}/perl5/%{version}/IO/Socket/INET.pm
+%{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
+%{_libdir}/perl5/%{version}/IPC/Open2.pm
+%{_libdir}/perl5/%{version}/IPC/Open3.pm
+%{_libdir}/perl5/%{version}/SelectSaver.pm
+%{_libdir}/perl5/%{version}/Symbol.pm
+%{_libdir}/perl5/%{version}/Text/Tabs.pm
+%{_libdir}/perl5/%{version}/Text/Wrap.pm
+%{_libdir}/perl5/%{version}/Time/Local.pm
+%{_libdir}/perl5/%{version}/attributes.pm
+%{_libdir}/perl5/%{version}/base.pm
+%{_libdir}/perl5/%{version}/constant.pm
+%{_libdir}/perl5/%{version}/fields.pm
+%{_libdir}/perl5/%{version}/integer.pm
+%{_libdir}/perl5/%{version}/lib.pm
+%{_libdir}/perl5/%{version}/locale.pm
+%{_libdir}/perl5/%{version}/overload.pm
+%{_libdir}/perl5/%{version}/strict.pm
+%{_libdir}/perl5/%{version}/vars.pm
+%{_libdir}/perl5/%{version}/warnings.pm
+%{_libdir}/perl5/%{version}/warnings/register.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/Config.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/DynaLoader.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
+%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader/dl_findfile.al
+%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO/IO.so
+%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/POSIX.so
+%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/tmpfile.al
+%{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.so
+
+%dir %{_libdir}/perl5/%{version}/File
+%dir %{_libdir}/perl5/%{version}/File/Spec
+%dir %{_libdir}/perl5/%{version}/IO
+%dir %{_libdir}/perl5/%{version}/IO/Socket
+%dir %{_libdir}/perl5/%{version}/IPC
+%dir %{_libdir}/perl5/%{version}/Text
+%dir %{_libdir}/perl5/%{version}/Time
+%dir %{_libdir}/perl5/%{version}/warnings
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/IO
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
+%dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket