Update perl5 from version 5.8.8nb8 to 5.10.0.

A large number of packages have had their internal regression tests
run successfully with this update, including mod_perl for Apache.


Pkgsrc changes: a number of our local patches are no longer needed.

Upstream changes from version 5.8.8:

  # Core Enhancements

    * The feature pragma
    * New -E command-line switch
    * Defined-or operator
    * Switch and Smart Match operator
    * Regular expressions
    * say()
    * Lexical $_
    * The _ prototype
    * UNITCHECK blocks
    * New Pragma, mro
    * readdir() may return a "short filename" on Windows
    * readpipe() is now overridable
    * Default argument for readline()
    * state() variables
    * Stacked filetest operators
    * UNIVERSAL::DOES()
    * Formats
    * Byte-order modifiers for pack() and unpack()
    * no VERSION
    * chdir, chmod and chown on filehandles
    * OS groups
    * Recursive sort subs
    * Exceptions in constant folding
    * Source filters in @INC
    * New internal variables
    * Miscellaneous
    * UCD 5.0.0
    * MAD
    * kill() on Windows

  # Incompatible Changes

    * Packing and UTF-8 strings
    * Byte/character count feature in unpack()
    * The $* and $# variables have been removed
    * substr() lvalues are no longer fixed-length
    * Parsing of -f _
    * :unique
    * Effect of pragmas in eval
    * chdir FOO
    * Handling of .pmc files
    * $^V is now a version object instead of a v-string
    * @- and @+ in patterns
    * $AUTOLOAD can now be tainted
    * Tainting and printf
    * undef and signal handlers
    * strictures and dereferencing in defined()
    * (?p{}) has been removed
    * Pseudo-hashes have been removed
    * Removal of the bytecode compiler and of perlcc
    * Removal of the JPL
    * Recursive inheritance detected earlier

  # Modules and Pragmata

    * Upgrading individual core modules
    * Pragmata Changes
    * New modules
    * Selected Changes to Core Modules

  # Utility Changes
  # New Documentation
  # Performance Enhancements

    * In-place sorting
    * Lexical array access
    * XS-assisted SWASHGET
    * Constant subroutines
    * PERL_DONT_CREATE_GVSV
    * Weak references are cheaper
    * sort() enhancements
    * Memory optimisations
    * UTF-8 cache optimisation
    * Sloppy stat on Windows
    * Regular expressions optimisations

  # Installation and Configuration Improvements

    * Configuration improvements
    * Compilation improvements
    * Installation improvements
    * New Or Improved Platforms

  # Selected Bug Fixes
  # New or Changed Diagnostics
  # Changed Internals

    * Reordering of SVt_* constants
    * Elimination of SVt_PVBM
    * New type SVt_BIND
    * Removal of CPP symbols
    * Less space is used by ops
    * New parser
    * Use of const
    * Mathoms
    * AvFLAGS has been removed
    * av_* changes
    * $^H and %^H
    * B:: modules inheritance changed
    * Anonymous hash and array constructors

  ...

See 'perldoc perldelta' or http://perldoc.perl.org/perldelta.html
for explanation of each of these points.
This commit is contained in:
he 2008-10-10 21:58:43 +00:00
parent 528202995a
commit 5c9d47f22a
30 changed files with 190 additions and 769 deletions

View file

@ -1,10 +1,8 @@
# $NetBSD: Makefile,v 1.137 2008/06/01 22:04:07 he Exp $
# $NetBSD: Makefile,v 1.138 2008/10/10 21:58:43 he Exp $
DISTNAME= perl-5.8.8
PKGREVISION= 8
DISTNAME= perl-5.10.0
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,}
EXTRACT_SUFX= .tar.bz2
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= jlam@pkgsrc.org
@ -261,6 +259,25 @@ CONFIGURE_ARGS+= -Duse64bitint
. endif
.endif
# Remove a spurious workdir reference
SUBST_CLASSES+= rm
SUBST_STAGE.rm= pre-install
SUBST_FILES.rm= lib/Config_heavy.pl
SUBST_SED.rm= -e "s!^rm_try=\'/.*work/.tools/bin/rm -f!rm_try=\'/bin/rm -f!"
# Replace our perl as the interpreter
REPLACE_PERL+= lib/Class/ISA.pm
REPLACE_PERL+= lib/File/DosGlob.pm
REPLACE_PERL+= lib/version.pm
# And replace a perl interpreter during the pre-install stage
# I think this may be a bootstrap script, so can't use REPLACE_PERL
# because that is acted upon already in the pre-configure stage
SUBST_CLASSES+= miniperl
SUBST_STAGE.miniperl= pre-install
SUBST_FILES.miniperl= lib/ExtUtils/xsubpp
SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:"
# Some platforms may want the directory mode not to be 0755. This
# is, unfortunately, hardcoded in quite a few places in Perl, so
# let's substitute what pkgsrc says instead.

View file

