mirror of
https://git.yoctoproject.org/poky
synced 2026-04-24 12:32:11 +02:00
PERLHOSTLIB var is used to build target perl. It let perl use the native perl .so module files at the time of compilation of target perl. These changes to perl make the PERLHOSTLIB variable also useful for building perl modules to use native .so perl module. (From OE-Core rev: f4d51e63c0df777bbcbe9ad160eb3ba41ae74c6e) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
101 lines
2.7 KiB
Diff
101 lines
2.7 KiB
Diff
Upstream-Status:Inappropriate [debian patch]
|
|
|
|
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.
|
|
|
|
|
|
---
|
|
perl.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
1 files changed, 58 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/perl.c b/perl.c
|
|
index 05cea40..023d6a0 100644
|
|
--- a/perl.c
|
|
+++ b/perl.c
|
|
@@ -4125,6 +4125,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 */
|
|
@@ -4242,6 +4247,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
|
|
--
|
|
tg: (c823880..) debian/mod_paths (depends on: upstream)
|