Provide MM::maybe_command independently
We do not insert perl-ExtUtils-MM-Utils into perl-core because this is not a core module. It's a Fedora extension. Run regen/lib_cleanup.pl to regenerate Makefile.SH and other scripts to pass porting/regen.t because of addedd ExtUtils/MakeMaker/MM/Utils.pm file.
This commit is contained in:
parent
1eda1fc7e8
commit
df7d75b0c2
@ -0,0 +1,110 @@
|
||||
From 9575301256f67116eccdbb99b38fc804ba3dcf53 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Mon, 18 Apr 2016 16:24:03 +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.
|
||||
|
||||
<https://bugzilla.redhat.com/show_bug.cgi?id=1129443>
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
MANIFEST | 1 +
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm | 68 ++++++++++++++++++++++++
|
||||
2 files changed, 69 insertions(+)
|
||||
create mode 100644 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm
|
||||
|
||||
diff --git a/MANIFEST b/MANIFEST
|
||||
index 6af238c..d4f0c56 100644
|
||||
--- a/MANIFEST
|
||||
+++ b/MANIFEST
|
||||
@@ -1045,6 +1045,7 @@ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm MakeMaker methods for OS/2
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm MakeMaker adaptor class
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm MakeMaker methods for QNX
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm MakeMaker methods for Unix
|
||||
+cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm Independed MM methods
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm MakeMaker methods for U/WIN
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm MakeMaker methods for VMS
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm MakeMaker methods for VOS
|
||||
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM/Utils.pm
|
||||
new file mode 100644
|
||||
index 0000000..6bbc0d8
|
||||
--- /dev/null
|
||||
+++ b/cpan/ExtUtils-MakeMaker/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<ExtUtils::MM> subroutines that are used by many
|
||||
+other modules but that do not need full-featured L<ExtUtils::MakeMaker>. The
|
||||
+issue with L<ExtUtils::MakeMaker> is it pulls in Perl header files and that is
|
||||
+an overkill for small subroutines.
|
||||
+
|
||||
+An example is the L<IPC::Cmd> that caused installing GCC just because of
|
||||
+three-line I<maybe_command()> from L<ExtUtils::MM_Unix>.
|
||||
+
|
||||
+The intentions is to use L<ExtUtils::MM::Utils> instead of
|
||||
+L<ExtUtils::MakeMaker> for these trivial methods. You can still call them via
|
||||
+L<MM> 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<ExtUtils::MM_Unix>. Other operating systems
|
||||
+are not supported yet. The reason is this
|
||||
+L<a hack for Linux
|
||||
+distributions|https://bugzilla.redhat.com/show_bug.cgi?id=1129443>.
|
||||
+
|
||||
+=head1 SEE ALSO
|
||||
+
|
||||
+L<ExtUtils::MakeMaker>, L<ExtUtils::MM>
|
||||
+
|
||||
+=cut
|
||||
--
|
||||
2.5.5
|
||||
|
47
perl.spec
47
perl.spec
@ -62,6 +62,9 @@ Patch4: perl-5.10.0-libresolv.patch
|
||||
# patches ExtUtils-MakeMaker
|
||||
Patch5: perl-USE_MM_LD_RUN_PATH.patch
|
||||
|
||||
# Provide maybe_command independently, bug #1129443
|
||||
Patch6: perl-5.22.1-Provide-ExtUtils-MM-methods-as-standalone-ExtUtils-M.patch
|
||||
|
||||
# The Fedora builders started randomly failing this futime test
|
||||
# only on x86_64, so we just don't run it. Works fine on normal
|
||||
# systems.
|
||||
@ -1078,6 +1081,20 @@ reference to a scalar it is used as the filename to open for ouput. Any other
|
||||
reference is used as the filehandle to write to. Otherwise output defaults to
|
||||
STDOUT.
|
||||
|
||||
%if %{dual_life} || %{rebuild_from_scratch}
|
||||
%package -n perl-ExtUtils-MM-Utils
|
||||
Summary: ExtUtils::MM methods without dependency on ExtUtils::MakeMaker
|
||||
License: GPL+ or Artistic
|
||||
Group: Development/Libraries
|
||||
BuildArch: noarch
|
||||
Requires: %perl_compat
|
||||
|
||||
%description -n perl-ExtUtils-MM-Utils
|
||||
This is a collection of ExtUtils::MM subroutines that are used by many
|
||||
other modules but that do not need full-featured ExtUtils::MakeMaker. The
|
||||
issue with ExtUtils::MakeMaker is it pulls in Perl header files and that
|
||||
is an overkill for small subroutines.
|
||||
%endif
|
||||
|
||||
%if %{dual_life} || %{rebuild_from_scratch}
|
||||
%package ExtUtils-ParseXS
|
||||
@ -2358,6 +2375,7 @@ Perl extension for Version Objects
|
||||
%endif
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch15 -p1
|
||||
@ -2379,7 +2397,7 @@ perl -x patchlevel.h \
|
||||
%endif \
|
||||
'Fedora Patch4: use libresolv instead of libbind' \
|
||||
'Fedora Patch5: USE_MM_LD_RUN_PATH' \
|
||||
'Fedora Patch6: Skip hostname tests, due to builders not being network capable' \
|
||||
'Fedora Patch6: Provide MM::maybe_command independently (bug #1129443)' \
|
||||
'Fedora Patch7: Dont run one io test due to random builder failures' \
|
||||
'Fedora Patch15: Define SONAME for libperl.so' \
|
||||
'Fedora Patch16: Install libperl.so to -Dshrpdir value' \
|
||||
@ -2646,6 +2664,7 @@ sed \
|
||||
# lib/perl5db.t will fail if Term::ReadLine::Gnu is available
|
||||
%check
|
||||
%if %{with test}
|
||||
%{new_perl} -I/lib regen/lib_cleanup.pl
|
||||
pushd t
|
||||
%{new_perl} -I../lib porting/customized.t --regen
|
||||
popd
|
||||
@ -2961,7 +2980,8 @@ popd
|
||||
%exclude %{privlib}/ExtUtils/Liblist.pm
|
||||
%exclude %{privlib}/ExtUtils/MakeMaker
|
||||
%exclude %{privlib}/ExtUtils/MakeMaker.pm
|
||||
%exclude %{privlib}/ExtUtils/MM*.pm
|
||||
%exclude %{privlib}/ExtUtils/MM.pm
|
||||
%exclude %{privlib}/ExtUtils/MM_*.pm
|
||||
%exclude %{privlib}/ExtUtils/MY.pm
|
||||
%exclude %{privlib}/ExtUtils/Mkbootstrap.pm
|
||||
%exclude %{privlib}/ExtUtils/Mksymlists.pm
|
||||
@ -2969,7 +2989,8 @@ popd
|
||||
%exclude %{_mandir}/man1/instmodsh.1*
|
||||
%exclude %{_mandir}/man3/ExtUtils::Command::MM*
|
||||
%exclude %{_mandir}/man3/ExtUtils::Liblist.3*
|
||||
%exclude %{_mandir}/man3/ExtUtils::MM*
|
||||
%exclude %{_mandir}/man3/ExtUtils::MM.3*
|
||||
%exclude %{_mandir}/man3/ExtUtils::MM_*
|
||||
%exclude %{_mandir}/man3/ExtUtils::MY.3*
|
||||
%exclude %{_mandir}/man3/ExtUtils::MakeMaker*
|
||||
%exclude %{_mandir}/man3/ExtUtils::Mkbootstrap.3*
|
||||
@ -2980,6 +3001,11 @@ popd
|
||||
%exclude %{privlib}/ExtUtils/Miniperl.pm
|
||||
%exclude %{_mandir}/man3/ExtUtils::Miniperl.3*
|
||||
|
||||
# ExtUtils-MM-Utils
|
||||
%exclude %dir %{privlib}/ExtUtils/MM
|
||||
%exclude %{privlib}/ExtUtils/MM/Utils.pm
|
||||
%exclude %{_mandir}/man3/ExtUtils::MM::Utils.*
|
||||
|
||||
# ExtUtils-ParseXS
|
||||
%exclude %dir %{privlib}/ExtUtils/ParseXS
|
||||
%exclude %{privlib}/ExtUtils/ParseXS.pm
|
||||
@ -3903,7 +3929,8 @@ popd
|
||||
%{privlib}/ExtUtils/Liblist.pm
|
||||
%{privlib}/ExtUtils/MakeMaker
|
||||
%{privlib}/ExtUtils/MakeMaker.pm
|
||||
%{privlib}/ExtUtils/MM*.pm
|
||||
%{privlib}/ExtUtils/MM.pm
|
||||
%{privlib}/ExtUtils/MM_*.pm
|
||||
%{privlib}/ExtUtils/MY.pm
|
||||
%{privlib}/ExtUtils/Mkbootstrap.pm
|
||||
%{privlib}/ExtUtils/Mksymlists.pm
|
||||
@ -3911,7 +3938,8 @@ popd
|
||||
%{_mandir}/man1/instmodsh.1*
|
||||
%{_mandir}/man3/ExtUtils::Command::MM*
|
||||
%{_mandir}/man3/ExtUtils::Liblist.3*
|
||||
%{_mandir}/man3/ExtUtils::MM*
|
||||
%{_mandir}/man3/ExtUtils::MM.3*
|
||||
%{_mandir}/man3/ExtUtils::MM_*
|
||||
%{_mandir}/man3/ExtUtils::MY.3*
|
||||
%{_mandir}/man3/ExtUtils::MakeMaker*
|
||||
%{_mandir}/man3/ExtUtils::Mkbootstrap.3*
|
||||
@ -3924,6 +3952,14 @@ popd
|
||||
%{privlib}/ExtUtils/Miniperl.pm
|
||||
%{_mandir}/man3/ExtUtils::Miniperl.3*
|
||||
|
||||
%if %{dual_life} || %{rebuild_from_scratch}
|
||||
%files ExtUtils-MM-Utils
|
||||
%dir %{privlib}/ExtUtils
|
||||
%dir %{privlib}/ExtUtils/MM
|
||||
%{privlib}/ExtUtils/MM/Utils.pm
|
||||
%{_mandir}/man3/ExtUtils::MM::Utils.*
|
||||
%endif
|
||||
|
||||
%if %{dual_life} || %{rebuild_from_scratch}
|
||||
%files ExtUtils-ParseXS
|
||||
%dir %{privlib}/ExtUtils
|
||||
@ -4645,6 +4681,7 @@ popd
|
||||
(bug #1129443)
|
||||
- Remove perl-ExtUtils-ParseXS dependency on perl-devel (bug #1129443)
|
||||
- Require perl-devel by perl-ExtUtils-MakeMaker
|
||||
- Provide MM::maybe_command independently (bug #1129443)
|
||||
|
||||
* Tue Mar 15 2016 Petr Pisar <ppisar@redhat.com> - 4:5.22.1-359
|
||||
- Do not filter FCGI dependency, CGI is non-core now
|
||||
|
Loading…
Reference in New Issue
Block a user