@ -1,35 +1,21 @@
$NetBSD: distinfo,v 1.49 2008/07/30 23:07:52 ahoka Exp $
$NetBSD: distinfo,v 1.50 2008/10/10 21:58:43 he Exp $
SHA1 (perl-5.8.8.tar.bz2) = 4aab490040727ca4419098720eca2ba4367df539
RMD160 (perl-5.8.8.tar.bz2) = e78f26d9b96e6db35f946ad4ff55e3a69385c71b
Size (perl-5.8.8.tar.bz2) = 10123359 bytes
SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941
SHA1 (perl-5.10.0.tar.gz) = adf73606dd5248af7ccdd735bcaa0e628ea75b3c
RMD160 (perl-5.10.0.tar.gz) = c6614fc99a162790a703f91085b24a60af903ba2
Size (perl-5.10.0.tar.gz) = 15595020 bytes
SHA1 (patch-aa) = 5bd44a8076cf27e2deac52240af7f3898865859c
SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410
SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f
SHA1 (patch-ad) = 914e1c74555a9b6a0256992a694b2ba609f29786
SHA1 (patch-ae) = 287ac0d97a5372c8b45457129f3e70fe42cf69e2
SHA1 (patch-af) = b11574297e46b910f206f09702effc6cc272b0fd
SHA1 (patch-ag) = 0122ec30b8fcd17198e068d07e95974bee0945b6
SHA1 (patch-ah) = 25443063c26287b1b8130c53d5c9d92248d4c0d1
SHA1 (patch-ai) = 4a07c6268a1e27b73f2f6fcde86f788fce77fcbd
SHA1 (patch-aj) = a2fc32766ed8556455c60780fe242a034ce491a9
SHA1 (patch-ak) = 8899f8b6d1d038b950979073cb0527c8e7afca1e
SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e
SHA1 (patch-an) = 987763c3098bf4356993dd6d8741962a1ff8190d
SHA1 (patch-ap) = 178d6909a8aa6544b849c2b63530fcf1893b77ea
SHA1 (patch-aq) = b9569d0cd74a06912e82498cd2bfba131c0b6f3b
SHA1 (patch-ar) = 9d257ceeca337e3d477b80215560bbc290d19dd2
SHA1 (patch-as) = 371827db418eac11f0b49df45e9d587106908bf0
SHA1 (patch-ba) = 27aefd5043c251380ac607df54fff882f689f237
SHA1 (patch-ca) = 5ed14e043a6d5f8dadf5711b59418f01aa5f6f21
SHA1 (patch-cb) = 2cbcaa476f33c270bfea50cddd0da3f476dbe689
SHA1 (patch-ce) = 6b1efab32c6bc28e0faf7522322e6d805eb21730
SHA1 (patch-ch) = a0831869e23d4a66588e6e27eecedb08527c9498
SHA1 (patch-ci) = fe943f07044efa457d163eb86974ea10bb356226
SHA1 (patch-ah) = 1d2f4049dcc8dafcd0eafad36a74531dc7f305c9
SHA1 (patch-aq) = 3ece22678e3e6dcd3cf641e6389ff203cbe351b9
SHA1 (patch-as) = 8656cb4d9baf43dd92f4c467aaa40802d4c43239
SHA1 (patch-ba) = dc150656628e83e25c99f246a0fb30906d185184
SHA1 (patch-ca) = 47db0530a705b8086b2bfc58491f9b56de4b9e12
SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099
SHA1 (patch-ci) = 70531d44b6e2cb7a7ab9fb20ffe91d97e5c03e3a
SHA1 (patch-cj) = 3f40f1b166a054d55224c3e79d74516ca608b696
SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097
SHA1 (patch-cn) = b5e56787fb9ca10025e9061d7bfd2da549ee3fa3
SHA1 (patch-co) = 4f7ae271aa6a17860e60411dfa45566ee02b0f58
SHA1 (patch-da) = 24c8783fcdbead35de20bc3cecf1627a64717853
SHA1 (patch-ta) = ca0d1e4bc2dbbc4b86a087fed27cd1e7bbb2873f
SHA1 (patch-zc) = 0c61b6028813e0f80bfe0760a1e74e3037d37cdd
SHA1 (patch-cn) = 7ca2b1ff19f8371637a34ec26779b37d74c74cca
SHA1 (patch-co) = 493ae6cb6cb544ce023c2a1fb067abe943bba2d4
SHA1 (patch-ta) = 60d9ef72db56b9f149f3995b3f526fc32a352bd7
SHA1 (patch-zc) = a23002397ffaebb243f7683c95c8fb227af90f49
SHA1 (patch-zd) = ee67148b8f44fb3826273574abb62ad9ca4ffa7f

View file

