Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Carsten Munk
committed
Oct 4, 2011
0 parents
commit a47091d
Showing
14 changed files
with
1,996 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<attributes> | ||
<attribute namespace="Mer" name="MeeGoUpstreamRev"> | ||
<value>ff3d96203c6302aa6b6b3ccacc5adb56</value> | ||
</attribute> | ||
</attributes> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
<package project="Mer:Trunk:Base" name="perl"> | ||
<title>The Perl programming language</title> | ||
<description>Perl is a high-level programming language with roots in C, sed, awk | ||
and shell scripting. Perl is good at handling processes and files, | ||
and is especially good at handling text. Perl's hallmarks are | ||
practicality and efficiency. While it is used to do a lot of | ||
different things, Perl's most common applications are system | ||
administration utilities and web programming. A large proportion of | ||
the CGI scripts on the web are written in Perl. You need the perl | ||
package installed on your system so that your system can handle Perl | ||
scripts. | ||
|
||
Install this package if you want to program in Perl or enable your | ||
system to handle Perl scripts. | ||
|
||
</description> | ||
<url>http://www.perl.org/</url> | ||
</package> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
# Sensible Perl-specific RPM build macros. | ||
# | ||
# Note that these depend on the generic filtering system being in place in | ||
# rpm core; but won't cause a build to fail if they're not present. | ||
# | ||
# Chris Weyl <cweyl@alumni.drew.edu> 2009 | ||
|
||
# This macro unsets several common vars used to control how Makefile.PL (et | ||
# al) build and install packages. We also set a couple to help some of the | ||
# common systems be less interactive. This was blatantly stolen from | ||
# cpanminus, and helps building rpms locally when one makes extensive use of | ||
# local::lib, etc. | ||
# | ||
# Usage, in %build, before "%{__perl} Makefile.PL ..." | ||
# | ||
# %{?perl_ext_env_unset} | ||
|
||
%perl_ext_env_unset %{expand: | ||
unset PERL_MM_OPT MODULEBUILDRC PERL5INC | ||
export PERL_AUTOINSTALL="--defaultdeps" | ||
export PERL_MM_USE_DEFAULT=1 | ||
} | ||
|
||
############################################################################# | ||
# Filtering macro incantations | ||
|
||
# keep track of what "revision" of the filtering we're at. Each time we | ||
# change the filter we should increment this. | ||
|
||
%perl_default_filter_revision 2 | ||
|
||
# By default, for perl packages we want to filter all files in _docdir from | ||
# req/prov scanning, as well as filtering out any provides caused by private | ||
# libs in vendorarch/archlib (vendor/core). | ||
# | ||
# Note that this must be invoked in the spec file, preferably as | ||
# "%{?perl_default_filter}", before any %description block. | ||
|
||
%perl_default_filter %{?filter_setup: %{expand: \ | ||
%filter_provides_in %{perl_vendorarch}/.*\\.so$ \ | ||
%filter_provides_in -P %{perl_archlib}/(?!CORE/libperl).*\\.so$ \ | ||
%filter_from_provides /perl(UNIVERSAL)/d; /perl(DB)/d \ | ||
%filter_provides_in %{_docdir} \ | ||
%filter_requires_in %{_docdir} \ | ||
%filter_setup \ | ||
}} | ||
|
||
############################################################################# | ||
# Macros to assist with generating a "-tests" subpackage in a semi-automatic | ||
# manner. | ||
# | ||
# The following macros are still in a highly experimental stage and users | ||
# should be aware that the interface and behaviour may change. | ||
# | ||
# PLEASE, PLEASE CONDITIONALIZE THESE MACROS IF YOU USE THEM. | ||
# | ||
# See http://gist.github.com/284409 | ||
|
||
# These macros should be invoked as above, right before the first %description | ||
# section, and conditionalized. e.g., for the common case where all our tests | ||
# are located under t/, the correct usage is: | ||
# | ||
# %{?perl_default_subpackage_tests} | ||
# | ||
# If custom files/directories need to be specified, this can be done as such: | ||
# | ||
# %{?perl_subpackage_tests:%perl_subpackage_tests t/ one/ three.sql} | ||
# | ||
# etc, etc. | ||
|
||
%perl_version %(eval "`%{__perl} -V:version`"; echo $version) | ||
%perl_testdir %{_libexecdir}/perl5-tests | ||
%cpan_dist_name %(eval echo %{name} | %{__sed} -e 's/^perl-//') | ||
|
||
# easily mark something as required by -tests and BR to the main package | ||
%tests_req() %{expand:\ | ||
BuildRequires: %*\ | ||
%%tests_subpackage_requires %*\ | ||
} | ||
|
||
# fixup (and create if needed) the shbang lines in tests, so they work and | ||
# rpmlint doesn't (correctly) have a fit | ||
%fix_shbang_line() \ | ||
TMPHEAD=`mktemp`\ | ||
TMPBODY=`mktemp`\ | ||
for file in %* ; do \ | ||
head -1 $file > $TMPHEAD\ | ||
tail -n +2 $file > $TMPBODY\ | ||
%{__perl} -pi -e '$f = /^#!/ ? "" : "#!%{__perl}$/"; $_="$f$_"' $TMPHEAD\ | ||
cat $TMPHEAD $TMPBODY > $file\ | ||
done\ | ||
%{__perl} -MExtUtils::MakeMaker -e "ExtUtils::MM_Unix->fixin(qw{%*})"\ | ||
%{__rm} $TMPHEAD $TMPBODY\ | ||
%{nil} | ||
|
||
# additional -tests subpackage requires, if any | ||
%tests_subpackage_requires() %{expand: \ | ||
%global __tests_spkg_req %{?__tests_spkg_req} %* \ | ||
} | ||
|
||
# additional -tests subpackage provides, if any | ||
%tests_subpackage_provides() %{expand: \ | ||
%global __tests_spkg_prov %{?__tests_spkg_prov} %* \ | ||
} | ||
|
||
# | ||
# Runs after the body of %check completes. | ||
# | ||
|
||
%__perl_check_pre %{expand: \ | ||
%{?__spec_check_pre} \ | ||
pushd %{buildsubdir} \ | ||
%define perl_br_testdir %{buildroot}%{perl_testdir}/%{cpan_dist_name} \ | ||
%{__mkdir_p} %{perl_br_testdir} \ | ||
%{__tar} -cf - %{__perl_test_dirs} | ( cd %{perl_br_testdir} && %{__tar} -xf - ) \ | ||
find . -maxdepth 1 -type f -name '*META*' -exec %{__cp} -vp {} %{perl_br_testdir} ';' \ | ||
find %{perl_br_testdir} -type f -exec %{__chmod} -c -x {} ';' \ | ||
T_FILES=`find %{perl_br_testdir} -type f -name '*.t'` \ | ||
%fix_shbang_line $T_FILES \ | ||
%{__chmod} +x $T_FILES \ | ||
%{_fixperms} %{perl_br_testdir} \ | ||
popd \ | ||
} | ||
|
||
# | ||
# The actual invoked macro | ||
# | ||
|
||
%perl_subpackage_tests() %{expand: \ | ||
%global __perl_package 1\ | ||
%global __perl_test_dirs %* \ | ||
%global __spec_check_pre %{expand:%{__perl_check_pre}} \ | ||
%package tests\ | ||
Summary: Test suite for package %{name}\ | ||
Group: Development/Debug\ | ||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}\ | ||
Requires: /usr/bin/prove \ | ||
%{?__tests_spkg_req:Requires: %__tests_spkg_req}\ | ||
%{?__tests_spkg_prov:Provides: %__tests_spkg_prov}\ | ||
AutoReqProv: 0 \ | ||
%description tests\ | ||
This package provides the test suite for package %{name}.\ | ||
%files tests\ | ||
%defattr(-,root,root,-)\ | ||
%{perl_testdir}\ | ||
} | ||
|
||
# shortcut sugar | ||
%perl_default_subpackage_tests %perl_subpackage_tests t/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
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)" '; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
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, | ||
); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
diff -up perl-5.10.0/Configure.didi perl-5.10.0/Configure | ||
--- perl-5.10.0/Configure.didi 2007-12-18 11:47:07.000000000 +0100 | ||
+++ perl-5.10.0/Configure 2008-07-21 10:51:16.000000000 +0200 | ||
@@ -1327,7 +1327,7 @@ libswanted_uselargefiles='' | ||
: set usesocks on the Configure command line to enable socks. | ||
: List of libraries we want. | ||
: If anyone needs extra -lxxx, put those in a hint file. | ||
-libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun" | ||
+libswanted="sfio socket resolv inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun" | ||
libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" | ||
: We probably want to search /usr/shlib before most other libraries. | ||
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
--- 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
diff -up perl-5.10.0/t/io/fs.t.BAD perl-5.10.0/t/io/fs.t | ||
--- perl-5.10.0/t/io/fs.t.BAD 2008-01-30 13:36:43.000000000 -0500 | ||
+++ perl-5.10.0/t/io/fs.t 2008-01-30 13:41:27.000000000 -0500 | ||
@@ -227,7 +227,7 @@ isnt($atime, 500000000, 'atime'); | ||
isnt($mtime, 500000000 + $delta, 'mtime'); | ||
|
||
SKIP: { | ||
- skip "no futimes", 4 unless ($Config{d_futimes} || "") eq "define"; | ||
+ skip "no futimes", 4; | ||
open(my $fh, "<", 'b'); | ||
$foo = (utime 500000000,500000000 + $delta, $fh); | ||
is($foo, 1, "futime"); |
Oops, something went wrong.