| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- By default, the "vendor" area is not used, so Perl's installation
- procedure forgot to create its top-level paths, too. In OpenPKG we use
- the "vendor" area, so make sure it is created the same way the "site"
- area is.
- Index: installperl
- --- installperl.orig 2006-01-28 16:35:28 +0100
- +++ installperl 2006-02-01 20:00:56 +0100
- @@ -189,6 +189,8 @@
- my $installarchlib = "$destdir$Config{installarchlib}";
- my $installsitelib = "$destdir$Config{installsitelib}";
- my $installsitearch = "$destdir$Config{installsitearch}";
- +my $installvendorlib = "$destdir$Config{installvendorlib}";
- +my $installvendorarch = "$destdir$Config{installvendorarch}";
- my $installman1dir = "$destdir$Config{installman1dir}";
- my $man1ext = $Config{man1ext};
- my $libperl = $Config{libperl};
- @@ -381,6 +383,8 @@
- mkpath($installarchlib, $verbose, 0777);
- mkpath($installsitelib, $verbose, 0777) if ($installsitelib);
- mkpath($installsitearch, $verbose, 0777) if ($installsitearch);
- +mkpath($installvendorlib, $verbose, 0777) if ($installvendorlib);
- +mkpath($installvendorarch, $verbose, 0777) if ($installvendorarch);
-
- if (chdir "lib") {
- $do_installarchlib = ! samepath($installarchlib, '.');
- -----------------------------------------------------------------------------
- By default, the Perl module search order is "use lib, -I, PERL[5]LIB,
- perl, site, vendor, other". This means that in OpenPKG both the modules
- installed via CPAN shell (in "site" area) and the "perl-xxx" packages
- (in "vendor" area) cannot override the (sometimes obsoleted) module
- versions distributed with Perl (in "perl" area). Hence, we change
- the search order to a more reasonable one for OpenPKG: "use lib, -I,
- PERL[5]LIB, site, vendor, perl, other".
- Index: perl.c
- --- perl.c.orig 2006-01-31 13:34:47 +0100
- +++ perl.c 2006-02-01 20:00:56 +0100
- @@ -4776,39 +4776,6 @@
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
- #endif
-
- -#ifdef ARCHLIB_EXP
- - incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
- -#endif
- -#ifdef MACOS_TRADITIONAL
- - {
- - Stat_t tmpstatbuf;
- - SV * privdir = NEWSV(55, 0);
- - char * macperl = PerlEnv_getenv("MACPERL");
- -
- - if (!macperl)
- - macperl = "";
- -
- - Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
- - if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
- - incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
- - Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
- - if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
- - incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
- -
- - SvREFCNT_dec(privdir);
- - }
- - if (!PL_tainting)
- - incpush(":", FALSE, FALSE, TRUE);
- -#else
- -#ifndef PRIVLIB_EXP
- -# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
- -#endif
- -#if defined(WIN32)
- - incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
- -#else
- - incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- -#endif
- -
- #ifdef SITEARCH_EXP
- /* sitearch is always relative to sitelib on Windows for
- * DLL-based path intuition to work correctly */
- @@ -4850,6 +4817,39 @@
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
- #endif
-
- +#ifdef ARCHLIB_EXP
- + incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
- +#endif
- +#ifdef MACOS_TRADITIONAL
- + {
- + Stat_t tmpstatbuf;
- + SV * privdir = NEWSV(55, 0);
- + char * macperl = PerlEnv_getenv("MACPERL");
- +
- + if (!macperl)
- + macperl = "";
- +
- + Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
- + if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
- + incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
- + Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
- + if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
- + incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
- +
- + SvREFCNT_dec(privdir);
- + }
- + if (!PL_tainting)
- + incpush(":", FALSE, FALSE, TRUE);
- +#else
- +#ifndef PRIVLIB_EXP
- +# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
- +#endif
- +#if defined(WIN32)
- + incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
- +#else
- + incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- +#endif
- +
- #ifdef PERL_OTHERLIBDIRS
- incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
- #endif
- -----------------------------------------------------------------------------
- Port to [Open]Darwin 6.6.2:
- 1. In OpenPKG, Perl does not use the vendor GCC and our GCC does not
- understand "-no-cpp-precomp", so remove this build option.
- 2. The <sys/mman.h> indirectly includes system specific headers
- which in turn have fields named "environ" while Perl uses
- a define of "environ" internally. So wrap the inclusion.
- 3. Darwin 6 no longer accepts the non-standard "#import" statements,
- so replace with "#include" and circumvent some header problem
- related to the non-standard "__private_extern__" attribute.
- Index: hints/darwin.sh
- --- hints/darwin.sh.orig 2005-09-18 17:13:41 +0200
- +++ hints/darwin.sh 2006-02-01 20:00:56 +0100
- @@ -120,9 +120,6 @@
- *-2147483648) ccflags="${ccflags} -DINT32_MIN_BROKEN -DINT64_MIN_BROKEN" ;;
- esac
-
- -# Avoid Apple's cpp precompiler, better for extensions
- -cppflags="${cppflags} -no-cpp-precomp"
- -
- # This is necessary because perl's build system doesn't
- # apply cppflags to cc compile lines as it should.
- ccflags="${ccflags} ${cppflags}"
- @@ -182,8 +179,7 @@
- esac
- ldlibpthname='DYLD_LIBRARY_PATH';
-
- -# useshrplib=true results in much slower startup times.
- -# 'false' is the default value. Use Configure -Duseshrplib to override.
- +useshrplib='true'
-
- cat > UU/archname.cbu <<'EOCBU'
- # This script UU/archname.cbu will get 'called-back' by Configure
- Index: perlio.c
- --- perlio.c.orig 2006-01-06 23:42:20 +0100
- +++ perlio.c 2006-02-01 20:00:56 +0100
- @@ -448,7 +448,14 @@
- #include <unistd.h>
- #endif
- #ifdef HAS_MMAP
- +#ifdef PERL_DARWIN
- +#define environ_safe environ
- +#undef environ
- #include <sys/mman.h>
- +#define environ environ_safe
- +#else
- +#include <sys/mman.h>
- +#endif
- #endif
-
- void
- Index: ext/DynaLoader/dl_dyld.xs
- --- ext/DynaLoader/dl_dyld.xs.orig 2005-04-18 19:04:24 +0200
- +++ ext/DynaLoader/dl_dyld.xs 2006-02-01 20:00:56 +0100
- @@ -45,7 +45,13 @@
-
- #undef environ
- #undef bool
- +#ifdef PERL_DARWIN
- +#define __private_extern__ extern
- +#include <mach-o/dyld.h>
- +#undef __private_extern__
- +#else
- #import <mach-o/dyld.h>
- +#endif
-
- static char *dlerror()
- {
- -----------------------------------------------------------------------------
- Port to Tru64 5.1:
- Under Tru64 our gcc has to be built without binutils and the system
- ld(1) does not accept a "-O" option, so remove the whole passing of
- optimization flags to ld(1). Under a brain-dead platform like Tru64 we
- really don't need any more optimization because we are already happy if
- it works at all.
- Index: hints/dec_osf.sh
- --- hints/dec_osf.sh.orig 2006-01-08 10:53:29 +0100
- +++ hints/dec_osf.sh 2006-02-01 20:00:56 +0100
- @@ -279,15 +279,6 @@
- *) if $test "X$optimize" = "X$undef"; then
- lddlflags="$lddlflags -msym"
- else
- - case "$myosvers" in
- - *4.0D*)
- - # QAR 56761: -O4 + .so may produce broken code,
- - # fixed in 4.0E or better.
- - ;;
- - *)
- - lddlflags="$lddlflags $optimize"
- - ;;
- - esac
- # -msym: If using a sufficiently recent /sbin/loader,
- # keep the module symbols with the modules.
- lddlflags="$lddlflags -msym $_lddlflags_strict_ansi"
- -----------------------------------------------------------------------------
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0976
- Multiple scripts in the perl package in Trustix Secure Linux 1.5
- through 2.1, and possibly other operating systems, allows local
- users to overwrite files via a symlink attack on temporary files.
- Index: lib/CGI/Cookie.pm
- --- lib/CGI/Cookie.pm.orig 2005-12-05 17:30:25 +0100
- +++ lib/CGI/Cookie.pm 2006-02-01 20:00:56 +0100
- @@ -407,7 +407,7 @@
- You may also retrieve cookies that were stored in some external
- form using the parse() class method:
-
- - $COOKIES = `cat /usr/tmp/Cookie_stash`;
- + $COOKIES = `cat /var/run/www/Cookie_stash`;
- %cookies = parse CGI::Cookie($COOKIES);
-
- If you are in a mod_perl environment, you can save some overhead by
- Index: lib/Shell.pm
- --- lib/Shell.pm.orig 2004-06-01 11:42:17 +0200
- +++ lib/Shell.pm 2006-02-01 20:00:56 +0100
- @@ -127,7 +127,7 @@
- use Shell qw(cat ps cp);
- $passwd = cat('</etc/passwd');
- @pslines = ps('-ww'),
- - cp("/etc/passwd", "/tmp/passwd");
- + cp("/etc/passwd", "/etc/passwd.orig");
-
- # object oriented
- my $sh = Shell->new;
- -----------------------------------------------------------------------------
- Index: Configure
- --- Configure.orig 2006-01-08 15:51:03 +0100
- +++ Configure 2006-02-01 20:00:56 +0100
- @@ -7663,7 +7663,7 @@
- ;;
- linux|irix*|gnu*) dflt='-shared' ;;
- next) dflt='none' ;;
- - solaris) dflt='-G' ;;
- + solaris) dflt='-shared' ;;
- sunos) dflt='-assert nodefinitions' ;;
- svr4*|esix*|nonstopux) dflt="-G $ldflags" ;;
- *) dflt='none' ;;
- -----------------------------------------------------------------------------
- Security Fix (CVE-2005-3962, OpenPKG-SA-2005.025-perl)
- Index: sv.c
- --- sv.c.orig 2006-01-16 13:22:21 +0100
- +++ sv.c 2006-02-01 20:00:56 +0100
- @@ -8650,7 +8650,10 @@
- if (EXPECT_NUMBER(q, width)) {
- if (*q == '$') {
- ++q;
- - efix = width;
- + if (width > PERL_INT_MAX)
- + efix = PERL_INT_MAX;
- + else
- + efix = width;
- } else {
- goto gotwidth;
- }
- -----------------------------------------------------------------------------
- - Fix syntax error (unterminated quoted string)
- - Support GCC 4.2
- Index: makedepend.SH
- --- makedepend.SH.orig 2003-06-05 20:11:10 +0200
- +++ makedepend.SH 2007-05-20 09:32:10 +0200
- @@ -128,7 +128,7 @@
- *.y) filebase=`basename $file .y` ;;
- esac
- case "$file" in
- - */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
- + */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
- *) finc= ;;
- esac
- $echo "Finding dependencies for $filebase$_o."
- @@ -167,6 +167,7 @@
- -e '/^#.*<builtin>/d' \
- -e '/^#.*<built-in>/d' \
- -e '/^#.*<command line>/d' \
- + -e '/^#.*<command-line>/d' \
- -e '/^#.*"-"/d' \
- -e '/: file path prefix .* never used$/d' \
- -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
- -----------------------------------------------------------------------------
- Support FreeBSD >= 7.0 where objformat(8) is gone
- Index: hints/freebsd.sh
- --- hints/freebsd.sh.orig Wed Mar 24 22:47:33 2004
- +++ hints/freebsd.sh Mon Feb 19 20:53:50 2007
- @@ -116,17 +122,17 @@ case "$osvers" in
-
- *)
- objformat=`/usr/bin/objformat`
- - if [ x$objformat = xelf ]; then
- - libpth="/usr/lib /usr/local/lib"
- - glibpth="/usr/lib /usr/local/lib"
- - ldflags="-Wl,-E "
- - lddlflags="-shared "
- - else
- + if [ x$objformat = xaout ]; then
- if [ -e /usr/lib/aout ]; then
- libpth="/usr/lib/aout /usr/local/lib /usr/lib"
- glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
- fi
- lddlflags='-Bshareable'
- + else
- + libpth="/usr/lib /usr/local/lib"
- + glibpth="/usr/lib /usr/local/lib"
- + ldflags="-Wl,-E "
- + lddlflags="-shared "
- fi
- cccdlflags='-DPIC -fPIC'
- ;;
- -----------------------------------------------------------------------------
- Fix issue when <asm/page.h> is missing from the Linux headers.
- See https://bugs.gentoo.org/show_bug.cgi?id=168312 for details.
- Index: ext/IPC/SysV/SysV.xs
- --- ext/IPC/SysV/SysV.xs.orig 2001-06-30 14:46:07.000000000 -0400
- +++ ext/IPC/SysV/SysV.xs 2006-06-02 17:37:22.000000000 -0400
- @@ -3,9 +3,6 @@
- #include "XSUB.h"
- #include <sys/types.h>
- -#ifdef __linux__
- -# include <asm/page.h>
- -#endif
- #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
- #ifndef HAS_SEM
- # include <sys/ipc.h>
|