@ -1,19 +1,19 @@
$NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $
$NetBSD: patch-aa,v 1.31 2008/10/10 21:58:43 he Exp $
--- lib/ExtUtils/MM_Unix.pm.orig 2005-05-21 05:42:56.000000000 -0400
--- lib/ExtUtils/MM_Unix.pm.orig 2007-12-18 11:47:07.000000000 +0100
+++ lib/ExtUtils/MM_Unix.pm
@@ -12,8 +12,8 @@ use DirHandle;
@@ -11,8 +11,8 @@ use DirHandle;
use vars qw($VERSION @ISA
$Is_OS2 $Is_VMS $Is_Win32 $Is_Dos
- $Is_OSF $Is_IRIX $Is_NetBSD $Is_BSD
- $Is_SunOS4 $Is_Solaris $Is_SunOS $Is_Interix
+ $Is_OSF $Is_IRIX $Is_BSD
+ $Is_OSF $Is_IRIX $Is_BSD
+ $Is_SunOS4 $Is_Solaris $Is_SunOS
$Verbose %pm
%Config_Override
);
@@ -32,13 +32,11 @@ BEGIN {
@@ -30,8 +30,6 @@ BEGIN {
$Is_VMS = $^O eq 'VMS';
$Is_OSF = $^O eq 'dec_osf';
$Is_IRIX = $^O eq 'irix';
@ -22,36 +22,12 @@ $NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $
$Is_SunOS4 = $^O eq 'sunos';
$Is_Solaris = $^O eq 'solaris';
$Is_SunOS = $Is_SunOS4 || $Is_Solaris;
$Is_BSD = $^O =~ /^(?:free|net|open)bsd$/ or
- $^O eq 'bsdos' or $^O eq 'interix';
+ $^O eq 'bsdos' or $^O eq 'dragonfly' or $^O eq 'interix';
}
BEGIN {
@@ -928,7 +926,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
@@ -932,7 +930,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
my $libs = '$(LDLOADLIBS)';
- if (($Is_NetBSD || $Is_Interix) && $Config{'useshrplib'}) {
+ if ($Is_BSD && $Config{'useshrplib'}) {
- if (($Is_NetBSD || $Is_Interix) && $Config{'useshrplib'} eq 'true') {
+ if ($Is_BSD && $Config{'useshrplib'} eq 'true') {
# Use nothing on static perl platforms, and to the flags needed
# to link against the shared libperl library on shared perl
# platforms. We peek at lddlflags to see if we need -Wl,-R
@@ -2074,7 +2072,7 @@ pure_site_install ::
$(INST_LIB) $(DESTINSTALLSITELIB) \
$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
$(INST_BIN) $(DESTINSTALLSITEBIN) \
- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
$(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
$(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
@@ -2087,7 +2085,7 @@ pure_vendor_install ::
$(INST_LIB) $(DESTINSTALLVENDORLIB) \
$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
$(INST_BIN) $(DESTINSTALLVENDORBIN) \
- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)

View file

@ -1,42 +0,0 @@
$NetBSD: patch-ac,v 1.10 2007/02/06 19:12:10 dmcmahill Exp $
See NetBSD PR pkg/35319
It appears that the same patch has or will find its way into
the upstream sources.
--- perlio.c.orig 2006-12-25 15:11:04.108986000 +0100
+++ perlio.c
@@ -2874,31 +2874,7 @@ PerlIOStdio_invalidate_fileno(pTHX_ FILE
f->_fileno = -1;
return 1;
# elif defined(__sun__)
-# if defined(_LP64)
- /* On solaris, if _LP64 is defined, the FILE structure is this:
- *
- * struct FILE {
- * long __pad[16];
- * };
- *
- * It turns out that the fd is stored in the top 32 bits of
- * file->__pad[4]. The lower 32 bits contain flags. file->pad[5] appears
- * to contain a pointer or offset into another structure. All the
- * remaining fields are zero.
- *
- * We set the top bits to -1 (0xFFFFFFFF).
- */
- f->__pad[4] |= 0xffffffff00000000L;
- assert(fileno(f) == 0xffffffff);
-# else /* !defined(_LP64) */
- /* _file is just a unsigned char :-(
- Not clear why we dup() rather than using -1
- even if that would be treated as 0xFF - so will
- a dup fail ...
- */
- f->_file = PerlLIO_dup(fileno(f));
-# endif /* defined(_LP64) */
- return 1;
+ return 0;
# elif defined(__hpux)
f->__fileH = 0xff;
f->__fileL = 0xff;

View file

@ -1,17 +0,0 @@
$NetBSD: patch-ad,v 1.11 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- embed.fnc.orig 2006-01-31 15:40:27.000000000 +0100
+++ embed.fnc
@@ -1168,6 +1168,7 @@ Es |void |reguni |NN const struct RExC_
Es |regnode*|regclass |NN struct RExC_state_t *state
ERs |I32 |regcurly |NN const char *
Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op
+Es |UV |reg_recode |const char value|NULLOK SV **encp
Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp
Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd
Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val

View file

@ -1,29 +0,0 @@
$NetBSD: patch-ae,v 1.11 2008/04/28 22:24:22 wiz Exp $
--- makedepend.SH.orig 2003-06-05 20:11:10.000000000 +0200
+++ makedepend.SH
@@ -83,7 +83,6 @@ if test -f Makefile; then
# to be out of date. I don't know if OS/2 has touch, so do this:
case "$osname" in
os2) ;;
- netbsd) ;;
*) $touch $firstmakefile ;;
esac
fi
@@ -128,7 +127,7 @@ for file in `$cat .clist`; do
*.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 +166,7 @@ for file in `$cat .clist`; do
-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#" \

View file

@ -1,25 +0,0 @@
$NetBSD: patch-af,v 1.13 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- embed.h.orig 2006-01-31 16:50:34.000000000 +0100
+++ embed.h
@@ -1234,6 +1234,7 @@
#define regclass S_regclass
#define regcurly S_regcurly
#define reg_node S_reg_node
+#define reg_recode S_reg_recode
#define regpiece S_regpiece
#define reginsert S_reginsert
#define regoptail S_regoptail
@@ -3277,6 +3278,7 @@
#define regclass(a) S_regclass(aTHX_ a)
#define regcurly(a) S_regcurly(aTHX_ a)
#define reg_node(a,b) S_reg_node(aTHX_ a,b)
+#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
#define regpiece(a,b) S_regpiece(aTHX_ a,b)
#define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c)
#define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c)

View file

@ -1,25 +0,0 @@
$NetBSD: patch-ag,v 1.11 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- pod/perldiag.pod.orig 2006-01-07 00:16:08.000000000 +0100
+++ pod/perldiag.pod
@@ -1900,6 +1900,15 @@ recognized by Perl or by a user-supplied
(W printf) Perl does not understand the given format conversion. See
L<perlfunc/sprintf>.
+=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/
+
+(W regexp) The numeric escape (for example C<\xHH>) of value < 256
+didn't correspond to a single character through the conversion
+from the encoding specified by the encoding pragma.
+The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
+The <-- HERE shows in the regular expression about where the
+escape was discovered.
+
=item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
(F) The range specified in a character class had a minimum character

View file

@ -1,8 +1,8 @@
$NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
$NetBSD: patch-ah,v 1.10 2008/10/10 21:58:43 he Exp $
--- perl.c.orig 2006-01-31 12:34:47.000000000 +0000
--- perl.c.orig 2007-12-18 11:47:08.000000000 +0100
+++ perl.c
@@ -4615,8 +4615,10 @@ S_procself_val(pTHX_ SV *sv, char *arg0)
@@ -1454,8 +1454,10 @@ S_procself_val(pTHX_ SV *sv, const char
to the executable (or returning an error from the readlink). Any valid
path has a '/' in it somewhere, so use that to validate the result.
See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703
@ -14,24 +14,24 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
sv_setpvn(sv,buf,len);
}
else {
@@ -4770,45 +4772,12 @@ S_init_perllib(pTHX)
@@ -4747,45 +4749,8 @@ S_init_perllib(pTHX)
}
/* Use the ~-expanded versions of APPLLIB (undocumented),
- ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
+ SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB and PRIVLIB
*/
#ifdef APPLLIB_EXP
incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
#endif
-#ifdef APPLLIB_EXP
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
-#endif
-
-#ifdef ARCHLIB_EXP
- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
-#endif
-#ifdef MACOS_TRADITIONAL
- {
- Stat_t tmpstatbuf;
- SV * privdir = NEWSV(55, 0);
- SV * privdir = newSV(0);
- char * macperl = PerlEnv_getenv("MACPERL");
-
- if (!macperl)
@ -39,39 +39,43 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
-
- 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);
- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
- 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);
- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
-
- SvREFCNT_dec(privdir);
- }
- if (!PL_tainting)
- incpush(":", FALSE, FALSE, TRUE);
- incpush(":", FALSE, FALSE, TRUE, FALSE);
-#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);
- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
-#else
- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
-#endif
-
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
@@ -4850,6 +4819,39 @@ S_init_perllib(pTHX)
incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
@@ -4828,6 +4793,43 @@ S_init_perllib(pTHX)
incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE, TRUE);
#endif
+#ifdef APPLLIB_EXP
+ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
+#endif
+
+#ifdef ARCHLIB_EXP
+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+#endif
+#ifdef MACOS_TRADITIONAL
+ {
+ Stat_t tmpstatbuf;
+ SV * privdir = NEWSV(55, 0);
+ SV * privdir = newSV(0);
+ char * macperl = PerlEnv_getenv("MACPERL");
+
+ if (!macperl)
@ -79,25 +83,25 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
+
+ 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);
+ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
+ 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);
+ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
+
+ SvREFCNT_dec(privdir);
+ }
+ if (!PL_tainting)
+ incpush(":", FALSE, FALSE, TRUE);
+ incpush(":", FALSE, FALSE, TRUE, FALSE);
+#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);
+ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
+#else
+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+#endif
+
#ifdef PERL_OTHERLIBDIRS
incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE, TRUE);
#endif

