summaryrefslogtreecommitdiff
path: root/packages/perl/perl-5.8.8
diff options
context:
space:
mode:
Diffstat (limited to 'packages/perl/perl-5.8.8')
-rw-r--r--packages/perl/perl-5.8.8/53_debian_mod_paths.patch107
-rw-r--r--packages/perl/perl-5.8.8/54_debian_perldoc-r.patch16
-rw-r--r--packages/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch16
-rw-r--r--packages/perl/perl-5.8.8/64_debian_enc2xs_inc.patch28
-rw-r--r--packages/perl/perl-5.8.8/config.sh70
5 files changed, 202 insertions, 35 deletions
diff --git a/packages/perl/perl-5.8.8/53_debian_mod_paths.patch b/packages/perl/perl-5.8.8/53_debian_mod_paths.patch
new file mode 100644
index 0000000000..df74bc598d
--- /dev/null
+++ b/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
diff --git a/packages/perl/perl-5.8.8/54_debian_perldoc-r.patch b/packages/perl/perl-5.8.8/54_debian_perldoc-r.patch
new file mode 100644
index 0000000000..432cd857a7
--- /dev/null
+++ b/packages/perl/perl-5.8.8/54_debian_perldoc-r.patch
@@ -0,0 +1,16 @@
+In a Debian installation, not all directories in @INC need exist (the
+site directories for example are created on demand).
+
+Suggested by Joey Hess <joeyh@debian.org>.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/Perldoc.pm perl-5.8.8/lib/Pod/Perldoc.pm
+--- perl-5.8.8.orig/lib/Pod/Perldoc.pm 2004-12-29 23:15:33.000000000 +1100
++++ perl-5.8.8/lib/Pod/Perldoc.pm 2006-02-02 23:38:49.000000000 +1100
+@@ -1533,6 +1533,7 @@
+ $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
+ for ($i=0; $i<@dirs; $i++) {
+ $dir = $dirs[$i];
++ next unless -d $dir; # some dirs in @INC are optional
+ ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
+ if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
+ or ( $ret = $self->check_file($dir,"$s.pm"))
diff --git a/packages/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch b/packages/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch
new file mode 100644
index 0000000000..682061dd8b
--- /dev/null
+++ b/packages/perl/perl-5.8.8/62_debian_cpan_definstalldirs.patch
@@ -0,0 +1,16 @@
+Some modules which are included in core set INSTALLDIRS => 'perl'
+explicitly in Makefile.PL. This makes sense for the normal @INC
+ordering, but not ours. Provide a sensible default.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN/FirstTime.pm perl-5.8.8/lib/CPAN/FirstTime.pm
+--- perl-5.8.8.orig/lib/CPAN/FirstTime.pm 2006-01-31 08:08:57.000000000 +1100
++++ perl-5.8.8/lib/CPAN/FirstTime.pm 2006-02-03 00:05:24.000000000 +1100
+@@ -358,7 +358,7 @@
+
+ };
+
+- $default = $CPAN::Config->{makepl_arg} || "";
++ $default = $CPAN::Config->{makepl_arg} || "INSTALLDIRS=site";
+ $CPAN::Config->{makepl_arg} =
+ prompt("Parameters for the 'perl Makefile.PL' command?
+ Typical frequently used settings:
diff --git a/packages/perl/perl-5.8.8/64_debian_enc2xs_inc.patch b/packages/perl/perl-5.8.8/64_debian_enc2xs_inc.patch
new file mode 100644
index 0000000000..c207a9380a
--- /dev/null
+++ b/packages/perl/perl-5.8.8/64_debian_enc2xs_inc.patch
@@ -0,0 +1,28 @@
+Tweak enc2xs to handle Debian @INC: ignore missing directories,
+follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
+
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/Encode/bin/enc2xs perl-5.8.8/ext/Encode/bin/enc2xs
+--- perl-5.8.8.orig/ext/Encode/bin/enc2xs 2004-09-03 01:53:51.000000000 +1000
++++ perl-5.8.8/ext/Encode/bin/enc2xs 2006-02-03 00:21:32.000000000 +1100
+@@ -909,10 +909,11 @@
+ eval { require File::Find; };
+ my (@inc, %e2x_dir);
+ for my $inc (@INC){
++ next unless -d $inc; # skip non-existent directories
+ push @inc, $inc unless $inc eq '.'; #skip current dir
+ }
+ File::Find::find(
+- sub {
++ { wanted => sub {
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks)
+ = lstat($_) or return;
+@@ -922,7 +923,7 @@
+ $e2x_dir{$File::Find::dir} ||= $mtime;
+ }
+ return;
+- }, @inc);
++ }, follow => 1}, @inc);
+ warn join("\n", keys %e2x_dir), "\n";
+ for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
+ $_E2X = $d;
diff --git a/packages/perl/perl-5.8.8/config.sh b/packages/perl/perl-5.8.8/config.sh
index e19a48f8cd..ac8d237cac 100644
--- a/packages/perl/perl-5.8.8/config.sh
+++ b/packages/perl/perl-5.8.8/config.sh
@@ -35,8 +35,8 @@ api_subversion='0'
api_version='8'
api_versionstring='5.8.0'
ar='ar'
-archlib='/usr/lib/perl5/5.8.8/@ARCH@-thread-multi'
-archlibexp='/usr/lib/perl5/5.8.8/@ARCH@-thread-multi'
+archlib='/usr/lib/perl/5.8'
+archlibexp='/usr/lib/perl/5.8'
archname64=''
archname='@ARCH@-thread-multi'
archobjs=''
@@ -52,8 +52,8 @@ c=''
castflags='0'
cat='cat'
cc='gcc'
-cccdlflags='-fpic'
-ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.8/@ARCH@-thread-multi/CORE'
+cccdlflags='-fPIC'
+ccdlflags='-Wl,-E'
ccname='gcc'
ccversion=''
cf_by='Open Embedded'
@@ -668,31 +668,31 @@ inc_version_list=' '
inc_version_list_init='0'
incpath=''
inews=''
-installarchlib='@DESTDIR@/usr/lib/perl5/5.8.8/@ARCH@-thread-multi'
+installarchlib='@DESTDIR@/usr/lib/perl/5.8'
installbin='@DESTDIR@/usr/bin'
installhtml1dir=''
installhtml3dir=''
installman1dir='@DESTDIR@/usr/share/man/man1'
installman3dir='@DESTDIR@/usr/share/man/man3'
-installprefix='@DESTDIR@'
-installprefixexp='@DESTDIR@'
-installprivlib='@DESTDIR@/usr/lib/perl5/5.8.8'
+installprefix='@DESTDIR@/usr'
+installprefixexp='@DESTDIR@/usr'
+installprivlib='@DESTDIR@/usr/share/perl/5.8'
installscript='@DESTDIR@/usr/bin'
-installsitearch='@DESTDIR@/usr/lib/perl5/site_perl/5.8.8/@ARCH@-thread-multi'
-installsitebin='@DESTDIR@/usr/bin'
+installsitearch='@DESTDIR@/usr/local/lib/perl/5.8.8'
+installsitebin='@DESTDIR@/usr/local/bin'
installsitehtml1dir=''
installsitehtml3dir=''
-installsitelib='@DESTDIR@/usr/lib/perl5/site_perl/5.8.8'
-installsiteman1dir='@DESTDIR@/usr/share/man/man1'
-installsiteman3dir='@DESTDIR@/usr/share/man/man3'
-installsitescript='@DESTDIR@/usr/bin'
+installsitelib='@DESTDIR@/usr/local/share/perl/5.8.8'
+installsiteman1dir='@DESTDIR@/usr/local/man/man1'
+installsiteman3dir='@DESTDIR@/usr/local/man/man3'
+installsitescript='@DESTDIR@/usr/local/bin'
installstyle='lib/perl5'
installusrbinperl='define'
-installvendorarch='@DESTDIR@/usr/lib/perl5/vendor_perl/5.8.8/@ARCH@-thread-multi'
+installvendorarch='@DESTDIR@/usr/lib/perl5'
installvendorbin='@DESTDIR@/usr/bin'
installvendorhtml1dir=''
installvendorhtml3dir=''
-installvendorlib='@DESTDIR@/usr/lib/perl5/vendor_perl/5.8.8'
+installvendorlib='@DESTDIR@/usr/share/perl5'
installvendorman1dir='@DESTDIR@/usr/share/man/man1'
installvendorman3dir='@DESTDIR@/usr/share/man/man3'
installvendorscript='@DESTDIR@/usr/bin'
@@ -774,7 +774,7 @@ old_pthread_create_joinable=''
optimize='-O2'
orderlib='false'
osname='linux'
-otherlibdirs='/usr/lib/perl5/5.8.8'
+otherlibdirs=' '
package='perl5'
pager='/usr/bin/less -isr'
passcat='cat /etc/passwd'
@@ -794,8 +794,8 @@ pmake=''
pr=''
prefix='/usr'
prefixexp='/usr'
-privlib='/usr/lib/perl5/5.8.8'
-privlibexp='/usr/lib/perl5/5.8.8'
+privlib='/usr/share/perl/5.8'
+privlibexp='/usr/share/perl/5.8'
procselfexe='"/proc/self/exe"'
prototype='define'
randbits='48'
@@ -846,25 +846,25 @@ sig_size='69'
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.8.8/@ARCH@-thread-multi'
-sitearchexp='/usr/lib/perl5/site_perl/5.8.8/@ARCH@-thread-multi'
-sitebin='/usr/bin'
-sitebinexp='/usr/bin'
+sitearch='/usr/local/lib/perl/5.8.8'
+sitearchexp='/usr/local/lib/perl/5.8.8'
+sitebin='/usr/local/bin'
+sitebinexp='/usr/local/bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.8.8'
-sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.8.8'
+sitelib='/usr/local/share/perl/5.8.8'
+sitelib_stem=''
+sitelibexp='/usr/local/share/perl/5.8.8'
siteman1dir='/usr/local/man/man1'
siteman1direxp='/usr/local/man/man1'
siteman3dir='/usr/local/man/man3'
siteman3direxp='/usr/local/man/man3'
-siteprefix='/usr'
-siteprefixexp='/usr'
-sitescript='/usr/bin'
-sitescriptexp='/usr/bin'
+siteprefix='/usr/local'
+siteprefixexp='/usr/local'
+sitescript='/usr/local/bin'
+sitescriptexp='/usr/local/bin'
sizetype='size_t'
sleep=''
smail=''
@@ -950,17 +950,17 @@ uvoformat='"lo"'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-vendorarch='/usr/lib/perl5/vendor_perl/5.8.8/@ARCH@-thread-multi'
-vendorarchexp='/usr/lib/perl5/vendor_perl/5.8.8/@ARCH@-thread-multi'
+vendorarch='/usr/lib/perl5'
+vendorarchexp='/usr/lib/perl5'
vendorbin='/usr/bin'
vendorbinexp='/usr/bin'
vendorhtml1dir=' '
vendorhtml1direxp=''
vendorhtml3dir=' '
vendorhtml3direxp=''
-vendorlib='/usr/lib/perl5/vendor_perl/5.8.8'
-vendorlib_stem='/usr/lib/perl5/vendor_perl'
-vendorlibexp='/usr/lib/perl5/vendor_perl/5.8.8'
+vendorlib='/usr/share/perl5'
+vendorlib_stem=''
+vendorlibexp='/usr/share/perl5'
vendorman1dir='/usr/share/man/man1'
vendorman1direxp='/usr/share/man/man1'
vendorman3dir='/usr/share/man/man3'