--- /dev/null
+--- perl-5.8.0/Configure.orig 2002-09-09 11:31:19.000000000 -0400
++++ perl-5.8.0/Configure 2002-09-09 11:40:37.000000000 -0400
+@@ -6458,8 +6458,8 @@
+ : Reproduce behavior of 5.005 and earlier, maybe drop that in 5.7.
+ case "$installstyle" in
+ '') case "$prefix" in
+- *perl*) dflt='lib';;
+- *) dflt='lib/perl5' ;;
++ *perl*) dflt='lib64';;
++ *) dflt='lib64/perl5' ;;
+ esac
+ ;;
+ *) dflt="$installstyle" ;;
+@@ -6475,8 +6475,8 @@
+ : /opt/perl/lib/perl5... would be redundant.
+ : The default "style" setting is made in installstyle.U
+ case "$installstyle" in
+-*lib/perl5*) set dflt privlib lib/$package/$version ;;
+-*) set dflt privlib lib/$version ;;
++*lib64/perl5*) set dflt privlib lib64/$package/$version ;;
++*) set dflt privlib lib64/$version ;;
+ esac
+ eval $prefixit
+ $cat <<EOM
+@@ -6934,8 +6934,8 @@
+ prog=`echo $package | $sed 's/-*[0-9.]*$//'`
+ case "$sitelib" in
+ '') case "$installstyle" in
+- *lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;;
+- *) dflt=$siteprefix/lib/site_$prog/$version ;;
++ *lib64/perl5*) dflt=$siteprefix/lib64/$package/site_$prog/$version ;;
++ *) dflt=$siteprefix/lib64/site_$prog/$version ;;
+ esac
+ ;;
+ *) dflt="$sitelib"
+@@ -7061,8 +7061,8 @@
+ '')
+ prog=`echo $package | $sed 's/-*[0-9.]*$//'`
+ case "$installstyle" in
+- *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog/$version ;;
+- *) dflt=$vendorprefix/lib/vendor_$prog/$version ;;
++ *lib64/perl5*) dflt=$vendorprefix/lib64/$package/vendor_$prog/$version ;;
++ *) dflt=$vendorprefix/lib64/vendor_$prog/$version ;;
+ esac
+ ;;
+ *) dflt="$vendorlib"
--- /dev/null
+diff -up perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.runpath perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
+--- perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.runpath 2010-01-18 19:52:49.000000000 +0100
++++ perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm 2010-04-13 15:56:55.859789425 +0200
+@@ -88,6 +88,11 @@ libraries. LD_RUN_PATH is a colon separ
+ in LDLOADLIBS. It is passed as an environment variable to the process
+ that links the shared library.
+
++Fedora extension: This generation of LD_RUN_PATH is disabled by default.
++To use the generated LD_RUN_PATH for all links, set the USE_MM_LD_RUN_PATH
++MakeMaker object attribute / argument, (or set the $USE_MM_LD_RUN_PATH
++environment variable).
++
+ =head2 BSLOADLIBS
+
+ List of those libraries that are needed but can be linked in
+diff -up perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.runpath perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
+--- perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.runpath 2010-01-18 19:52:49.000000000 +0100
++++ perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 2010-04-13 16:00:32.941778159 +0200
+@@ -262,7 +262,7 @@ sub full_setup {
+ PERL_SRC PERM_DIR PERM_RW PERM_RWX
+ PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC
+ PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
+- SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
++ SIGN SKIP TYPEMAPS USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS XSOPT XSPROTOARG
+ XS_VERSION clean depend dist dynamic_lib linkext macro realclean
+ tool_autosplit
+
+@@ -406,7 +406,27 @@ sub new {
+ # PRINT_PREREQ is RedHatism.
+ if ("@ARGV" =~ /\bPRINT_PREREQ\b/) {
+ $self->_PRINT_PREREQ;
+- }
++ }
++
++ # USE_MM_LD_RUN_PATH - another RedHatism to disable automatic RPATH generation
++ if ( ( ! $self->{USE_MM_LD_RUN_PATH} )
++ &&( ("@ARGV" =~ /\bUSE_MM_LD_RUN_PATH(=([01]))?\b/)
++ ||( exists( $ENV{USE_MM_LD_RUN_PATH} )
++ &&( $ENV{USE_MM_LD_RUN_PATH} =~ /([01])?$/ )
++ )
++ )
++ )
++ {
++ my $v = $1;
++ if( $v )
++ {
++ $v = ($v=~/=([01])$/)[0];
++ }else
++ {
++ $v = 1;
++ };
++ $self->{USE_MM_LD_RUN_PATH}=$v;
++ };
+
+ print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose;
+ if (-f "MANIFEST" && ! -f "Makefile"){
+@@ -2320,6 +2340,40 @@ precedence. A typemap in the current di
+ precedence, even if it isn't listed in TYPEMAPS. The default system
+ typemap has lowest precedence.
+
++=item USE_MM_LD_RUN_PATH
++
++boolean
++The Fedora perl MakeMaker distribution differs from the standard
++upstream release in that it disables use of the MakeMaker generated
++LD_RUN_PATH by default, UNLESS this attribute is specified , or the
++USE_MM_LD_RUN_PATH environment variable is set during the MakeMaker run.
++
++The upstream MakeMaker will set the ld(1) environment variable LD_RUN_PATH
++to the concatenation of every -L ld(1) option directory in which a -l ld(1)
++option library is found, which is used as the ld(1) -rpath option if none
++is specified. This means that, if your application builds shared libraries
++and your MakeMaker application links to them, that the absolute paths of the
++libraries in the build tree will be inserted into the RPATH header of all
++MakeMaker generated binaries, and that such binaries will be unable to link
++to these libraries if they do not still reside in the build tree directories
++(unlikely) or in the system library directories (/lib or /usr/lib), regardless
++of any LD_LIBRARY_PATH setting. So if you specified -L../mylib -lmylib , and
++ your 'libmylib.so' gets installed into /some_directory_other_than_usr_lib,
++ your MakeMaker application will be unable to link to it, even if LD_LIBRARY_PATH
++is set to include /some_directory_other_than_usr_lib, because RPATH overrides
++LD_LIBRARY_PATH.
++
++So for Fedora MakeMaker builds LD_RUN_PATH is NOT generated by default for
++every link. You can still use explicit -rpath ld options or the LD_RUN_PATH
++environment variable during the build to generate an RPATH for the binaries.
++
++You can set the USE_MM_LD_RUN_PATH attribute to 1 on the MakeMaker command
++line or in the WriteMakefile arguments to enable generation of LD_RUN_PATH
++for every link command.
++
++USE_MM_LD_RUN_PATH will default to 1 (LD_RUN_PATH will be used) IF the
++$USE_MM_LD_RUN_PATH environment variable is set during a MakeMaker run.
++
+ =item VENDORPREFIX
+
+ Like PERLPREFIX, but only for the vendor install locations.
+diff -up perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.runpath perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+--- perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.runpath 2010-01-18 19:52:49.000000000 +0100
++++ perl-5.12.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2010-04-13 15:56:10.656775285 +0200
+@@ -944,7 +944,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
+ }
+
+ my $ld_run_path_shell = "";
+- if ($self->{LD_RUN_PATH} ne "") {
++ if (($self->{LD_RUN_PATH} ne "") && ($self->{USE_MM_LD_RUN_PATH})) {
+ $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
+ }
+
--- /dev/null
+diff -up perl-5.12.0/cpan/libnet/Net/Config.pm.disable perl-5.12.0/cpan/libnet/Net/Config.pm
+--- perl-5.12.0/cpan/libnet/Net/Config.pm.disable 2010-01-18 19:52:49.000000000 +0100
++++ perl-5.12.0/cpan/libnet/Net/Config.pm 2010-04-13 16:03:50.090770813 +0200
+@@ -29,7 +29,7 @@ eval { local $SIG{__DIE__}; require Net:
+ ftp_firewall => undef,
+ ftp_ext_passive => 1,
+ ftp_int_passive => 1,
+- test_hosts => 1,
++ test_hosts => 0,
+ test_exist => 1,
+ );
+
--- /dev/null
+--- perl-5.10.1/utils/perlbug.PL.fedora 2009-08-12 20:49:24.000000000 +0200
++++ perl-5.10.1/utils/perlbug.PL 2009-11-18 15:56:15.000000000 +0100
+@@ -27,8 +27,6 @@ open OUT, ">$file" or die "Can't create
+ open PATCH_LEVEL, "<" . catfile(updir, "patchlevel.h")
+ or die "Can't open patchlevel.h: $!";
+
+-my $patchlevel_date = (stat PATCH_LEVEL)[9];
+-
+ while (<PATCH_LEVEL>) {
+ last if $_ =~ /^\s*static\s+(?:const\s+)?char.*?local_patches\[\]\s*=\s*{\s*$/;
+ }
+@@ -71,9 +69,8 @@ $Config{startperl}
+ eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
+ if \$running_under_some_shell;
+
+-my \$config_tag1 = '$extract_version - $Config{cf_time}';
++my \$config_tag1 = '$extract_version';
+
+-my \$patchlevel_date = $patchlevel_date;
+ my \$patch_tags = '$patch_tags';
+ my \@patches = (
+ $patch_desc
+@@ -333,17 +330,6 @@ sub Init {
+ $ok = '';
+ if ($::opt_o) {
+ if ($::opt_o eq 'k' or $::opt_o eq 'kay') {
+- my $age = time - $patchlevel_date;
+- if ($::opt_o eq 'k' and $age > 60 * 24 * 60 * 60 ) {
+- my $date = localtime $patchlevel_date;
+- print <<"EOF";
+-"perlbug -ok" and "perlbug -nok" do not report on Perl versions which
+-are more than 60 days old. This Perl version was constructed on
+-$date. If you really want to report this, use
+-"perlbug -okay" or "perlbug -nokay".
+-EOF
+- exit();
+- }
+ # force these options
+ unless ($::opt_n) {
+ $::opt_S = 1; # don't prompt for send
+@@ -730,8 +716,8 @@ EFF
+ print OUT <<EFF;
+ ---
+ EFF
+- print OUT "This perlbug was built using Perl $config_tag1\n",
+- "It is being executed now by Perl $config_tag2.\n\n"
++ print OUT "This perlbug was built using Perl $config_tag1 in the Fedora build system.\n",
++ "It is being executed now by Perl $config_tag2.\n\n"
+ if $config_tag2 ne $config_tag1;
+
+ print OUT <<EOF;
define QUALITY_AGENT_WHITELIST_RPATH
/lib
/usr/lib
+ /usr/lib/perl5/CORE
endef
define STAGE_PREPARE_CMDS
cd $(DIR_APP) && \
sh ./Configure -des \
-Doptimize="$(CFLAGS)" \
+ -Dccdlflags="-Wl,--enable-new-dtags" \
+ -Dversion=$(PKG_VER) \
+ -Dmyhostname=localhost \
+ -Dperladmin=root@localhost \
+ -Dcc="gcc" \
+ -Dcf_by="$(DISTRO_VENDOR)" \
-Dprefix=/usr \
+ -Dvendorprefix=/usr \
+ -Dsiteprefix="/usr/local" \
+ -Dsitelib="/usr/local/share/perl5" \
+ -Dsitearch="/usr/local/lib/perl5" \
+ -Dprivlib="/usr/share/perl5" \
+ -Dvendorlib="/usr/share/perl5/vendor_perl" \
+ -Darchlib="/usr/lib/perl5" \
+ -Dvendorarch="/usr/lib/perl5/vendor_perl" \
+ -Darchname=$(PKG_ARCH)-linux-thread-multi \
+ -Dpager="/usr/bin/less -isr" \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
- -Dpager="/usr/bin/less -isR" \
- -Dmyhostname=localhost
-Duseshrplib \
-Dusethreads \
-Duseithreads \
-Duselargefiles \
- -Dd_dosuid \
-Dd_semctl_semun \
-Di_db \
-Ui_ndbm \
-Ud_endprotoent_r_proto \
-Ud_setprotoent_r_proto \
-Ud_endservent_r_proto \
- -Ud_setservent_r_proto
+ -Ud_setservent_r_proto \
+ -Dscriptdir="/usr/bin"
cd $(DIR_APP) && make $(PARALLELISMFLAGS)
endef
define STAGE_TEST
cd $(DIR_APP) && make test
endef
+
+define STAGE_INSTALL_CMDS
+ # Remove precreated directories
+ rm -rfv $(BUILDROOT)/usr/local
+endef