View file

@ -1,17 +0,0 @@
$NetBSD: patch-ai,v 1.5 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- proto.h.orig 2006-01-31 16:50:34.000000000 +0100
+++ proto.h
@@ -1748,6 +1748,7 @@ STATIC I32 S_regcurly(pTHX_ const char *
__attribute__warn_unused_result__;
STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op);
+STATIC UV S_reg_recode(pTHX_ const char value, SV **encp);
STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp);
STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd);
STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val);

View file

@ -1,31 +0,0 @@
$NetBSD: patch-aj,v 1.9 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- t/uni/tr_utf8.t.orig 2004-06-25 10:53:16.000000000 +0200
+++ t/uni/tr_utf8.t
@@ -31,7 +31,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 7;
+use Test::More tests => 8;
use encoding 'utf8';
@@ -67,4 +67,12 @@ is($str, $hiragana, "s/// # hiragana ->
$line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/;
is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]");
}
+
+{
+ # [perl #40641]
+ my $str = qq/Gebääääääääääääääääääääude/;
+ my $reg = qr/Gebääääääääääääääääääääude/;
+ ok($str =~ /$reg/, "[perl #40641]");
+}
+
__END__

View file

@ -1,18 +0,0 @@
$NetBSD: patch-ak,v 1.3 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- utf8.h.orig 2006-01-08 22:11:27.000000000 +0100
+++ utf8.h
@@ -198,6 +198,8 @@ encoded character.
UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
#define UTF8_ALLOW_ANY 0x00FF
#define UTF8_CHECK_ONLY 0x0200
+#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
+ UTF8_ALLOW_ANYUV)
#define UNICODE_SURROGATE_FIRST 0xD800
#define UNICODE_SURROGATE_LAST 0xDFFF

View file

