diff --git a/ExtUtils-MakeMaker-7.04-Unbundle-version.patch b/ExtUtils-MakeMaker-7.04-Unbundle-version.patch deleted file mode 100644 index 9f5a73b..0000000 --- a/ExtUtils-MakeMaker-7.04-Unbundle-version.patch +++ /dev/null @@ -1,29 +0,0 @@ -From dd4d8926703b8be0e94aae15a5d574992be20dbe Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Mon, 27 Oct 2014 16:11:38 +0100 -Subject: [PATCH] Unbundle version -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - lib/ExtUtils/MakeMaker.pm | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm -index 1a5f045..71c3751 100644 ---- a/lib/ExtUtils/MakeMaker.pm -+++ b/lib/ExtUtils/MakeMaker.pm -@@ -7,7 +7,7 @@ BEGIN {require 5.006;} - - require Exporter; - use ExtUtils::MakeMaker::Config; --use ExtUtils::MakeMaker::version; # ensure we always have our fake version.pm -+use version; # ensure we always have version.pm - use Carp; - use File::Path; - my $CAN_DECODE = eval { require ExtUtils::MakeMaker::Locale; }; # 2 birds, 1 stone --- -1.9.3 - diff --git a/ExtUtils-MakeMaker-7.11-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch b/ExtUtils-MakeMaker-7.11-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch deleted file mode 100644 index d7d92c1..0000000 --- a/ExtUtils-MakeMaker-7.11-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch +++ /dev/null @@ -1,110 +0,0 @@ -From e6cefdf6744b6068273a7f24956bb20fe82d4007 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Mon, 18 Apr 2016 14:46:20 +0200 -Subject: [PATCH] Provide ExtUtils::MM methods as standalone - ExtUtils::MM::Utils -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If you cannot afford depending on ExtUtils::MakeMaker, you can -depend on ExtUtils::MM::Utils instead. - - - -Signed-off-by: Petr Písař ---- - MANIFEST | 1 + - lib/ExtUtils/MM/Utils.pm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 69 insertions(+) - create mode 100644 lib/ExtUtils/MM/Utils.pm - -diff --git a/MANIFEST b/MANIFEST -index 452c152..6d05775 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -41,6 +41,7 @@ lib/ExtUtils/MakeMaker/version/vpp.pm - lib/ExtUtils/Mkbootstrap.pm - lib/ExtUtils/Mksymlists.pm - lib/ExtUtils/MM.pm -+lib/ExtUtils/MM/Utils.pm - lib/ExtUtils/MM_AIX.pm - lib/ExtUtils/MM_Any.pm - lib/ExtUtils/MM_BeOS.pm -diff --git a/lib/ExtUtils/MM/Utils.pm b/lib/ExtUtils/MM/Utils.pm -new file mode 100644 -index 0000000..6bbc0d8 ---- /dev/null -+++ b/lib/ExtUtils/MM/Utils.pm -@@ -0,0 +1,68 @@ -+package ExtUtils::MM::Utils; -+ -+require 5.006; -+ -+use strict; -+use vars qw($VERSION); -+$VERSION = '7.11_06'; -+$VERSION = eval $VERSION; ## no critic [BuiltinFunctions::ProhibitStringyEval] -+ -+=head1 NAME -+ -+ExtUtils::MM::Utils - ExtUtils::MM methods without dependency on ExtUtils::MakeMaker -+ -+=head1 SYNOPSIS -+ -+ require ExtUtils::MM::Utils; -+ MM->maybe_command($file); -+ -+=head1 DESCRIPTION -+ -+This is a collection of L subroutines that are used by many -+other modules but that do not need full-featured L. The -+issue with L is it pulls in Perl header files and that is -+an overkill for small subroutines. -+ -+An example is the L that caused installing GCC just because of -+three-line I from L. -+ -+The intentions is to use L instead of -+L for these trivial methods. You can still call them via -+L class name. -+ -+=head1 METHODS -+ -+=over 4 -+ -+=item maybe_command -+ -+Returns true, if the argument is likely to be a command. -+ -+=cut -+ -+if (!exists $INC{'ExtUtils/MM.pm'}) { -+ *MM::maybe_command = *ExtUtils::MM::maybe_command = \&maybe_command; -+} -+ -+sub maybe_command { -+ my($self,$file) = @_; -+ return $file if -x $file && ! -d $file; -+ return; -+} -+ -+1; -+ -+=back -+ -+=head1 BUGS -+ -+These methods are copied from L. Other operating systems -+are not supported yet. The reason is this -+L. -+ -+=head1 SEE ALSO -+ -+L, L -+ -+=cut --- -2.5.5 - diff --git a/ExtUtils-MakeMaker-7.22-Unbundle-Encode-Locale.patch b/ExtUtils-MakeMaker-7.22-Unbundle-Encode-Locale.patch deleted file mode 100644 index 439488b..0000000 --- a/ExtUtils-MakeMaker-7.22-Unbundle-Encode-Locale.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 04664fb41a3eaa5bc688c4095107486f8c6d2f4c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Mon, 27 Oct 2014 16:55:18 +0100 -Subject: [PATCH] Unbundle Encode::Locale -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Petr Písař ---- - lib/ExtUtils/MakeMaker.pm | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm -index 04ec5a3..759c079 100644 ---- a/lib/ExtUtils/MakeMaker.pm -+++ b/lib/ExtUtils/MakeMaker.pm -@@ -10,8 +10,8 @@ use ExtUtils::MakeMaker::Config; - use version; # ensure we always have version.pm - use Carp; - use File::Path; --my $CAN_DECODE = eval { require ExtUtils::MakeMaker::Locale; }; # 2 birds, 1 stone --eval { ExtUtils::MakeMaker::Locale::reinit('UTF-8') } -+my $CAN_DECODE = eval { require Encode::Locale; }; # 2 birds, 1 stone -+eval { Encode::Locale::reinit('UTF-8') } - if $CAN_DECODE and Encode::find_encoding('locale')->name eq 'ascii'; - - our $Verbose = 0; # exported --- -1.9.3 - diff --git a/ExtUtils-MakeMaker-7.30-USE_MM_LD_RUN_PATH.patch b/ExtUtils-MakeMaker-7.30-USE_MM_LD_RUN_PATH.patch deleted file mode 100644 index 7a56c3f..0000000 --- a/ExtUtils-MakeMaker-7.30-USE_MM_LD_RUN_PATH.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 83b4921f10f9df96ec359e20489864080f7b37ca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Thu, 12 Jan 2012 17:05:19 +0100 -Subject: [PATCH] Do not set RPATH by default -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Former behavior can be forced by setting USE_MM_LD_RUN_PATH -environment variable to 1. - -This is copy from `perl' package. -See . - -Signed-off-by: Petr Písař ---- - lib/ExtUtils/Liblist.pm | 5 +++++ - lib/ExtUtils/MM_Unix.pm | 2 +- - lib/ExtUtils/MakeMaker.pm | 56 ++++++++++++++++++++++++++++++++++++++++++++++- - 3 files changed, 61 insertions(+), 2 deletions(-) - -diff --git a/lib/ExtUtils/Liblist.pm b/lib/ExtUtils/Liblist.pm -index 15eed3c..219e96b 100644 ---- a/lib/ExtUtils/Liblist.pm -+++ b/lib/ExtUtils/Liblist.pm -@@ -89,6 +89,11 @@ libraries. LD_RUN_PATH is a colon separated list of the directories - 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 --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm -index 6233513..198f05e 100644 ---- a/lib/ExtUtils/MM_Unix.pm -+++ b/lib/ExtUtils/MM_Unix.pm -@@ -1045,7 +1045,7 @@ sub xs_make_dynamic_lib { - } - - 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)" '; - } - -diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm -index 3d4913e..b52c96d 100644 ---- a/lib/ExtUtils/MakeMaker.pm -+++ b/lib/ExtUtils/MakeMaker.pm -@@ -317,7 +317,7 @@ sub full_setup { - PERM_DIR PERM_RW PERM_RWX MAGICXS - PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE - PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ -- SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS -+ SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS - XSBUILD XSMULTI XSOPT XSPROTOARG XS_VERSION - clean depend dist dynamic_lib linkext macro realclean tool_autosplit - -@@ -503,6 +503,26 @@ sub new { - $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 "MakeMaker (v$VERSION)\n" if $Verbose; - if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){ - check_manifest(); -@@ -2797,6 +2817,40 @@ precedence. A typemap in the current directory has highest - 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. --- -2.13.6 - diff --git a/ExtUtils-MakeMaker-7.34.tar.gz b/ExtUtils-MakeMaker-7.34.tar.gz deleted file mode 100644 index fe4af16..0000000 Binary files a/ExtUtils-MakeMaker-7.34.tar.gz and /dev/null differ diff --git a/ExtUtils-MakeMaker-7.42.tar.gz b/ExtUtils-MakeMaker-7.42.tar.gz new file mode 100644 index 0000000..16da8af Binary files /dev/null and b/ExtUtils-MakeMaker-7.42.tar.gz differ diff --git a/disable-rpath-by-default.patch b/disable-rpath-by-default.patch new file mode 100644 index 0000000..a9aebc3 --- /dev/null +++ b/disable-rpath-by-default.patch @@ -0,0 +1,26 @@ +From d3efad7bae3e75125b1d4e387dffbd6260dc9abd Mon Sep 17 00:00:00 2001 +From: openeuler-basic +Date: Fri, 3 Jan 2020 11:28:25 +0800 +Subject: [PATCH] disable rpath by default + +--- + lib/ExtUtils/MM_Unix.pm | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm +index 6c5c63e..411cdbb 100644 +--- a/lib/ExtUtils/MM_Unix.pm ++++ b/lib/ExtUtils/MM_Unix.pm +@@ -1076,9 +1076,6 @@ sub xs_make_dynamic_lib { + } + + my $ld_run_path_shell = ""; +- if ($self->{LD_RUN_PATH} ne "") { +- $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" '; +- } + + push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist; + %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \ +-- +1.8.3.1 + diff --git a/perl-ExtUtils-MakeMaker.spec b/perl-ExtUtils-MakeMaker.spec index eb45ff0..4c99c94 100644 --- a/perl-ExtUtils-MakeMaker.spec +++ b/perl-ExtUtils-MakeMaker.spec @@ -1,17 +1,17 @@ Name: perl-ExtUtils-MakeMaker Epoch: 1 -Version: 7.34 -Release: 421 +Version: 7.42 +Release: 1 Summary: Create Makefile License: Artistic or GPL+ URL: https://metacpan.org/release/ExtUtils-MakeMaker Source0: https://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-%{version}.tar.gz -Patch0000: ExtUtils-MakeMaker-7.30-USE_MM_LD_RUN_PATH.patch -Patch0001: ExtUtils-MakeMaker-7.30-Link-to-libperl-explicitly-on-Linux.patch -Patch0002: ExtUtils-MakeMaker-7.04-Unbundle-version.patch -Patch0003: ExtUtils-MakeMaker-7.22-Unbundle-Encode-Locale.patch -Patch0004: ExtUtils-MakeMaker-7.11-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch +Patch0: disable-rpath-by-default.patch +Patch1: ExtUtils-MakeMaker-7.30-Link-to-libperl-explicitly-on-Linux.patch + +Provides:perl-ExtUtils-MM-Utils = %{version}-%{release} +Obsoletes:perl-ExtUtils-MM-Utils < %{version}-%{release} BuildArch: noarch BuildRequires: coreutils, make, sed, perl-generators, perl-interpreter, perl(Carp), perl(Config), perl(Cwd), perl(Encode), perl(Exporter), git @@ -48,17 +48,6 @@ All inputs to WriteMakefile are Unicode characters, not just octets. EUMM seeks It is currently still not possible to portably use Unicode characters in module names, because this requires Perl to handle Unicode filenames, which is not yet the case on Windows. -%package -n perl-ExtUtils-MM-Utils -Summary: ExtUtils::MM is a subclass of ExtUtils::MakeMaker -License: Artistic or GPL+ -BuildArch: noarch -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) - -%description -n perl-ExtUtils-MM-Utils -ExtUtils::MM is a subclass of ExtUtils::MakeMaker which automatically chooses the appropriate OS specific subclass for you (ie. ExtUils::MM_Unix, etc...). -It also provides a convenient alias via the MM class (I didn't want MakeMaker modules outside of ExtUtils/). -This class might turn out to be a temporary solution, but MM won't go away. - %package -n perl-ExtUtils-Command Summary: Utilities to replace common UNIX commands in Makefiles License: Artistic or GPL+ @@ -74,15 +63,6 @@ This makes them easier to deal with in Makefiles. %prep %autosetup -n ExtUtils-MakeMaker-%{version} -p1 -Sgit -rm -rf t/lib/Test -rm -rf bundled -rm -rf lib/ExtUtils/MakeMaker/Locale.pm -rm -rf lib/ExtUtils/MakeMaker/version{,.pm} -sed -i -e '/^t\/lib\/Test\// d' MANIFEST -sed -i -e '/^bundled\// d' MANIFEST -sed -i -e '/^lib\/ExtUtils\/MakeMaker\/Locale\.pm/ d' MANIFEST -sed -i -e '/^lib\/ExtUtils\/MakeMaker\/version[\/\.]/ d' MANIFEST - %build export BUILDING_AS_PACKAGE=1 %{__perl} Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 @@ -99,23 +79,23 @@ make test %doc CONTRIBUTING README %{perl_vendorlib}/* %{_bindir}/* -%exclude %dir %{perl_vendorlib}/ExtUtils/MM %exclude %{perl_vendorlib}/ExtUtils/Command.pm %files -n perl-ExtUtils-Command %dir %{perl_vendorlib}/ExtUtils %{perl_vendorlib}/ExtUtils/Command.pm -%files -n perl-ExtUtils-MM-Utils -%dir %{perl_vendorlib}/ExtUtils -%dir %{perl_vendorlib}/ExtUtils/MM -%{perl_vendorlib}/ExtUtils/MM/Utils.pm - %files help %{_mandir}/man1/* %{_mandir}/man3/* %changelog +* Thu Jan 2 2020 openEuler Buildteam - 1:7.42-1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:update to 7.42 + * Sun Sep 29 2019 openEuler Buildteam - 1.7.34-421 - Type:enhancement - ID:NA