diff options
author | apb <apb@pkgsrc.org> | 2008-01-08 15:19:38 +0000 |
---|---|---|
committer | apb <apb@pkgsrc.org> | 2008-01-08 15:19:38 +0000 |
commit | 71e9b52b3a7ca3a263287a3d3492cca03f687e15 (patch) | |
tree | 1ec71e6c3a6234ca126f339b6c5e81b158578cbe /lang | |
parent | 2e4ede884aa938d4080a5da4dacc8ad2cd4762b9 (diff) | |
download | pkgsrc-71e9b52b3a7ca3a263287a3d3492cca03f687e15.tar.gz |
NetBSD's /proc/${pid}/exe is sometimes a symlink to "/" instead of to the
actual program name, so Perl's $^X or $EXECUTABLE_NAME variable was wrong.
Change a test to detect this case, and fall back to using argv[0].
Diffstat (limited to 'lang')
-rw-r--r-- | lang/perl5/distinfo | 4 | ||||
-rw-r--r-- | lang/perl5/patches/patch-ah | 20 |
2 files changed, 18 insertions, 6 deletions
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo index 08adf5d2d5c..b8b51d517c2 100644 --- a/lang/perl5/distinfo +++ b/lang/perl5/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.43 2007/11/06 19:54:53 drochner Exp $ +$NetBSD: distinfo,v 1.44 2008/01/08 15:19:38 apb Exp $ SHA1 (perl-5.8.8.tar.bz2) = 4aab490040727ca4419098720eca2ba4367df539 RMD160 (perl-5.8.8.tar.bz2) = e78f26d9b96e6db35f946ad4ff55e3a69385c71b @@ -7,7 +7,7 @@ SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941 SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410 SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f SHA1 (patch-ae) = 891e8d1cfbd69a63827239b4e04d84aac8fd795c -SHA1 (patch-ah) = 39b1a46a0ee5e73b4707a3d947fe17016df9630a +SHA1 (patch-ah) = 25443063c26287b1b8130c53d5c9d92248d4c0d1 SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e SHA1 (patch-an) = 987763c3098bf4356993dd6d8741962a1ff8190d SHA1 (patch-ap) = 178d6909a8aa6544b849c2b63530fcf1893b77ea diff --git a/lang/perl5/patches/patch-ah b/lang/perl5/patches/patch-ah index 1f61459b23b..1df9b22841f 100644 --- a/lang/perl5/patches/patch-ah +++ b/lang/perl5/patches/patch-ah @@ -1,8 +1,20 @@ -$NetBSD: patch-ah,v 1.8 2006/04/09 06:34:32 jlam Exp $ +$NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $ ---- perl.c.orig 2006-01-31 07:34:47.000000000 -0500 +--- perl.c.orig 2006-01-31 12:34:47.000000000 +0000 +++ perl.c -@@ -4770,45 +4770,12 @@ S_init_perllib(pTHX) +@@ -4615,8 +4615,10 @@ S_procself_val(pTHX_ SV *sv, char *arg0) + 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 ++ ++ NetBSD's implementation sometimes returns "/"; reject that too. + */ +- if (len > 0 && memchr(buf, '/', len)) { ++ if (len > 1 && memchr(buf, '/', len)) { + sv_setpvn(sv,buf,len); + } + else { +@@ -4770,45 +4772,12 @@ S_init_perllib(pTHX) } /* Use the ~-expanded versions of APPLLIB (undocumented), @@ -49,7 +61,7 @@ $NetBSD: patch-ah,v 1.8 2006/04/09 06:34:32 jlam Exp $ #ifdef SITEARCH_EXP /* sitearch is always relative to sitelib on Windows for * DLL-based path intuition to work correctly */ -@@ -4850,6 +4817,39 @@ S_init_perllib(pTHX) +@@ -4850,6 +4819,39 @@ S_init_perllib(pTHX) incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE); #endif |