@ -1,55 +0,0 @@
$NetBSD: patch-am,v 1.4 2006/04/09 06:34:32 jlam Exp $
--- lib/ExtUtils/MakeMaker.pm.orig 2005-10-21 10:11:04.000000000 -0400
+++ lib/ExtUtils/MakeMaker.pm
@@ -222,7 +222,7 @@ sub full_setup {
INSTALLMAN1DIR INSTALLMAN3DIR
INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
- INSTALLSCRIPT
+ INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
PERL_LIB PERL_ARCHLIB
SITELIBEXP SITEARCHEXP
@@ -1084,7 +1084,7 @@ INSTALLDIRS according to the following t
INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN
- INST_SCRIPT INSTALLSCRIPT INSTALLSCRIPT INSTALLSCRIPT
+ INST_SCRIPT INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
@@ -1545,7 +1545,7 @@ Defaults to $Config{installprivlib}.
=item INSTALLSCRIPT
Used by 'make install' which copies files from INST_SCRIPT to this
-directory.
+directory if INSTALLDIRS is set to perl.
=item INSTALLSITEARCH
@@ -1572,6 +1572,11 @@ $(SITEPREFIX)/man/man$(MAN*EXT).
If set to 'none', no man pages will be installed.
+=item INSTALLSITESCRIPT
+
+Used by 'make install' which copies files from INST_SCRIPT to this
+directory if INSTALLDIRS is set to site (default).
+
=item INSTALLVENDORARCH
Used by 'make install', which copies files from INST_ARCHLIB to this
@@ -1596,6 +1601,11 @@ INSTALLDIRS=vendor. Defaults to $(VENDO
If set to 'none', no man pages will be installed.
+=item INSTALLVENDORSCRIPT
+
+Used by 'make install' which copies files from INST_SCRIPT to this
+directory if INSTALLDIRS is set to vendor.
+
=item INST_ARCHLIB
Same as INST_LIB for architecture dependent files.

View file

@ -1,50 +0,0 @@
$NetBSD: patch-an,v 1.2 2006/04/09 06:34:32 jlam Exp $
--- lib/ExtUtils/MM_Any.pm.orig 2005-04-13 03:49:53.000000000 -0400
+++ lib/ExtUtils/MM_Any.pm
@@ -1052,6 +1052,15 @@ sub init_INSTALL_from_PREFIX {
: '';
}
+ $self->{INSTALLSITESCRIPT} ||= '$(INSTALLSCRIPT)'
+ unless $Config{installsitescript};
+
+ unless( $Config{installvendorscript} ) {
+ $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix}
+ ? $Config{installscript}
+ : '';
+ }
+
my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
$Config{prefixexp} || $Config{prefix} || '';
@@ -1111,6 +1120,12 @@ sub init_INSTALL_from_PREFIX {
script => { s => $iprefix,
t => 'perl',
d => 'bin' },
+ vendorscript => { s => $vprefix,
+ t => 'vendor',
+ d => 'bin' },
+ sitescript => { s => $sprefix,
+ t => 'site',
+ d => 'bin' },
);
my %man_layouts =
@@ -1253,7 +1268,6 @@ sub init_INSTALL_from_INSTALLBASE {
# Adjust for variable quirks.
$install{INSTALLARCHLIB} ||= delete $install{INSTALLARCH};
$install{INSTALLPRIVLIB} ||= delete $install{INSTALLLIB};
- delete @install{qw(INSTALLVENDORSCRIPT INSTALLSITESCRIPT)};
foreach my $key (keys %install) {
$self->{$key} ||= $install{$key};
@@ -1627,7 +1641,7 @@ sub installvars {
return qw(PRIVLIB SITELIB VENDORLIB
ARCHLIB SITEARCH VENDORARCH
BIN SITEBIN VENDORBIN
- SCRIPT
+ SCRIPT SITESCRIPT VENDORSCRIPT
MAN1DIR SITEMAN1DIR VENDORMAN1DIR
MAN3DIR SITEMAN3DIR VENDORMAN3DIR
);

View file

@ -1,16 +0,0 @@
$NetBSD: patch-ap,v 1.1 2006/04/09 06:34:32 jlam Exp $
On VAX, feeding a bare "NaN" to nawk causes nawk to core dump since
it tries to interpret it as a number, which causes an FP exception.
--- MANIFEST.orig 2006-01-31 18:27:53.000000000 -0500
+++ MANIFEST
@@ -1586,7 +1586,7 @@ lib/Math/BigInt/t/const_mbf.t Test Math:
lib/Math/BigInt/t/downgrade.t Test if use Math::BigInt(); under downgrade works
lib/Math/BigInt/t/_e_math.t Helper routine in BigFloat for _e math
lib/Math/BigInt/t/fallback.t Test Math::BigInt
-lib/Math/BigInt/t/inf_nan.t Special tests for inf and NaN handling
+lib/Math/BigInt/t/inf_nan.t Special tests for inf and *NaN* handling
lib/Math/BigInt/t/isa.t Test for Math::BigInt inheritance
lib/Math/BigInt/t/lib_load.t Test sane lib names
lib/Math/BigInt/t/mbf_ali.t Tests for BigFloat

View file

@ -1,8 +1,8 @@
$NetBSD: patch-aq,v 1.1 2006/05/06 12:32:20 jlam Exp $
$NetBSD: patch-aq,v 1.2 2008/10/10 21:58:43 he Exp $
--- XSUB.h.orig 2006-01-02 09:45:29.000000000 -0500
--- XSUB.h.orig 2007-12-18 11:47:07.000000000 +0100
+++ XSUB.h
@@ -85,17 +85,16 @@ handled automatically by C<xsubpp>.
@@ -93,6 +93,9 @@ is a lexical $_ in scope.
#ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(x) ((void)x)
#endif
@ -12,15 +12,20 @@ $NetBSD: patch-aq,v 1.1 2006/05/06 12:32:20 jlam Exp $
#define ST(off) PL_stack_base[ax + (off)]
#if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
# define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv)
#else
-# ifdef HASATTRIBUTE_UNUSED
@@ -116,15 +119,7 @@ is a lexical $_ in scope.
# define XS(name) EXPORT_C XSPROTO(name)
#endif
#ifndef XS
-# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-# define XS(name) void name(pTHX_ CV* cv __attribute__unused__)
-# else
-# define XS(name) void name(pTHX_ CV* cv)
-# ifdef __cplusplus
-# define XS(name) extern "C" XSPROTO(name)
-# else
-# define XS(name) XSPROTO(name)
-# endif
-# endif
+# define XS(name) void name(pTHX_ CV* cv PERL_UNUSED_DECL)
#endif
#define dAX const I32 ax = MARK - PL_stack_base + 1
#define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1)

View file

@ -1,33 +0,0 @@
$NetBSD: patch-ar,v 1.1 2006/05/06 12:32:20 jlam Exp $
--- perl.h.orig 2006-01-13 13:17:12.000000000 -0500
+++ perl.h
@@ -150,6 +150,15 @@ struct perl_thread;
# define CALLPROTECT CALL_FPTR(PL_protect)
#endif
+/* GCC versions prior to 3.4 have a bug handling the "unused" attribute
+ * in declarations when compiling C++ code.
+ */
+#if defined(__GNUC__) && defined(__cplusplus)
+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
+# define PERL_UNUSED_DECL
+# endif
+#endif
+
#if defined(SYMBIAN) && defined(__GNUC__)
# ifdef __cplusplus
# define PERL_UNUSED_DECL
@@ -2375,7 +2384,11 @@ typedef struct clone_params CLONE_PARAMS
# define HASATTRIBUTE_PURE
# endif
# if __GNUC__ >= 3 /* gcc 3.0 -> */ /* XXX Verify this version */
-# define HASATTRIBUTE_UNUSED
+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3) /* 3.4 -> */
+# define HASATTRIBUTE_UNUSED
+# elif !defined(__cplusplus)
+# define HASATTRIBUTE_UNUSED
+# endif
# endif
# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */
# define HASATTRIBUTE_WARN_UNUSED_RESULT

View file

@ -1,17 +1,16 @@
$NetBSD: patch-as,v 1.2 2008/01/13 00:20:22 joerg Exp $
$NetBSD: patch-as,v 1.3 2008/10/10 21:58:43 he Exp $
asm/page.h is no longer installed as part of the kernel header
page on Gentoo/Linux.
--- ext/IPC/SysV/SysV.xs.orig 2008-01-12 15:55:22.000000000 +0100
--- ext/IPC/SysV/SysV.xs.orig 2007-12-18 11:47:07.000000000 +0100
+++ ext/IPC/SysV/SysV.xs
@@ -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>
@@ -24,8 +24,6 @@
# elif defined(HAS_GETPAGESIZE)
# undef SHMLBA /* not static: determined at boot time */
# define SHMLBA getpagesize()
-# elif defined(__linux__)
-# include <asm/page.h>
# endif
# endif
#endif

View file

@ -1,40 +1,18 @@
$NetBSD: patch-ba,v 1.4 2006/08/08 15:36:00 tron Exp $
$NetBSD: patch-ba,v 1.5 2008/10/10 21:58:43 he Exp $
--- hints/netbsd.sh.orig 2003-08-07 17:57:56.000000000 +0100
+++ hints/netbsd.sh 2006-08-08 16:33:33.000000000 +0100
@@ -78,6 +78,30 @@
d_setreuid="$undef"
--- hints/netbsd.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/netbsd.sh
@@ -79,7 +79,7 @@ case "$osvers" in
;;
esac
+case "$osvers" in
+0.9*|1.*|2.*|3.*|4.*)
+ d_getprotoent_r="$undef"
+ d_getprotobyname_r="$undef"
+ d_getprotobynumber_r="$undef"
+ d_setprotoent_r="$undef"
+ d_endprotoent_r="$undef"
+ d_getservent_r="$undef"
+ d_getservbyname_r="$undef"
+ d_getservbyport_r="$undef"
+ d_setservent_r="$undef"
+ d_endservent_r="$undef"
+ d_getprotoent_r_proto="$undef"
+ d_getprotobyname_r_proto="$undef"
+ d_getprotobynumber_r_proto="$undef"
+ d_setprotoent_r_proto="$undef"
+ d_endprotoent_r_proto="$undef"
+ d_getservent_r_proto="$undef"
+ d_getservbyname_r_proto="$undef"
+ d_getservbyport_r_proto="$undef"
+ d_setservent_r_proto="$undef"
+ d_endservent_r_proto="$undef"
+ ;;
+esac
# These are obsolete in any netbsd.
d_setrgid="$undef"
@@ -133,23 +157,6 @@
esac
case "$osvers" in
-0.9*|1.*|2.*|3.*|4.*)
+0.9*|1.*|2.*|3.*|4.*|5.*)
d_getprotoent_r="$undef"
d_getprotobyname_r="$undef"
d_getprotobynumber_r="$undef"
@@ -175,23 +175,6 @@ $define|true|[yY]*)
esac
EOCBU
-# Set sensible defaults for NetBSD: look for local software in

