mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-01 01:17:02 +00:00
Update to 5.22.2.
Sponsored by: Absolight
This commit is contained in:
parent
70412f689b
commit
8efb9f3884
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=414355
@ -1,2 +1,2 @@
|
||||
SHA256 (perl/perl-5.22.1.tar.xz) = 9e87317d693ce828095204be0d09af8d60b8785533fadea1a82b6f0e071e5c79
|
||||
SIZE (perl/perl-5.22.1.tar.xz) = 11223940
|
||||
SHA256 (perl/perl-5.22.2.tar.xz) = b34dab1eabec056bec5a6682a57b55dab1bcf6afc60b098c9e2d99433dedc295
|
||||
SIZE (perl/perl-5.22.2.tar.xz) = 11224216
|
||||
|
@ -1,100 +0,0 @@
|
||||
commit 58eaa1131a38c16ee4a66d0bc36288cfde1a39bf
|
||||
Author: Tony Cook <tony@develop-help.com>
|
||||
Date: 2016-01-27 11:52:15 +1100
|
||||
|
||||
remove duplicate environment variables from environ
|
||||
|
||||
If we see duplicate environment variables while iterating over
|
||||
environ[]:
|
||||
|
||||
a) make sure we use the same value in %ENV that getenv() returns.
|
||||
|
||||
Previously on a duplicate, %ENV would have the last entry for the name
|
||||
from environ[], but a typical getenv() would return the first entry.
|
||||
|
||||
Rather than assuming all getenv() implementations return the first entry
|
||||
explicitly call getenv() to ensure they agree.
|
||||
|
||||
b) remove duplicate entries from environ
|
||||
|
||||
Previously if there was a duplicate definition for a name in environ[]
|
||||
setting that name in %ENV could result in an unsafe value being passed
|
||||
to a child process, so ensure environ[] has no duplicates.
|
||||
|
||||
diff --git perl.c perl.c
|
||||
index 16a6ca4..8ef7474 100644
|
||||
--- perl.c
|
||||
+++ perl.c
|
||||
@@ -4298,23 +4298,70 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
|
||||
}
|
||||
if (env) {
|
||||
char *s, *old_var;
|
||||
+ STRLEN nlen;
|
||||
SV *sv;
|
||||
+ HV *dups = newHV();
|
||||
+
|
||||
for (; *env; env++) {
|
||||
old_var = *env;
|
||||
|
||||
if (!(s = strchr(old_var,'=')) || s == old_var)
|
||||
continue;
|
||||
+ nlen = s - old_var;
|
||||
|
||||
#if defined(MSDOS) && !defined(DJGPP)
|
||||
*s = '\0';
|
||||
(void)strupr(old_var);
|
||||
*s = '=';
|
||||
#endif
|
||||
- sv = newSVpv(s+1, 0);
|
||||
- (void)hv_store(hv, old_var, s - old_var, sv, 0);
|
||||
+ if (hv_exists(hv, old_var, nlen)) {
|
||||
+ const char *name = savepvn(old_var, nlen);
|
||||
+
|
||||
+ /* make sure we use the same value as getenv(), otherwise code that
|
||||
+ uses getenv() (like setlocale()) might see a different value to %ENV
|
||||
+ */
|
||||
+ sv = newSVpv(PerlEnv_getenv(name), 0);
|
||||
+
|
||||
+ /* keep a count of the dups of this name so we can de-dup environ later */
|
||||
+ if (hv_exists(dups, name, nlen))
|
||||
+ ++SvIVX(*hv_fetch(dups, name, nlen, 0));
|
||||
+ else
|
||||
+ (void)hv_store(dups, name, nlen, newSViv(1), 0);
|
||||
+
|
||||
+ Safefree(name);
|
||||
+ }
|
||||
+ else {
|
||||
+ sv = newSVpv(s+1, 0);
|
||||
+ }
|
||||
+ (void)hv_store(hv, old_var, nlen, sv, 0);
|
||||
if (env_is_not_environ)
|
||||
mg_set(sv);
|
||||
}
|
||||
+ if (HvKEYS(dups)) {
|
||||
+ /* environ has some duplicate definitions, remove them */
|
||||
+ HE *entry;
|
||||
+ hv_iterinit(dups);
|
||||
+ while ((entry = hv_iternext_flags(dups, 0))) {
|
||||
+ STRLEN nlen;
|
||||
+ const char *name = HePV(entry, nlen);
|
||||
+ IV count = SvIV(HeVAL(entry));
|
||||
+ IV i;
|
||||
+ SV **valp = hv_fetch(hv, name, nlen, 0);
|
||||
+
|
||||
+ assert(valp);
|
||||
+
|
||||
+ /* try to remove any duplicate names, depending on the
|
||||
+ * implementation used in my_setenv() the iteration might
|
||||
+ * not be necessary, but let's be safe.
|
||||
+ */
|
||||
+ for (i = 0; i < count; ++i)
|
||||
+ my_setenv(name, 0);
|
||||
+
|
||||
+ /* and set it back to the value we set $ENV{name} to */
|
||||
+ my_setenv(name, SvPV_nolen(*valp));
|
||||
+ }
|
||||
+ }
|
||||
+ SvREFCNT_dec_NN(dups);
|
||||
}
|
||||
#endif /* USE_ENVIRON_ARRAY */
|
||||
#endif /* !PERL_MICRO */
|
@ -1,6 +1,6 @@
|
||||
--- Configure.orig 2015-04-15 07:47:18 UTC
|
||||
--- Configure.orig 2016-04-08 21:45:19 UTC
|
||||
+++ Configure
|
||||
@@ -3833,7 +3833,10 @@ esac
|
||||
@@ -3834,7 +3834,10 @@ esac
|
||||
. ./posthint.sh
|
||||
|
||||
: who configured the system
|
||||
@ -12,7 +12,7 @@
|
||||
case "$cf_by" in
|
||||
"")
|
||||
cf_by=`(logname) 2>/dev/null`
|
||||
@@ -5014,7 +5017,7 @@ esac
|
||||
@@ -5015,7 +5018,7 @@ esac
|
||||
: Now check and see which directories actually exist, avoiding duplicates
|
||||
for xxx in $dlist
|
||||
do
|
||||
@ -21,7 +21,7 @@
|
||||
case " $libpth " in
|
||||
*" $xxx "*) ;;
|
||||
*) libpth="$libpth $xxx";;
|
||||
@@ -9515,8 +9518,7 @@ prefixvar=siteman3dir
|
||||
@@ -9564,8 +9567,7 @@ prefixvar=siteman3dir
|
||||
|
||||
: determine where add-on public executable scripts go
|
||||
case "$sitescript" in
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- t/porting/customized.dat.orig 2015-05-18 21:39:15 UTC
|
||||
--- t/porting/customized.dat.orig 2015-10-31 13:36:16 UTC
|
||||
+++ t/porting/customized.dat
|
||||
@@ -13,7 +13,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMa
|
||||
@@ -14,7 +14,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMa
|
||||
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477
|
||||
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291
|
||||
ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34
|
||||
|
@ -1448,6 +1448,7 @@ etc/man.d/perl%%PKGNAMESUFFIX%%.conf
|
||||
%%PRIV_LIB%%/pod/perl5203delta.pod
|
||||
%%PRIV_LIB%%/pod/perl5220delta.pod
|
||||
%%PRIV_LIB%%/pod/perl5221delta.pod
|
||||
%%PRIV_LIB%%/pod/perl5222delta.pod
|
||||
%%PRIV_LIB%%/pod/perl561delta.pod
|
||||
%%PRIV_LIB%%/pod/perl56delta.pod
|
||||
%%PRIV_LIB%%/pod/perl581delta.pod
|
||||
@ -2066,6 +2067,7 @@ etc/man.d/perl%%PKGNAMESUFFIX%%.conf
|
||||
%%MAN1%%/perl5203delta.1.gz
|
||||
%%MAN1%%/perl5220delta.1.gz
|
||||
%%MAN1%%/perl5221delta.1.gz
|
||||
%%MAN1%%/perl5222delta.1.gz
|
||||
%%MAN1%%/perl561delta.1.gz
|
||||
%%MAN1%%/perl56delta.1.gz
|
||||
%%MAN1%%/perl581delta.1.gz
|
||||
|
@ -1,2 +1,2 @@
|
||||
PERL_VERSION= 5.22.1
|
||||
PERL_VERSION= 5.22.2
|
||||
PERL5_DEPEND= perl5>=5.22<5.23
|
||||
|
Loading…
Reference in New Issue
Block a user