[perl/f20] Create site paths by cpan for the first time
Petr Pisar
ppisar at fedoraproject.org
Thu Oct 30 14:50:28 UTC 2014
commit 0c06d11be56fbc3de83f8cd45bfd0bffb7df7de8
Author: Petr Písař <ppisar at redhat.com>
Date: Thu Oct 30 15:31:16 2014 +0100
Create site paths by cpan for the first time
...reate-site-library-directories-on-first-t.patch | 51 ++++++++++++++++++++
perl.spec | 10 ++++-
2 files changed, 60 insertions(+), 1 deletions(-)
---
diff --git a/perl-5.18.4-CPAN-Attemp-to-create-site-library-directories-on-first-t.patch b/perl-5.18.4-CPAN-Attemp-to-create-site-library-directories-on-first-t.patch
new file mode 100644
index 0000000..5856777
--- /dev/null
+++ b/perl-5.18.4-CPAN-Attemp-to-create-site-library-directories-on-first-t.patch
@@ -0,0 +1,51 @@
+From 1f6def664f288efbab2b3027ce56d5bbf795fdc6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Thu, 30 Oct 2014 13:19:16 +0100
+Subject: [PATCH] Attemp to create site library directories on first time
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some vendors configures site library directories into /usr/local, but
+they do not provide the directory on their systems because an
+administrator can have a read-only network-mounted file system there.
+
+When running CPAN for the first time, CPAN cannot find the site
+directories and falls back to local::lib. To restore the user
+expectations with writable /usr/local, this patch tries to create the
+missing directories before checking for their presents.
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+
+diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
+index b099b04..3475368 100644
+--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
++++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
+@@ -2010,6 +2010,24 @@ sub _print_urllist {
+ }
+
+ sub _can_write_to_libdirs {
++ for ($Config{installsitelib}, $Config{installsitearch}) {
++ if (!-d $_) {
++ $CPAN::Frontend->mywarn(sprintf(
++ qq{Perl site library directory "%s" does not exist.\n},
++ $_));
++ File::Path::make_path($_, { error => \my $failure });
++ if (@$failure) {
++ $CPAN::Frontend->mywarn(sprintf(
++ qq{Perl site library directory "%s" } .
++ qq{could not been created: %s.\n},
++ $_, ${$$failure[0]}{$_}));
++ } else {
++ $CPAN::Frontend->mywarn(sprintf(
++ qq{Perl site library directory "%s" created.\n},
++ $_));
++ }
++ }
++ }
+ return -w $Config{installprivlib}
+ && -w $Config{installarchlib}
+ && -w $Config{installsitelib}
+--
+1.9.3
+
diff --git a/perl.spec b/perl.spec
index ba09a53..630b198 100644
--- a/perl.spec
+++ b/perl.spec
@@ -31,7 +31,7 @@
Name: perl
Version: %{perl_version}
# release number must be even higher, because dual-lived modules will be broken otherwise
-Release: 290%{?dist}
+Release: 291%{?dist}
Epoch: %{perl_epoch}
Summary: Practical Extraction and Report Language
Group: Development/Languages
@@ -114,6 +114,9 @@ Patch20: perl-5.19.3-Reap-child-in-case-where-exception-has-been-thrown.p
# Update the upstream patch to work for Perl 5.18.1
Patch21: perl-5.19.2-Fix-using-regexes-with-multiple-code-blocks.patch
+# Create site paths by cpan for the first time, bug #1132321, CPAN RT#99905
+Patch22: perl-5.18.4-CPAN-Attemp-to-create-site-library-directories-on-first-t.patch
+
# Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048
Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch
@@ -1905,6 +1908,7 @@ tarball from perl.org.
%patch19 -p1
%patch20 -p1
%patch21 -p1
+%patch22 -p1
%patch200 -p1
%patch201 -p1
@@ -1930,6 +1934,7 @@ perl -x patchlevel.h \
'Fedora Patch19: Fix coreamp.t rand test (RT#118237)' \
'Fedora Patch20: Reap child in case where exception has been thrown (RT#114722)' \
'Fedora Patch21: Fix using regular expressions containing multiple code blocks (RT#117917)' \
+ 'Fedora Patch22: Create site paths by cpan for the first time (CPAN RT#99905)' \
'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \
'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \
%{nil}
@@ -3616,6 +3621,9 @@ sed \
# Old changelog entries are preserved in CVS.
%changelog
+* Thu Oct 30 2014 Petr Pisar <ppisar at redhat.com> - 4:5.18.4-291
+- Create site paths by cpan for the first time (bug #1132321)
+
* Fri Oct 03 2014 Jitka Plesnikova <jplesnik at redhat.com> - 4:5.18.4-290
- 5.18.4 bump (see <http://search.cpan.org/dist/perl-5.18.4/pod/perldelta.pod>
for release notes)
More information about the perl-devel
mailing list