View file

@ -1,23 +1,25 @@
$NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
$NetBSD: patch-ca,v 1.6 2008/10/10 21:58:43 he Exp $
--- Configure.orig 2006-01-08 09:51:03.000000000 -0500
--- Configure.orig 2007-12-18 11:47:07.000000000 +0100
+++ Configure
@@ -3130,11 +3130,13 @@ EOM
dgux) osname=dgux
@@ -3206,13 +3206,14 @@ EOM
osvers="$3"
;;
+ dragonfly) osname=dragonfly
+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
dragonfly) osname=dragonfly
- osvers="$3"
+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'`
;;
dynixptx*) osname=dynixptx
osvers=`echo "$4"|sed 's/^v//'`
;;
freebsd) osname=freebsd
freebsd) osname=freebsd
- osvers="$3" ;;
+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'`
+ ;;
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
@@ -3156,7 +3158,7 @@ EOM
@@ -3234,7 +3235,7 @@ EOM
MiNT) osname=mint
;;
netbsd*) osname=netbsd
@ -26,7 +28,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
;;
news-os) osvers="$3"
case "$3" in
@@ -3167,8 +3169,8 @@ EOM
@@ -3245,8 +3246,8 @@ EOM
next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@ -37,7 +39,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
os2) osname=os2
osvers="$4"
;;
@@ -4445,7 +4447,7 @@ case "$plibpth" in
@@ -4739,7 +4740,7 @@ case "$plibpth" in
esac
case "$libpth" in
' ') dlist='';;
@ -46,18 +48,18 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
*) dlist="$libpth";;
esac
@@ -6485,7 +6487,9 @@ rp='Pathname for the site-specific libra
@@ -6425,7 +6426,9 @@ rp='Pathname for the site-specific libra
. ./getfile
sitelib="$ans"
sitelibexp="$ansexp"
prefixvar=sitelib
. ./setprefixvar
-sitelib_stem=`echo "$sitelibexp" | sed "s,/$version$,,"`
+if $test -z "$sitelib_stem"; then
+ sitelib_stem=`echo "$sitelibexp" | sed "s,/$version$,,"`
+fi
: Change installation prefix, if necessary.
if $test X"$prefix" != X"$installprefix"; then
installsitelib=`echo $sitelibexp | $sed "s#^$prefix#$installprefix#"`
@@ -6606,7 +6610,9 @@ case "$vendorprefix" in
: Determine list of previous versions to include in @INC
$cat > getverlist <<EOPL
@@ -6925,7 +6928,9 @@ case "$vendorprefix" in
vendorlibexp="$ansexp"
;;
esac
@ -65,19 +67,10 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
+if $test -z "$vendorlib_stem"; then
+ vendorlib_stem=`echo "$vendorlibexp" | sed "s,/$version$,,"`
+fi
: Change installation prefix, if necessary.
if $test X"$prefix" != X"$installprefix"; then
installvendorlib=`echo $vendorlibexp | $sed "s#^$prefix#$installprefix#"`
@@ -7889,7 +7895,7 @@ if "$useshrplib"; then
solaris)
xxx="-R $shrpdir"
;;
- freebsd|netbsd|openbsd|interix)
+ freebsd|netbsd|openbsd|dragonfly|interix)
xxx="-Wl,-R$shrpdir"
;;
bsdos|linux|irix*|dec_osf|gnu*)
@@ -9010,6 +9016,13 @@ EOCP
prefixvar=vendorlib
. ./installprefix
@@ -9170,6 +9175,13 @@ EOCP
;;
esac
@ -91,7 +84,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
case "$vendorprefix" in
'') d_vendorbin="$undef"
vendorbin=''
@@ -17776,7 +17789,15 @@ RCAT(Rei,ser)
@@ -18347,7 +18359,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1

View file

