aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2015-06-17 00:19:42 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-01 15:38:20 +0100
commit06d43a90acbe63baea62d220659149a3ff2f9198 (patch)
tree7bc9adc24b74694192fba12119e87b0d86521fb5 /meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff
parenteb54c29d0566e01c287bdccbdb26c188aac66033 (diff)
downloadopenembedded-core-contrib-06d43a90acbe63baea62d220659149a3ff2f9198.tar.gz
perl: 5.20.0 -> 5.22.0
* Remove: - perl-5.14.3-fix-CVE-2010-4777.patch: backport - fix-FF_MORE-crash.patch: backport - perl-rprovides.inc: it was introduced by 5.8.7, the lines in it are like: RPROVIDES_perl-module-b-asmdata = "perl-module-${TARGET_SYS}-b-asmdata" If some packages do RPDEND on something like perl-module-${TARGET_SYS}-b-asmdatam, we need update the package rather than keep use RPROVIDES in perl-rprovides.inc, so remove it. - perl-rprovides_5.20.0.inc: it only has one line: RPROVIDES_perl-module-module-build, but the perl-module-module-build is gone in 5.22.0, so remove it. * Update: - debian patches from http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.20.0-1.debian.tar.xz - Makefile.SH.patch - Merge 0001-Makefile.SH-fix-do_install-failed.patch into Makefile.SH.patch - native-nopacklist.patch - config.sh * The CGI.pm and Module::Build disappear from core, so no perl-module-module-build.rpm any more, more info: http://perltricks.com/article/165/2015/4/10/A-preview-of-Perl-5-22 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Diffstat (limited to 'meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff')
-rw-r--r--meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff62
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff b/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff
new file mode 100644
index 0000000000..a63b968317
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl/debian/cpan-missing-site-dirs.diff
@@ -0,0 +1,62 @@
+From d33d46963035ef726144dc66be2ae9c00aec0333 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Tue, 16 Oct 2012 23:07:56 +0300
+Subject: Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent
+ is writable
+
+The site directories do not exist on a typical Debian system. The build
+systems will create them when necessary, so there's no need for a prompt
+suggesting local::lib if the first existing parent directory is writable.
+
+Also, writability of the core directories is not interesting as we
+explicitly tell CPAN not to touch those with INSTALLDIRS=site.
+
+Bug-Debian: http://bugs.debian.org/688842
+Patch-Name: debian/cpan-missing-site-dirs.diff
+---
+ cpan/CPAN/lib/CPAN/FirstTime.pm | 31 +++++++++++++++++++++++++++----
+ 1 file changed, 27 insertions(+), 4 deletions(-)
+
+diff --git a/cpan/CPAN/lib/CPAN/FirstTime.pm b/cpan/CPAN/lib/CPAN/FirstTime.pm
+index 33054cd..7b0becf 100644
+--- a/cpan/CPAN/lib/CPAN/FirstTime.pm
++++ b/cpan/CPAN/lib/CPAN/FirstTime.pm
+@@ -2057,11 +2057,34 @@ sub _print_urllist {
+ };
+ }
+
++# Debian modification: return true if this directory
++# or the first existing one upwards is writable
++sub _can_write_to_this_or_parent {
++ my ($dir) = @_;
++ my @parts = File::Spec->splitdir($dir);
++ while (@parts) {
++ my $cur = File::Spec->catdir(@parts);
++ return 1 if -w $cur;
++ return 0 if -e _;
++ pop @parts;
++ }
++ return 0;
++}
++
++# Debian specific modification: the site directories don't necessarily
++# exist on the system, but the build systems create them when necessary,
++# so return true if the first existing directory upwards is writable
++#
++# Furthermore, on Debian, only test the site directories
++# (installsite*, expanded to /usr/local/{share,lib}/perl),
++# not the core ones
++# (install*lib, expanded to /usr/{share,lib}/perl).
++# We pass INSTALLDIRS=site by default to keep CPAN from touching
++# the core directories.
++
+ sub _can_write_to_libdirs {
+- return -w $Config{installprivlib}
+- && -w $Config{installarchlib}
+- && -w $Config{installsitelib}
+- && -w $Config{installsitearch}
++ return _can_write_to_this_or_parent($Config{installsitelib})
++ && _can_write_to_this_or_parent($Config{installsitearch})
+ }
+
+ sub _using_installbase {