1
0
mirror of https://git.yoctoproject.org/poky synced 2026-07-26 19:17:07 +00:00
Files
Nitin A Kamble f57e9daf74 perl, perl-native: upgrade from 5.8.8 to 5.12.2
Deleted these patches as they are part of the upstream code now.
    deleted:    files/perl-5.8.8-gcc-4.2.patch
    deleted:    perl-5.12.2/makedepend-dash.patch
    deleted:    perl-5.12.2/native-no-gdbminc.patch
    deleted:    perl-5.12.2/54_debian_perldoc-r.patch

And rebased these patches to the newer source code
    modified:   files/letgcc-find-errno.patch
    modified:   perl-5.12.2/Makefile.patch
    modified:   perl-5.12.2/asm-pageh-fix.patch
    modified:   perl-5.12.2/native-nopacklist.patch
    modified:   perl-5.12.2/native-perlinc.patch
    modified:   perl-5.12.2/Makefile.SH.patch
    modified:   perl-5.12.2/installperl.patch
    modified:   perl-5.12.2/perl-dynloader.patch
    modified:   perl-5.12.2/09_fix_installperl.patch

get patches from debian perl ver 5.12.2-2
   the fakeroot.diff patch from debian is conflicting with our
   Makefile.SH.patch, hence disabling the fakeroot patch

use newly created config files
   Created with current milestone branch on qemu machines
      modified:   config.sh
      modified:   config.sh-32
      modified:   config.sh-64

get some changes from oe's perl 5.10.1 recipe
   fix the Makefile.SH.patch use miniperl instead of perl
   import a OE 5.10.1 patch: uudmap_cross

fix install issues
   add /usr in the destdir, so that perl gets installed in
   /usr/bin/perl and not in /bin/perl

   link /usr/lib/perl to /usr/lib/perl5 so that operations with
   /usr/lib/perl path in them keep on working.

Fix/Improve perl packaging
   avoid perl-module-module-* kind of packages
   recreate perl-rdepends_5.12.2.inc file with new set of packages
   import from oe perl-rprovide_5.12.2.inc
   combine all unicore perl scripts in one package
   simplify perl-lib
   reduce no of perl recipe packages greatly.

Add zlib to depedancy

fix buildtime host contamination

This also fixes [BUGID #384]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-01-12 00:55:48 -08:00

99 lines
2.7 KiB
Diff

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)