@ -1,33 +0,0 @@
$NetBSD: patch-cb,v 1.4 2006/10/08 17:48:30 ben Exp $
--- Makefile.SH.orig 2006-01-24 04:49:44.000000000 -0800
+++ Makefile.SH
@@ -73,7 +73,7 @@ true)
sunos*)
linklibperl="-lperl"
;;
- netbsd*|freebsd[234]*|openbsd*)
+ netbsd*|freebsd[234]*|openbsd*|dragonfly*)
linklibperl="-L. -lperl"
;;
interix*)
@@ -85,7 +85,7 @@ true)
case "$osvers" in
3*) shrpldflags="$shrpldflags -e _nostart"
;;
- *) shrpldflags="$shrpldflags -b noentry"
+ *) shrpldflags="$shrpldflags -bnoentry"
;;
esac
shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"
@@ -990,6 +990,10 @@ s_dummy $(static_ext): miniperl$(EXE_EXT
n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
@$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+.PHONY: printconfig
+printconfig:
+ @eval `$(LDLIBPTH) ./perl -Ilib -V:$(CONFIGVAR)`; echo $$$(CONFIGVAR)
+
.PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
realclean _realcleaner clobber _clobber \
distclean veryclean _verycleaner

View file

@ -1,12 +0,0 @@
$NetBSD: patch-ce,v 1.2 2005/08/06 06:18:45 jlam Exp $
--- lib/File/Temp.pm.orig 2005-04-03 11:27:16.000000000 -0400
+++ lib/File/Temp.pm
@@ -2128,6 +2128,7 @@ The value is only relevant when C<safe_l
{
my $TopSystemUID = 10;
+ $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator"
sub top_system_uid {
my $self = shift;
if (@_) {

View file

@ -1,11 +1,11 @@
$NetBSD: patch-ch,v 1.3 2006/04/09 06:34:33 jlam Exp $
$NetBSD: patch-ch,v 1.4 2008/10/10 21:58:43 he Exp $
--- hints/dec_osf.sh.orig 2006-01-08 04:53:29.000000000 -0500
--- hints/dec_osf.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/dec_osf.sh
@@ -285,7 +285,7 @@ case "`uname -r`" in
@@ -79,7 +79,7 @@ case "$unamer" in
# fixed in 4.0E or better.
;;
*)
*)
- lddlflags="$lddlflags $optimize"
+ lddlflags="$lddlflags"
;;

View file

@ -1,8 +1,8 @@
$NetBSD: patch-ci,v 1.3 2006/04/09 06:34:33 jlam Exp $
$NetBSD: patch-ci,v 1.4 2008/10/10 21:58:43 he Exp $
--- pp_sys.c.orig 2006-01-13 13:15:15.000000000 -0500
--- pp_sys.c.orig 2007-12-18 11:47:08.000000000 +0100
+++ pp_sys.c
@@ -4516,12 +4516,15 @@ PP(pp_gmtime)
@@ -4452,12 +4452,15 @@ PP(pp_gmtime)
when = (Time_t)SvIVx(POPs);
#endif

View file

@ -1,8 +1,8 @@
$NetBSD: patch-cn,v 1.1 2007/04/21 15:32:15 tnn Exp $
$NetBSD: patch-cn,v 1.2 2008/10/10 21:58:43 he Exp $
--- hints/hpux.sh.orig 2007-04-21 17:17:01.000000000 +0200
--- hints/hpux.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/hpux.sh
@@ -371,7 +371,7 @@ case "$ccisgcc" in
@@ -376,7 +376,7 @@ case "$ccisgcc" in
*O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;;
esac
#ld="$cc"
@ -11,7 +11,7 @@ $NetBSD: patch-cn,v 1.1 2007/04/21 15:32:15 tnn Exp $
cccdlflags='-fPIC'
#lddlflags='-shared'
lddlflags='-b'
@@ -428,7 +428,7 @@ case "$ccisgcc" in
@@ -434,7 +434,7 @@ case "$ccisgcc" in
toke_cflags="$toke_cflags;optimize=\"$opt\""
regexec_cflags="optimize=\"$opt\""
fi

View file

@ -1,6 +1,6 @@
$NetBSD: patch-co,v 1.1 2008/07/30 23:07:52 ahoka Exp $
$NetBSD: patch-co,v 1.2 2008/10/10 21:58:43 he Exp $
--- hints/freebsd.sh.orig 2004-03-24 22:47:33.000000000 +0100
--- hints/freebsd.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/freebsd.sh
@@ -114,7 +114,7 @@ case "$osvers" in
lddlflags="-Bshareable $lddlflags"
@ -9,8 +9,8 @@ $NetBSD: patch-co,v 1.1 2008/07/30 23:07:52 ahoka Exp $
-*)
+3*|4*|5*|6*)
objformat=`/usr/bin/objformat`
if [ x$objformat = xelf ]; then
libpth="/usr/lib /usr/local/lib"
if [ x$objformat = xaout ]; then
if [ -e /usr/lib/aout ]; then
@@ -130,6 +130,14 @@ case "$osvers" in
fi
cccdlflags='-DPIC -fPIC'

View file

