Files
poky/meta/recipes-devtools/perl/perl-5.20.0/debian/mod_paths.diff
Hongxu Jia e73deac6dc perl, perl-native, perl-ptest: upgrade from 5.14.3 to 5.20.0
Changed:

- The Copying has no change, except the company address.

- pick patches from debian
  http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.20.0-1.debian.tar.xz
  - Not used by oe:
    deprecate-with-apt.diff
    patchlevel.diff
    fakeroot.diff

- Create/Update perl-rdepends_${PV}.inc by the hardcode script;

- Update config.sh by:
  1) Copy the Perl 5.20.0 source code onto your TARGET machine
    linux qemuarm 3.14.5-yocto-standard from OE-Core rev:
    f506d0660c9949485268a92724ac770b5457b0ca
  2) Execute sh Configure as normal and configure as required,
     do not "make";
  3) Compare with the old config.sh files, and update;

- perl-ptest.inc
  1) Copy the souce code to ptest since almost 112 test cases
     failed with the reason that no souce code found;
  2) Add two patches to fix test case issue;

- perl-native
  Reference perl (5.20.0-1) in debian to update perl shared library headers
  https://packages.debian.org/experimental/i386/perl/filelist

Obsolete:

- 09_fix_installperl.patch
  The dead code was removed from installperl
  http://perl5.git.perl.org/perl.git/commit/236818e0b9d9fe874831086b4d0b94dc6f245dfd

- perl-build-in-t-dir.patch
  The upstream has fix it. The issue description:
  Perl cannot cross build in a path containing a directory that has the
  name of "t".  As an example, you can make the perl build fail with
  "mkdir -p /tmp/build/t", go to the directory, unpack the sources,
  configure and cross build.

- 0001-Fix-misparsing-of-maketext-strings.patch
  as they are part of the upstream code now:
  http://perl5.git.perl.org/perl.git/commit/1735f6f53ca19f99c6e9e39496c486af323ba6a8

- 0001-Prevent-premature-hsplit-calls-and-only-trigger-REHA.patch
  the hash function changed:
  http://perl5.git.perl.org/perl.git/commit/7dc8663964c66a698d31bbdc8e8abed69bddeec3

(From OE-Core rev: c7ac82415efc42ff7a93c6df163f88f2dde00d26)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-08 11:20:12 +01:00

100 lines
2.8 KiB
Diff

From f994a741e51287494ed62b10738be6856aadce71 Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Fri, 18 Mar 2005 22:22:25 +1100
Subject: Tweak @INC ordering for Debian
Our order is:
etc (for config files)
site (5.8.1)
vendor (all)
core (5.8.1)
site (version-indep)
site (pre-5.8.1)
The rationale being that an admin (via site), or module packager
(vendor) can chose to shadow core modules when there is a newer
version than is included in core.
Patch-Name: debian/mod_paths.diff
---
perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/perl.c b/perl.c
index 27d0d9e..1fe2f1c 100644
--- a/perl.c
+++ b/perl.c
@@ -4367,6 +4367,11 @@ S_init_perllib(pTHX)
INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
#endif
+#ifdef DEBIAN
+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/etc/perl"), 0x0);
+#endif
+
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
@@ -4484,6 +4489,59 @@ S_init_perllib(pTHX)
INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
#endif
+#ifdef DEBIAN
+ /* Non-versioned site directory for local modules and for
+ compatability with the previous packages' site dirs */
+ S_incpush_use_sep(aTHX_ STR_WITH_LEN("/usr/local/lib/site_perl"),
+ INCPUSH_ADD_SUB_DIRS);
+
+#ifdef PERL_INC_VERSION_LIST
+ {
+ struct stat s;
+
+ /* add small buffer in case old versions are longer than the
+ current version */
+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
+ char const *vers[] = { PERL_INC_VERSION_LIST };
+ char const **p;
+
+ char *arch_vers = strrchr(sitearch, '/');
+ char *lib_vers = strrchr(sitelib, '/');
+
+ if (arch_vers && isdigit(*++arch_vers))
+ *arch_vers = 0;
+ else
+ arch_vers = 0;
+
+ if (lib_vers && isdigit(*++lib_vers))
+ *lib_vers = 0;
+ else
+ lib_vers = 0;
+
+ /* there is some duplication here as incpush does something
+ similar internally, but required as sitearch is not a
+ subdirectory of sitelib */
+ for (p = vers; *p; p++)
+ {
+ if (arch_vers)
+ {
+ strcpy(arch_vers, *p);
+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
+ S_incpush_use_sep(aTHX_ sitearch, strlen(sitearch), 0x0);
+ }
+
+ if (lib_vers)
+ {
+ strcpy(lib_vers, *p);
+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
+ S_incpush_use_sep(aTHX_ sitelib, strlen(sitelib), 0x0);
+ }
+ }
+ }
+#endif
+#endif
+
#ifdef PERL_OTHERLIBDIRS
S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS