From 80785a10721e523029c27f264fca5a892cf68e36 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 27 May 2007 21:04:11 +0000 Subject: perl: 5.8.7 -> 5.8.8 (from OE) git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1785 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- .../perl/perl-5.8.8/53_debian_mod_paths.patch | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 meta/packages/perl/perl-5.8.8/53_debian_mod_paths.patch (limited to 'meta/packages/perl/perl-5.8.8/53_debian_mod_paths.patch') diff --git a/meta/packages/perl/perl-5.8.8/53_debian_mod_paths.patch b/meta/packages/perl/perl-5.8.8/53_debian_mod_paths.patch new file mode 100644 index 0000000000..df74bc598d --- /dev/null +++ b/meta/packages/perl/perl-5.8.8/53_debian_mod_paths.patch @@ -0,0 +1,107 @@ +Tweak @INC so that the ordering 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. + +diff -Naur --exclude=debian perl-5.8.8.orig/perl.c perl-5.8.8/perl.c +--- perl-5.8.8.orig/perl.c 2006-01-31 23:34:47.000000000 +1100 ++++ perl-5.8.8/perl.c 2006-02-02 23:36:38.000000000 +1100 +@@ -4776,9 +4776,14 @@ + incpush(APPLLIB_EXP, TRUE, TRUE, TRUE); + #endif + ++#if 1 ++ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */ ++ incpush("/etc/perl", FALSE, FALSE, FALSE); ++#else + #ifdef ARCHLIB_EXP + incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE); + #endif ++#endif + #ifdef MACOS_TRADITIONAL + { + Stat_t tmpstatbuf; +@@ -4803,11 +4808,13 @@ + #ifndef PRIVLIB_EXP + # define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl" + #endif ++#if 0 + #if defined(WIN32) + incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE); + #else + incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE); + #endif ++#endif + + #ifdef SITEARCH_EXP + /* sitearch is always relative to sitelib on Windows for +@@ -4850,6 +4857,61 @@ + incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE); + #endif + ++#if 1 ++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE); ++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE); ++ ++ /* Non-versioned site directory for local modules and for ++ compatability with the previous packages' site dirs */ ++ incpush("/usr/local/lib/site_perl", TRUE, FALSE, FALSE); ++ ++#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)) ++ incpush(sitearch, FALSE, FALSE, FALSE); ++ } ++ ++ if (lib_vers) ++ { ++ strcpy(lib_vers, *p); ++ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode)) ++ incpush(sitelib, FALSE, FALSE, FALSE); ++ } ++ } ++ } ++#endif ++#endif ++ + #ifdef PERL_OTHERLIBDIRS + incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE); + #endif -- cgit v1.2.3-54-g00ecf