@ -1,150 +0,0 @@
$NetBSD: patch-da,v 1.2 2008/06/01 22:04:07 he Exp $
Fix for
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
from
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
--- regcomp.c.orig 2008-06-01 22:04:17.000000000 +0200
+++ regcomp.c
@@ -2790,6 +2790,39 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_sta
}
/*
+ * reg_recode
+ *
+ * It returns the code point in utf8 for the value in *encp.
+ * value: a code value in the source encoding
+ * encp: a pointer to an Encode object
+ *
+ * If the result from Encode is not a single character,
+ * it returns U+FFFD (Replacement character) and sets *encp to NULL.
+ */
+STATIC UV
+S_reg_recode(pTHX_ const char value, SV **encp)
+{
+ STRLEN numlen = 1;
+ SV * const sv = sv_2mortal(newSVpvn(&value, numlen));
+ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp)
+ : SvPVX(sv);
+ const STRLEN newlen = SvCUR(sv);
+ UV uv = UNICODE_REPLACEMENT;
+
+ if (newlen)
+ uv = SvUTF8(sv)
+ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT)
+ : *(U8*)s;
+
+ if (!newlen || numlen != newlen) {
+ uv = UNICODE_REPLACEMENT;
+ if (encp)
+ *encp = NULL;
+ }
+ return uv;
+}
+
+/*
- regatom - the lowest level
*
* Optimization: gobbles an entire sequence of ordinary characters so that
@@ -3181,6 +3214,8 @@ tryagain:
ender = grok_hex(p, &numlen, &flags, NULL);
p += numlen;
}
+ if (PL_encoding && ender < 0x100)
+ goto recode_encoding;
break;
case 'c':
p++;
@@ -3200,6 +3235,17 @@ tryagain:
--p;
goto loopdone;
}
+ if (PL_encoding && ender < 0x100)
+ goto recode_encoding;
+ break;
+ recode_encoding:
+ {
+ SV* enc = PL_encoding;
+ ender = reg_recode((const char)(U8)ender, &enc);
+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
+ vWARN(p, "Invalid escape in the specified encoding");
+ RExC_utf8 = 1;
+ }
break;
case '\0':
if (p >= RExC_end)
@@ -3330,32 +3376,6 @@ tryagain:
break;
}
- /* If the encoding pragma is in effect recode the text of
- * any EXACT-kind nodes. */
- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) {
- STRLEN oldlen = STR_LEN(ret);
- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen));
-
- if (RExC_utf8)
- SvUTF8_on(sv);
- if (sv_utf8_downgrade(sv, TRUE)) {
- const char * const s = sv_recode_to_utf8(sv, PL_encoding);
- const STRLEN newlen = SvCUR(sv);
-
- if (SvUTF8(sv))
- RExC_utf8 = 1;
- if (!SIZE_ONLY) {
- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n",
- (int)oldlen, STRING(ret),
- (int)newlen, s));
- Copy(s, STRING(ret), newlen, char);
- STR_LEN(ret) += newlen - oldlen;
- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen);
- } else
- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen);
- }
- }
-
return(ret);
}
@@ -3733,6 +3753,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_sta
value = grok_hex(RExC_parse, &numlen, &flags, NULL);
RExC_parse += numlen;
}
+ if (PL_encoding && value < 0x100)
+ goto recode_encoding;
break;
case 'c':
value = UCHARAT(RExC_parse++);
@@ -3740,13 +3762,24 @@ S_regclass(pTHX_ RExC_state_t *pRExC_sta
break;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- {
- I32 flags = 0;
- numlen = 3;
- value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
- RExC_parse += numlen;
- break;
- }
+ {
+ I32 flags = 0;
+ numlen = 3;
+ value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
+ RExC_parse += numlen;
+ if (PL_encoding && value < 0x100)
+ goto recode_encoding;
+ break;
+ }
+ recode_encoding:
+ {
+ SV* enc = PL_encoding;
+ value = reg_recode((const char)(U8)value, &enc);
+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
+ vWARN(RExC_parse,
+ "Invalid escape in the specified encoding");
+ break;
+ }
default:
if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP))
vWARN2(RExC_parse,

View file

@ -1,23 +1,25 @@
$NetBSD: patch-ta,v 1.1 2006/07/02 20:35:53 rillig Exp $
$NetBSD: patch-ta,v 1.2 2008/10/10 21:58:44 he Exp $
On NetBSD, filesystems may be mounted with the noatime option.
--- t/io/fs.t.orig 2006-01-08 22:46:15.000000000 +0100
+++ t/io/fs.t 2006-07-02 22:33:01.000000000 +0200
@@ -255,13 +255,13 @@ SKIP: {
is( $atime, 500000001, 'atime' );
is( $mtime, 500000000 + $delta, 'mtime' );
}
- elsif ($^O eq 'beos') {
+ elsif ($^O eq 'beos' || $^O eq 'netbsd') {
SKIP: { skip "atime not updated", 1; }
is($mtime, 500000001, 'mtime');
}
else {
- fail("atime");
- fail("mtime");
+ fail("atime: expected 500000000, got ${atime}");
+ fail("mtime: expected ".(500000000+$delta).", got ${mtime}");
}
--- t/io/fs.t.orig 2007-12-18 11:47:08.000000000 +0100
+++ t/io/fs.t
@@ -275,15 +275,15 @@ sub check_utime_result {
is( $atime, 500000001, 'atime' );
is( $mtime, 500000000 + $delta, 'mtime' );
}
- elsif ($^O eq 'beos') {
+ elsif ($^O eq 'beos' || $^O eq 'netbsd') {
SKIP: {
skip "atime not updated", 1;
}
is($mtime, 500000001, 'mtime');
}
else {
- fail("atime");
- fail("mtime");
+ fail("atime: expected 500000000, got ${atime}");
+ fail("mtime: expected ".(500000000+$delta).", got ${mtime}");
}
}
}
}

View file

@ -1,6 +1,6 @@
$NetBSD: patch-zc,v 1.2 2006/04/09 06:34:33 jlam Exp $
$NetBSD: patch-zc,v 1.3 2008/10/10 21:58:44 he Exp $
--- Policy_sh.SH.orig 2003-08-01 08:23:23.000000000 -0400
--- Policy_sh.SH.orig 2007-12-18 11:47:07.000000000 +0100
+++ Policy_sh.SH
@@ -184,10 +184,10 @@ do
;;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-zd,v 1.1 2008/10/10 21:58:44 he Exp $
--- lib/Module/Build/t/tilde.t.orig 2007-12-18 11:47:07.000000000 +0100
+++ lib/Module/Build/t/tilde.t
@@ -40,6 +40,9 @@ my $p = 'install_base';
SKIP: {
my $home = $ENV{HOME} ? $ENV{HOME} : undef;
skip "Needs case and syntax tweaks for VMS", 14 if $^O eq 'VMS';
+ if ($home =~ /work\/.home/) {
+ skip "Skipping test in pkgsrc env to avoid FAKE_HOME trouble", 14;
+ }
unless (defined $home) {
my @info = eval { getpwuid $> };
skip "No home directory for tilde-expansion tests", 14 if $@;