From 9d06b90ac11a7247cc0dbbd14a7106607846df0c Mon Sep 17 00:00:00 2001 From: Andrew Fresh Date: Sun, 29 Oct 2017 22:37:25 +0000 Subject: Fix merge issues, remove excess files - match perl-5.24.3 dist ok bluhm@ --- gnu/usr.bin/perl/AUTHORS | 3 + gnu/usr.bin/perl/Configure | 65 ++- gnu/usr.bin/perl/Cross/config.sh-arm-linux | 34 +- gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 | 34 +- gnu/usr.bin/perl/INSTALL | 31 +- gnu/usr.bin/perl/MANIFEST | 538 ++------------------- gnu/usr.bin/perl/META.json | 2 +- gnu/usr.bin/perl/META.yml | 2 +- gnu/usr.bin/perl/Makefile.SH | 122 ++--- gnu/usr.bin/perl/NetWare/Makefile | 4 +- gnu/usr.bin/perl/NetWare/config_H.wc | 10 +- gnu/usr.bin/perl/Porting/Maintainers.pl | 5 +- gnu/usr.bin/perl/Porting/cmpVERSION.pl | 1 + gnu/usr.bin/perl/Porting/config.sh | 36 +- gnu/usr.bin/perl/Porting/config_H | 18 +- gnu/usr.bin/perl/Porting/epigraphs.pod | 192 ++++++++ gnu/usr.bin/perl/Porting/perldelta_template.pod | 2 +- gnu/usr.bin/perl/Porting/pumpkin.pod | 4 +- gnu/usr.bin/perl/Porting/todo.pod | 4 +- gnu/usr.bin/perl/README.haiku | 4 +- gnu/usr.bin/perl/README.macosx | 8 +- gnu/usr.bin/perl/README.os2 | 2 +- gnu/usr.bin/perl/README.vms | 4 +- gnu/usr.bin/perl/configpm | 12 - gnu/usr.bin/perl/configure.com | 9 +- .../cpan/Compress-Raw-Bzip2/private/MakeUtil.pm | 3 +- .../cpan/Compress-Raw-Zlib/private/MakeUtil.pm | 3 +- gnu/usr.bin/perl/cpan/Digest-MD5/MD5.xs | 409 +++++++++++++++- gnu/usr.bin/perl/cpan/Digest-MD5/t/files.t | 2 +- .../cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | 11 +- .../ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 7 +- .../perl/cpan/ExtUtils-MakeMaker/t/eu_command.t | 13 +- gnu/usr.bin/perl/cpan/File-Path/lib/File/Path.pm | 487 +++++++------------ gnu/usr.bin/perl/cpan/File-Path/t/FilePathTest.pm | 44 +- gnu/usr.bin/perl/cpan/File-Path/t/Path.t | 276 ++--------- gnu/usr.bin/perl/cpan/File-Path/t/Path_root.t | 40 +- gnu/usr.bin/perl/cpan/File-Path/t/Path_win32.t | 36 +- .../perl/cpan/IO-Compress/private/MakeUtil.pm | 3 +- .../perl/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm | 50 +- gnu/usr.bin/perl/cpan/IO-Socket-IP/t/11sockopts.t | 11 - gnu/usr.bin/perl/cpan/NEXT/lib/NEXT.pm | 2 +- .../perl/cpan/Pod-Parser/lib/Pod/PlainText.pm | 13 - gnu/usr.bin/perl/cpan/Sys-Syslog/Makefile.PL | 2 +- .../perl/cpan/Text-Balanced/lib/Text/Balanced.pm | 2 +- gnu/usr.bin/perl/cpan/podlators/lib/Pod/Man.pm | 2 - gnu/usr.bin/perl/cpan/podlators/scripts/pod2man.PL | 24 +- gnu/usr.bin/perl/deb.c | 2 +- gnu/usr.bin/perl/dist/Module-CoreList/Changes | 15 + .../dist/Module-CoreList/lib/Module/CoreList.pm | 198 +++++++- .../lib/Module/CoreList/TieHashDelta.pm | 2 +- .../Module-CoreList/lib/Module/CoreList/Utils.pm | 37 +- gnu/usr.bin/perl/dist/Time-HiRes/Changes | 69 +++ gnu/usr.bin/perl/dist/Time-HiRes/HiRes.pm | 4 +- gnu/usr.bin/perl/dist/Time-HiRes/HiRes.xs | 71 ++- gnu/usr.bin/perl/dist/Time-HiRes/Makefile.PL | 35 +- gnu/usr.bin/perl/dist/Time-HiRes/t/utime.t | 43 +- gnu/usr.bin/perl/dist/Time-HiRes/typemap | 2 + gnu/usr.bin/perl/dist/threads-shared/t/stress.t | 2 +- gnu/usr.bin/perl/doio.c | 12 +- gnu/usr.bin/perl/embed.fnc | 5 +- gnu/usr.bin/perl/embed.h | 2 +- gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL | 4 +- gnu/usr.bin/perl/ext/NDBM_File/Makefile.PL | 2 +- gnu/usr.bin/perl/ext/POSIX/POSIX.xs | 2 +- gnu/usr.bin/perl/ext/POSIX/lib/POSIX.pm | 2 +- gnu/usr.bin/perl/ext/POSIX/t/sigaction.t | 2 +- gnu/usr.bin/perl/hints/catamount.sh | 4 +- gnu/usr.bin/perl/hints/openbsd.sh | 20 +- gnu/usr.bin/perl/hv.c | 3 +- gnu/usr.bin/perl/install_lib.pl | 18 +- gnu/usr.bin/perl/installperl | 69 +-- gnu/usr.bin/perl/lib/AnyDBM_File.pm | 2 + gnu/usr.bin/perl/lib/B/Op_private.pm | 2 +- gnu/usr.bin/perl/lib/Getopt/Std.pm | 2 +- gnu/usr.bin/perl/locale.c | 2 +- gnu/usr.bin/perl/op.c | 44 +- gnu/usr.bin/perl/opcode.h | 8 +- gnu/usr.bin/perl/patchlevel.h | 2 +- gnu/usr.bin/perl/perl.c | 2 - gnu/usr.bin/perl/perl.h | 17 +- gnu/usr.bin/perl/plan9/config.plan9 | 10 +- gnu/usr.bin/perl/plan9/config_sh.sample | 32 +- gnu/usr.bin/perl/pod/perl.pod | 4 +- gnu/usr.bin/perl/pod/perldelta.pod | 279 +++++++++-- gnu/usr.bin/perl/pod/perldiag.pod | 4 +- gnu/usr.bin/perl/pod/perlfunc.pod | 8 +- gnu/usr.bin/perl/pod/perlhist.pod | 17 +- gnu/usr.bin/perl/pod/perlmodinstall.pod | 4 +- gnu/usr.bin/perl/pod/perlop.pod | 4 +- gnu/usr.bin/perl/pod/perlrecharclass.pod | 2 +- gnu/usr.bin/perl/pod/perlrun.pod | 2 +- gnu/usr.bin/perl/pod/perlunicode.pod | 2 +- gnu/usr.bin/perl/pp.c | 3 +- gnu/usr.bin/perl/pp_ctl.c | 4 +- gnu/usr.bin/perl/pp_hot.c | 3 +- gnu/usr.bin/perl/pp_sys.c | 8 +- gnu/usr.bin/perl/proto.h | 4 +- gnu/usr.bin/perl/regcomp.c | 143 ++++-- gnu/usr.bin/perl/regen/lib_cleanup.pl | 6 - gnu/usr.bin/perl/regen/opcodes | 8 +- gnu/usr.bin/perl/regen/warnings.pl | 6 +- gnu/usr.bin/perl/sv.c | 223 ++++++--- gnu/usr.bin/perl/t/base/lex.t | 8 +- gnu/usr.bin/perl/t/io/socket.t | 22 + gnu/usr.bin/perl/t/lib/croak/op | 48 ++ gnu/usr.bin/perl/t/lib/h2ph.pht | 4 + gnu/usr.bin/perl/t/op/evalbytes.t | 6 +- gnu/usr.bin/perl/t/op/getppid.t | 2 +- gnu/usr.bin/perl/t/op/gv.t | 18 +- gnu/usr.bin/perl/t/op/hexfp.t | 15 +- gnu/usr.bin/perl/t/op/lex.t | 11 +- gnu/usr.bin/perl/t/op/method.t | 6 +- gnu/usr.bin/perl/t/op/require_errors.t | 10 +- gnu/usr.bin/perl/t/op/reset.t | 12 +- gnu/usr.bin/perl/t/op/sprintf2.t | 164 ++++++- gnu/usr.bin/perl/t/op/stash.t | 9 +- gnu/usr.bin/perl/t/op/svleak.t | 12 +- gnu/usr.bin/perl/t/op/tr.t | 11 +- gnu/usr.bin/perl/t/porting/customized.dat | 8 +- gnu/usr.bin/perl/t/porting/dual-life.t | 6 - gnu/usr.bin/perl/t/re/re_tests | 2 + gnu/usr.bin/perl/t/re/reg_mesg.t | 7 +- gnu/usr.bin/perl/t/re/regex_sets.t | 15 + gnu/usr.bin/perl/t/re/speed.t | 4 +- gnu/usr.bin/perl/t/win32/runenv.t | 21 +- gnu/usr.bin/perl/toke.c | 41 +- gnu/usr.bin/perl/utf8.h | 4 +- gnu/usr.bin/perl/util.c | 7 +- gnu/usr.bin/perl/utils.lst | 8 +- gnu/usr.bin/perl/utils/Makefile.PL | 18 +- gnu/usr.bin/perl/utils/h2ph.PL | 6 +- gnu/usr.bin/perl/utils/perlbug.PL | 11 +- gnu/usr.bin/perl/vms/descrip_mms.template | 2 +- gnu/usr.bin/perl/vutil.c | 4 - gnu/usr.bin/perl/warnings.h | 6 +- gnu/usr.bin/perl/win32/GNUmakefile | 9 +- gnu/usr.bin/perl/win32/Makefile | 10 +- gnu/usr.bin/perl/win32/makefile.mk | 10 +- gnu/usr.bin/perl/win32/perlhost.h | 10 +- gnu/usr.bin/perl/win32/pod.mak | 8 + 140 files changed, 2687 insertions(+), 1956 deletions(-) (limited to 'gnu') diff --git a/gnu/usr.bin/perl/AUTHORS b/gnu/usr.bin/perl/AUTHORS index e77fc36902e..c5ed6626df5 100644 --- a/gnu/usr.bin/perl/AUTHORS +++ b/gnu/usr.bin/perl/AUTHORS @@ -298,6 +298,7 @@ Darrell Kindred Darrell Schiebel Darren/Torin/Who Ever... Dave Bianchi +Dave Cross Dave Hartnoll Dave Liney Dave Nelson @@ -685,6 +686,7 @@ KAWAI Takanori Keedi Kim Keith Neufeld Keith Thompson +Ken Brown Ken Estes Ken Fox Ken Hirsch @@ -1147,6 +1149,7 @@ Steve Purkis Steve Vinoski Stevan Little Steven Hirsch +Steven Humphrey Steven Knight Steven Morlock Steven N. Hirsch diff --git a/gnu/usr.bin/perl/Configure b/gnu/usr.bin/perl/Configure index 72381fb3ccb..cf143bf933b 100644 --- a/gnu/usr.bin/perl/Configure +++ b/gnu/usr.bin/perl/Configure @@ -5239,6 +5239,20 @@ case "$usequadmath" in *) usequadmath="$undef" ;; esac +: Fail if both uselongdouble and usequadmath are requested +case "$usequadmath:$uselongdouble" in +define:define) + $cat <&4 + +*** You requested the use of the quadmath library and use +*** of long doubles. +*** +*** Please select one or the other. +EOM + exit 1 + ;; +esac + : Looking for optional libraries echo " " echo "Checking for optional libraries..." >&4 @@ -5459,25 +5473,6 @@ default|recommended) eval $checkccflag ;; esac - case "$gccversion" in - 1*) ;; - 2*) ;; - ?*) echo " " - echo "Checking if your compiler accepts -fno-delete-null-pointer-checks" 2>&1 - echo 'int main(void) { return 0; }' > gcctest.c - if $cc -O2 -Werror -fno-delete-null-pointer-checks -o gcctest gcctest.c; then - echo "Yes, it does." 2>&1 - case "$ccflags" in - *delete-null-pointer-checks*) - echo "Leaving current flags $ccflags alone." 2>&1 - ;; - *) dflt="$dflt -fno-delete-null-pointer-checks" ;; - esac - else - echo "Nope, it doesn't, but that's ok." 2>&1 - fi - ;; - esac # For gcc, adding -pipe speeds up compilations for some, but apparently # some assemblers can't read from stdin. (It also slows down compilations # in other cases, but those are apparently rarer these days.) AD 5/2004. @@ -6817,13 +6812,13 @@ yes) if $contains $tlook $tf >/dev/null 2>&1; then tval=true; elif $test "$mistrustnm" = compile -o "$mistrustnm" = run; then - echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p() && p() != (void *)main) return(0); else return(1); }"> try.c; + echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main(int argc, char **argv) { if(p() && p() != (void *)argv[0]) return(0); else return(1); }"> try.c; $cc -o try $optimize $ccflags $ldflags try.c >/dev/null 2>&1 $libs && tval=true; $test "$mistrustnm" = run -a -x try && { $run ./try$_exe >/dev/null 2>&1 || tval=false; }; $rm_try; fi; else - echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p() && p() != (void *)main) return(0); else return(1); }"> try.c; + echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main(int argc, char **argv) { if(p() && p() != (void *)argv[0]) return(0); else return(1); }"> try.c; $cc -o try $optimize $ccflags $ldflags try.c $libs >/dev/null 2>&1 && tval=true; $rm_try; fi; @@ -7204,7 +7199,7 @@ case "$usequadmath" in $define) echo "quadmath selected." >&4 case "$archname" in - *-ld*) echo "...and architecture name already has -quadmath." >&4 + *-quadmath*) echo "...and architecture name already has -quadmath." >&4 ;; *) archname="$archname-quadmath" echo "...setting architecture name to $archname." >&4 @@ -20490,8 +20485,8 @@ $cat >try.c <&4 @@ -23612,7 +23608,6 @@ xs_extensions='' find_extensions=' for xxx in *; do case "$xxx" in - CVS) ;; DynaLoader|dynaload) ;; *) this_ext=`echo "$xxx" | $sed -e s/-/\\\//g`; @@ -23850,8 +23845,6 @@ esac nonxs_ext='' for xxx in $nonxs_extensions ; do case "$xxx" in - CVS|RCS|SCCS|.svn) - ;; VMS*) ;; *) nonxs_ext="$nonxs_ext $xxx" diff --git a/gnu/usr.bin/perl/Cross/config.sh-arm-linux b/gnu/usr.bin/perl/Cross/config.sh-arm-linux index 53bc26fb92b..fb5d21d8308 100644 --- a/gnu/usr.bin/perl/Cross/config.sh-arm-linux +++ b/gnu/usr.bin/perl/Cross/config.sh-arm-linux @@ -36,8 +36,8 @@ api_subversion='0' api_version='24' api_versionstring='5.24.0' ar='ar' -archlib='/usr/lib/perl5/5.24.2/armv4l-linux' -archlibexp='/usr/lib/perl5/5.24.2/armv4l-linux' +archlib='/usr/lib/perl5/5.24.3/armv4l-linux' +archlibexp='/usr/lib/perl5/5.24.3/armv4l-linux' archname64='' archname='armv4l-linux' archobjs='' @@ -56,7 +56,7 @@ castflags='0' cat='cat' cc='cc' cccdlflags='-fpic' -ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.24.2/armv4l-linux/CORE' +ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.24.3/armv4l-linux/CORE' ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccname='arm-linux-gcc' @@ -808,7 +808,7 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='./install_me_here/usr/lib/perl5/5.24.2/armv4l-linux' +installarchlib='./install_me_here/usr/lib/perl5/5.24.3/armv4l-linux' installbin='./install_me_here/usr/bin' installhtml1dir='' installhtml3dir='' @@ -816,13 +816,13 @@ installman1dir='./install_me_here/usr/share/man/man1' installman3dir='./install_me_here/usr/share/man/man3' installprefix='./install_me_here/usr' installprefixexp='./install_me_here/usr' -installprivlib='./install_me_here/usr/lib/perl5/5.24.2' +installprivlib='./install_me_here/usr/lib/perl5/5.24.3' installscript='./install_me_here/usr/bin' -installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.24.2/armv4l-linux' +installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.24.3/armv4l-linux' installsitebin='./install_me_here/usr/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.24.2' +installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.24.3' installsiteman1dir='./install_me_here/usr/share/man/man1' installsiteman3dir='./install_me_here/usr/share/man/man3' installsitescript='./install_me_here/usr/bin' @@ -956,8 +956,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/usr/lib/perl5/5.24.2' -privlibexp='/usr/lib/perl5/5.24.2' +privlib='/usr/lib/perl5/5.24.3' +privlibexp='/usr/lib/perl5/5.24.3' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -1022,17 +1022,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0' sig_size='68' signal_t='void' -sitearch='/usr/lib/perl5/site_perl/5.24.2/armv4l-linux' -sitearchexp='/usr/lib/perl5/site_perl/5.24.2/armv4l-linux' +sitearch='/usr/lib/perl5/site_perl/5.24.3/armv4l-linux' +sitearchexp='/usr/lib/perl5/site_perl/5.24.3/armv4l-linux' sitebin='/usr/bin' sitebinexp='/usr/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/lib/perl5/site_perl/5.24.2' +sitelib='/usr/lib/perl5/site_perl/5.24.3' sitelib_stem='/usr/lib/perl5/site_perl' -sitelibexp='/usr/lib/perl5/site_perl/5.24.2' +sitelibexp='/usr/lib/perl5/site_perl/5.24.3' siteman1dir='/usr/share/man/man1' siteman1direxp='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' @@ -1071,7 +1071,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='2' +subversion='3' sysman='/usr/share/man/man1' tail='' tar='' @@ -1163,8 +1163,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.24.2' -version_patchlevel_string='version 24 subversion 2' +version='5.24.3' +version_patchlevel_string='version 24 subversion 3' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1178,7 +1178,7 @@ config_args='' config_argc=0 PERL_REVISION=5 PERL_VERSION=24 -PERL_SUBVERSION=2 +PERL_SUBVERSION=3 PERL_API_REVISION=5 PERL_API_VERSION=24 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 b/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 index 2a1d6635d60..a9478bce171 100644 --- a/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 +++ b/gnu/usr.bin/perl/Cross/config.sh-arm-linux-n770 @@ -36,8 +36,8 @@ api_subversion='0' api_version='24' api_versionstring='5.24.0' ar='ar' -archlib='/usr/lib/perl5/5.24.2/armv4l-linux' -archlibexp='/usr/lib/perl5/5.24.2/armv4l-linux' +archlib='/usr/lib/perl5/5.24.3/armv4l-linux' +archlibexp='/usr/lib/perl5/5.24.3/armv4l-linux' archname64='' archname='armv4l-linux' archobjs='' @@ -55,7 +55,7 @@ castflags='0' cat='cat' cc='arm-none-linux-gnueabi-gcc' cccdlflags='-fpic' -ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.24.2/armv4l-linux/CORE' +ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.24.3/armv4l-linux/CORE' ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccname='arm-linux-gcc' @@ -699,7 +699,7 @@ inc_version_list=' ' inc_version_list_init='0' incpath='' inews='' -installarchlib='./install_me_here/usr/lib/perl5/5.24.2/armv4l-linux' +installarchlib='./install_me_here/usr/lib/perl5/5.24.3/armv4l-linux' installbin='./install_me_here/usr/bin' installhtml1dir='' installhtml3dir='' @@ -707,13 +707,13 @@ installman1dir='./install_me_here/usr/share/man/man1' installman3dir='./install_me_here/usr/share/man/man3' installprefix='./install_me_here/usr' installprefixexp='./install_me_here/usr' -installprivlib='./install_me_here/usr/lib/perl5/5.24.2' +installprivlib='./install_me_here/usr/lib/perl5/5.24.3' installscript='./install_me_here/usr/bin' -installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.24.2/armv4l-linux' +installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.24.3/armv4l-linux' installsitebin='./install_me_here/usr/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.24.2' +installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.24.3' installsiteman1dir='./install_me_here/usr/share/man/man1' installsiteman3dir='./install_me_here/usr/share/man/man3' installsitescript='./install_me_here/usr/bin' @@ -841,8 +841,8 @@ pmake='' pr='' prefix='/usr' prefixexp='/usr' -privlib='/usr/lib/perl5/5.24.2' -privlibexp='/usr/lib/perl5/5.24.2' +privlib='/usr/lib/perl5/5.24.3' +privlibexp='/usr/lib/perl5/5.24.3' procselfexe='"/proc/self/exe"' prototype='define' ptrsize='4' @@ -903,17 +903,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0' sig_size='68' signal_t='void' -sitearch='/usr/lib/perl5/site_perl/5.24.2/armv4l-linux' -sitearchexp='/usr/lib/perl5/site_perl/5.24.2/armv4l-linux' +sitearch='/usr/lib/perl5/site_perl/5.24.3/armv4l-linux' +sitearchexp='/usr/lib/perl5/site_perl/5.24.3/armv4l-linux' sitebin='/usr/bin' sitebinexp='/usr/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/usr/lib/perl5/site_perl/5.24.2' +sitelib='/usr/lib/perl5/site_perl/5.24.3' sitelib_stem='/usr/lib/perl5/site_perl' -sitelibexp='/usr/lib/perl5/site_perl/5.24.2' +sitelibexp='/usr/lib/perl5/site_perl/5.24.3' siteman1dir='/usr/share/man/man1' siteman1direxp='/usr/share/man/man1' siteman3dir='/usr/share/man/man3' @@ -950,7 +950,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='2' +subversion='3' sysman='/usr/share/man/man1' tail='' tar='' @@ -1035,8 +1035,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.24.2' -version_patchlevel_string='version 24 subversion 2' +version='5.24.3' +version_patchlevel_string='version 24 subversion 3' versiononly='undef' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1050,7 +1050,7 @@ config_args='' config_argc=0 PERL_REVISION=5 PERL_VERSION=24 -PERL_SUBVERSION=2 +PERL_SUBVERSION=3 PERL_API_REVISION=5 PERL_API_VERSION=24 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/INSTALL b/gnu/usr.bin/perl/INSTALL index 5edf5bbd0fe..eb7498a2194 100644 --- a/gnu/usr.bin/perl/INSTALL +++ b/gnu/usr.bin/perl/INSTALL @@ -581,7 +581,7 @@ The directories set up by Configure fall into three broad categories. =item Directories for the perl distribution -By default, Configure will use the following directories for 5.24.2. +By default, Configure will use the following directories for 5.24.3. $version is the full perl version number, including subversion, e.g. 5.12.3, and $archname is a string like sun4-sunos, determined by Configure. The full definitions of all Configure @@ -2437,7 +2437,8 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html =head1 Coexistence with earlier versions of perl 5 -Perl 5.24.2 is not binary compatible with earlier versions of Perl. +Perl 5.24.3 is not binary compatible with versions of Perl earlier than +5.24.0. In other words, you will have to recompile your XS modules. In general, you can usually safely upgrade from one version of Perl @@ -2512,9 +2513,9 @@ won't interfere with another version. (The defaults guarantee this for libraries after 5.6.0, but not for executables. TODO?) One convenient way to do this is by using a separate prefix for each version, such as - sh Configure -Dprefix=/opt/perl5.24.2 + sh Configure -Dprefix=/opt/perl5.24.3 -and adding /opt/perl5.24.2/bin to the shell PATH variable. Such users +and adding /opt/perl5.24.3/bin to the shell PATH variable. Such users may also wish to add a symbolic link /usr/local/bin/perl so that scripts can still start with #!/usr/local/bin/perl. @@ -2527,13 +2528,13 @@ seriously consider using a separate directory, since development subversions may not have all the compatibility wrinkles ironed out yet. -=head2 Upgrading from v5.22 or earlier +=head2 Upgrading from 5.23.9 or earlier -B Perl modules having binary parts (meaning that a C compiler is used) will have to be recompiled to be -used with 5.24.2. If you find you do need to rebuild an extension with -5.24.2, you may safely do so without disturbing the older +used with 5.24.3. If you find you do need to rebuild an extension with +5.24.3, you may safely do so without disturbing the older installations. (See L<"Coexistence with earlier versions of perl 5"> above.) @@ -2566,15 +2567,15 @@ Firstly, the bare minimum to run this script print("$f\n"); } -in Linux with perl-5.24.2 is as follows (under $Config{prefix}): +in Linux with perl-5.24.3 is as follows (under $Config{prefix}): ./bin/perl - ./lib/perl5/5.24.2/strict.pm - ./lib/perl5/5.24.2/warnings.pm - ./lib/perl5/5.24.2/i686-linux/File/Glob.pm - ./lib/perl5/5.24.2/feature.pm - ./lib/perl5/5.24.2/XSLoader.pm - ./lib/perl5/5.24.2/i686-linux/auto/File/Glob/Glob.so + ./lib/perl5/5.24.3/strict.pm + ./lib/perl5/5.24.3/warnings.pm + ./lib/perl5/5.24.3/i686-linux/File/Glob.pm + ./lib/perl5/5.24.3/feature.pm + ./lib/perl5/5.24.3/XSLoader.pm + ./lib/perl5/5.24.3/i686-linux/auto/File/Glob/Glob.so Secondly, for perl-5.10.1, the Debian perl-base package contains 591 files, (of which 510 are for lib/unicore) totaling about 3.5MB in its diff --git a/gnu/usr.bin/perl/MANIFEST b/gnu/usr.bin/perl/MANIFEST index c776e29acc3..8e94b0ebfba 100644 --- a/gnu/usr.bin/perl/MANIFEST +++ b/gnu/usr.bin/perl/MANIFEST @@ -14,7 +14,6 @@ cflags.SH A script that emits C compilation flags per file Changes Describe how to peruse changes between releases charclass_invlists.h Compiled-in inversion lists config_h.SH Produces config.h -config.over Site-specific overrides for Configure defaults configpm Produces lib/Config.pm Configure Portability tool configure.com Configure-equivalent for VMS @@ -1804,13 +1803,6 @@ cpan/NEXT/t/dynamically_scoped_regex_vars.t NEXT cpan/NEXT/t/next.t NEXT cpan/NEXT/t/stringify.t NEXT cpan/NEXT/t/unseen.t NEXT -cpan/OpenBSD-MkTemp/lib/OpenBSD/MkTemp.pm OpenBSD::MkTemp -cpan/OpenBSD-MkTemp/MkTemp.xs OpenBSD::MkTemp -cpan/OpenBSD-MkTemp/README OpenBSD::MkTemp Readme -cpan/OpenBSD-MkTemp/t/OpenBSD-MkTemp.t OpenBSD::MkTemp test file -cpan/OpenBSD-Pledge/lib/OpenBSD/Pledge.pm OpenBSD::Pledge -cpan/OpenBSD-Pledge/Pledge.xs OpenBSD::Pledge -cpan/OpenBSD-Pledge/t/OpenBSD-Pledge.t OpenBSD::Pledge test file cpan/Params-Check/lib/Params/Check.pm Params::Check cpan/Params-Check/t/01_Params-Check.t Params::Check tests cpan/parent/lib/parent.pm Establish an ISA relationship with base classes at compile time @@ -2271,17 +2263,6 @@ cpan/Term-ANSIColor/t/module/stringify.t cpan/Term-ANSIColor/t/taint/basic.t cpan/Term-Cap/Cap.pm Perl module supporting termcap usage cpan/Term-Cap/test.pl See if Term::Cap works -cpan/Term-ReadKey/Changes Term::ReadKey -cpan/Term-ReadKey/Configure.pm Term::ReadKey -cpan/Term-ReadKey/example/test.pl Term::ReadKey -cpan/Term-ReadKey/genchars.pl Term::ReadKey -cpan/Term-ReadKey/Makefile.PL Term::ReadKey -cpan/Term-ReadKey/ppport.h Term::ReadKey -cpan/Term-ReadKey/ReadKey.pm Term::ReadKey -cpan/Term-ReadKey/ReadKey.xs Term::ReadKey -cpan/Term-ReadKey/README Term::ReadKey -cpan/Term-ReadKey/t/01_basic.t Term::ReadKey -cpan/Term-ReadKey/t/02_terminal_functions.t Term::ReadKey cpan/Test-Harness/bin/prove The prove harness utility cpan/Test-Harness/lib/App/Prove.pm Gubbins for the prove utility cpan/Test-Harness/lib/App/Prove/State.pm Gubbins for the prove utility @@ -3576,6 +3557,7 @@ dist/Time-HiRes/t/time.t Test for Time::HiRes dist/Time-HiRes/t/tv_interval.t Test for Time::HiRes dist/Time-HiRes/t/ualarm.t Test for Time::HiRes dist/Time-HiRes/t/usleep.t Test for Time::HiRes +dist/Time-HiRes/t/utime.t Test for Time::HiRes dist/Time-HiRes/t/Watchdog.pm Test for Time::HiRes dist/Time-HiRes/typemap Time::HiRes extension dist/XSLoader/Makefile.PL Dynamic Loader makefile writer @@ -3636,6 +3618,7 @@ ext/B/B/Terse.pm Compiler Terse backend ext/B/B/Xref.pm Compiler Xref backend ext/B/B.xs Compiler backend external subroutines ext/B/hints/darwin.pl Hints for named architecture +ext/B/hints/openbsd.pl Hints for named architecture ext/B/Makefile.PL Compiler backend makefile writer ext/B/O.pm Compiler front-end module (-MO=...) ext/B/t/b.t See if B works @@ -4076,7 +4059,6 @@ fakesdio.h stdio in terms of PerlIO feature.h Feature header form.h Public declarations for formats generate_uudmap.c Generate uudmap.h, the uuencode decoding map -git_version.h Pre-generated git_version.h for OpenBSD globals.c File to declare global symbols (for shared library) globvar.sym Global variables that need hiding when embedded gv.c Glob value code @@ -4221,7 +4203,6 @@ lib/Class/Struct.pm Declare struct-like datatypes as Perl classes lib/Class/Struct.t See if Class::Struct works lib/Config/Extensions.pm Convenient hash lookup for built extensions lib/Config/Extensions.t See if Config::Extensions works -lib/Config_git.pl Pre-generated Config_git.pl for OpenBSD lib/Config.t See if Config works lib/CORE.pod document the CORE namespace lib/DBM_Filter/compress.pm DBM Filter to compress keys/values @@ -4382,515 +4363,57 @@ lib/Unicode/README Explanation what happened to lib/unicode. lib/Unicode/UCD.pm Unicode character database lib/Unicode/UCD.t See if Unicode character database works lib/unicore/ArabicShaping.txt Unicode character database -lib/unicore/auxiliary/GCBTest.txt Unicode character database -lib/unicore/auxiliary/GraphemeBreakProperty.txt Unicode character database -lib/unicore/auxiliary/LBTest.txt Unicode character database -lib/unicore/auxiliary/SBTest.txt Unicode character database -lib/unicore/auxiliary/SentenceBreakProperty.txt Unicode character database -lib/unicore/auxiliary/WBTest.txt Unicode character database -lib/unicore/auxiliary/WordBreakProperty.txt Unicode character database +lib/unicore/auxiliary/GCBTest.txt Unicode character database +lib/unicore/auxiliary/GraphemeBreakProperty.txt Unicode character database +lib/unicore/auxiliary/LBTest.txt Unicode character database +lib/unicore/auxiliary/SBTest.txt Unicode character database +lib/unicore/auxiliary/SentenceBreakProperty.txt Unicode character database +lib/unicore/auxiliary/WBTest.txt Unicode character database +lib/unicore/auxiliary/WordBreakProperty.txt Unicode character database lib/unicore/BidiBrackets.txt Unicode character database lib/unicore/BidiMirroring.txt Unicode character database lib/unicore/Blocks.txt Unicode character database lib/unicore/CaseFolding.txt Unicode character database lib/unicore/CJKRadicals.txt Unicode character database -lib/unicore/CombiningClass.pl Unicode character database -lib/unicore/CompositionExclusions.txt Unicode character database +lib/unicore/CompositionExclusions.txt Unicode character database lib/unicore/DAge.txt Unicode character database lib/unicore/DCoreProperties.txt Unicode character database -lib/unicore/Decomposition.pl Unicode character database -lib/unicore/DNormalizationProps.txt Unicode character database +lib/unicore/DNormalizationProps.txt Unicode character database lib/unicore/EastAsianWidth.txt Unicode character database lib/unicore/EmojiSources.txt Unicode character database -lib/unicore/extracted/DBidiClass.txt Unicode character database -lib/unicore/extracted/DBinaryProperties.txt Unicode character database -lib/unicore/extracted/DCombiningClass.txt Unicode character database -lib/unicore/extracted/DDecompositionType.txt Unicode character database -lib/unicore/extracted/DEastAsianWidth.txt Unicode character database -lib/unicore/extracted/DGeneralCategory.txt Unicode character database -lib/unicore/extracted/DJoinGroup.txt Unicode character database -lib/unicore/extracted/DJoinType.txt Unicode character database -lib/unicore/extracted/DLineBreak.txt Unicode character database -lib/unicore/extracted/DNumType.txt Unicode character database -lib/unicore/extracted/DNumValues.txt Unicode character database -lib/unicore/HangulSyllableType.txt Unicode character database -lib/unicore/Heavy.pl Unicode character database +lib/unicore/extracted/DBidiClass.txt Unicode character database +lib/unicore/extracted/DBinaryProperties.txt Unicode character database +lib/unicore/extracted/DCombiningClass.txt Unicode character database +lib/unicore/extracted/DDecompositionType.txt Unicode character database +lib/unicore/extracted/DEastAsianWidth.txt Unicode character database +lib/unicore/extracted/DGeneralCategory.txt Unicode character database +lib/unicore/extracted/DJoinGroup.txt Unicode character database +lib/unicore/extracted/DJoinType.txt Unicode character database +lib/unicore/extracted/DLineBreak.txt Unicode character database +lib/unicore/extracted/DNumType.txt Unicode character database +lib/unicore/extracted/DNumValues.txt Unicode character database +lib/unicore/HangulSyllableType.txt Unicode character database lib/unicore/Index.txt Unicode character database -lib/unicore/IndicPositionalCategory.txt Unicode character database -lib/unicore/IndicSyllabicCategory.txt Unicode character database +lib/unicore/IndicPositionalCategory.txt Unicode character database +lib/unicore/IndicSyllabicCategory.txt Unicode character database lib/unicore/Jamo.txt Unicode character database -lib/unicore/lib/Age/NA.pl Unicode character database -lib/unicore/lib/Age/V11.pl Unicode character database -lib/unicore/lib/Age/V20.pl Unicode character database -lib/unicore/lib/Age/V30.pl Unicode character database -lib/unicore/lib/Age/V31.pl Unicode character database -lib/unicore/lib/Age/V32.pl Unicode character database -lib/unicore/lib/Age/V40.pl Unicode character database -lib/unicore/lib/Age/V41.pl Unicode character database -lib/unicore/lib/Age/V50.pl Unicode character database -lib/unicore/lib/Age/V51.pl Unicode character database -lib/unicore/lib/Age/V52.pl Unicode character database -lib/unicore/lib/Age/V60.pl Unicode character database -lib/unicore/lib/Age/V61.pl Unicode character database -lib/unicore/lib/Age/V70.pl Unicode character database -lib/unicore/lib/Age/V80.pl Unicode character database -lib/unicore/lib/Alpha/Y.pl Unicode character database -lib/unicore/lib/Bc/AL.pl Unicode character database -lib/unicore/lib/Bc/AN.pl Unicode character database -lib/unicore/lib/Bc/BN.pl Unicode character database -lib/unicore/lib/Bc/B.pl Unicode character database -lib/unicore/lib/Bc/CS.pl Unicode character database -lib/unicore/lib/Bc/EN.pl Unicode character database -lib/unicore/lib/Bc/ES.pl Unicode character database -lib/unicore/lib/Bc/ET.pl Unicode character database -lib/unicore/lib/Bc/L.pl Unicode character database -lib/unicore/lib/Bc/NSM.pl Unicode character database -lib/unicore/lib/Bc/ON.pl Unicode character database -lib/unicore/lib/Bc/R.pl Unicode character database -lib/unicore/lib/Bc/WS.pl Unicode character database -lib/unicore/lib/BidiC/Y.pl Unicode character database -lib/unicore/lib/BidiM/Y.pl Unicode character database -lib/unicore/lib/Blk/NB.pl Unicode character database -lib/unicore/lib/Bpt/C.pl Unicode character database -lib/unicore/lib/Bpt/N.pl Unicode character database -lib/unicore/lib/Bpt/O.pl Unicode character database -lib/unicore/lib/Cased/Y.pl Unicode character database -lib/unicore/lib/Ccc/A.pl Unicode character database -lib/unicore/lib/Ccc/AR.pl Unicode character database -lib/unicore/lib/Ccc/ATAR.pl Unicode character database -lib/unicore/lib/Ccc/B.pl Unicode character database -lib/unicore/lib/Ccc/BR.pl Unicode character database -lib/unicore/lib/Ccc/DB.pl Unicode character database -lib/unicore/lib/Ccc/NK.pl Unicode character database -lib/unicore/lib/Ccc/NR.pl Unicode character database -lib/unicore/lib/Ccc/OV.pl Unicode character database -lib/unicore/lib/Ccc/VR.pl Unicode character database -lib/unicore/lib/CE/Y.pl Unicode character database -lib/unicore/lib/CI/Y.pl Unicode character database -lib/unicore/lib/CompEx/Y.pl Unicode character database -lib/unicore/lib/CWCF/Y.pl Unicode character database -lib/unicore/lib/CWCM/Y.pl Unicode character database -lib/unicore/lib/CWKCF/Y.pl Unicode character database -lib/unicore/lib/CWL/Y.pl Unicode character database -lib/unicore/lib/CWT/Y.pl Unicode character database -lib/unicore/lib/CWU/Y.pl Unicode character database -lib/unicore/lib/Dash/Y.pl Unicode character database -lib/unicore/lib/Dep/Y.pl Unicode character database -lib/unicore/lib/Dia/Y.pl Unicode character database -lib/unicore/lib/DI/Y.pl Unicode character database -lib/unicore/lib/Dt/Com.pl Unicode character database -lib/unicore/lib/Dt/Enc.pl Unicode character database -lib/unicore/lib/Dt/Fin.pl Unicode character database -lib/unicore/lib/Dt/Font.pl Unicode character database -lib/unicore/lib/Dt/Init.pl Unicode character database -lib/unicore/lib/Dt/Iso.pl Unicode character database -lib/unicore/lib/Dt/Med.pl Unicode character database -lib/unicore/lib/Dt/Nar.pl Unicode character database -lib/unicore/lib/Dt/Nb.pl Unicode character database -lib/unicore/lib/Dt/NonCanon.pl Unicode character database -lib/unicore/lib/Dt/Sqr.pl Unicode character database -lib/unicore/lib/Dt/Sub.pl Unicode character database -lib/unicore/lib/Dt/Sup.pl Unicode character database -lib/unicore/lib/Dt/Vert.pl Unicode character database -lib/unicore/lib/Ea/A.pl Unicode character database -lib/unicore/lib/Ea/H.pl Unicode character database -lib/unicore/lib/Ea/Na.pl Unicode character database -lib/unicore/lib/Ea/N.pl Unicode character database -lib/unicore/lib/Ea/W.pl Unicode character database -lib/unicore/lib/Ext/Y.pl Unicode character database -lib/unicore/lib/GCB/CN.pl Unicode character database -lib/unicore/lib/GCB/EX.pl Unicode character database -lib/unicore/lib/GCB/LV.pl Unicode character database -lib/unicore/lib/GCB/LVT.pl Unicode character database -lib/unicore/lib/GCB/SM.pl Unicode character database -lib/unicore/lib/GCB/XX.pl Unicode character database -lib/unicore/lib/Gc/Cf.pl Unicode character database -lib/unicore/lib/Gc/Cn.pl Unicode character database -lib/unicore/lib/Gc/C.pl Unicode character database -lib/unicore/lib/Gc/LC.pl Unicode character database -lib/unicore/lib/Gc/Ll.pl Unicode character database -lib/unicore/lib/Gc/Lm.pl Unicode character database -lib/unicore/lib/Gc/Lo.pl Unicode character database -lib/unicore/lib/Gc/L.pl Unicode character database -lib/unicore/lib/Gc/Lu.pl Unicode character database -lib/unicore/lib/Gc/Mc.pl Unicode character database -lib/unicore/lib/Gc/Me.pl Unicode character database -lib/unicore/lib/Gc/Mn.pl Unicode character database -lib/unicore/lib/Gc/M.pl Unicode character database -lib/unicore/lib/Gc/Nd.pl Unicode character database -lib/unicore/lib/Gc/Nl.pl Unicode character database -lib/unicore/lib/Gc/No.pl Unicode character database -lib/unicore/lib/Gc/N.pl Unicode character database -lib/unicore/lib/Gc/Pd.pl Unicode character database -lib/unicore/lib/Gc/Pe.pl Unicode character database -lib/unicore/lib/Gc/Pf.pl Unicode character database -lib/unicore/lib/Gc/Pi.pl Unicode character database -lib/unicore/lib/Gc/Po.pl Unicode character database -lib/unicore/lib/Gc/P.pl Unicode character database -lib/unicore/lib/Gc/Ps.pl Unicode character database -lib/unicore/lib/Gc/Sc.pl Unicode character database -lib/unicore/lib/Gc/Sk.pl Unicode character database -lib/unicore/lib/Gc/Sm.pl Unicode character database -lib/unicore/lib/Gc/So.pl Unicode character database -lib/unicore/lib/Gc/S.pl Unicode character database -lib/unicore/lib/Gc/Z.pl Unicode character database -lib/unicore/lib/Gc/Zs.pl Unicode character database -lib/unicore/lib/GrBase/Y.pl Unicode character database -lib/unicore/lib/Hex/Y.pl Unicode character database -lib/unicore/lib/Hst/NA.pl Unicode character database -lib/unicore/lib/Hyphen/T.pl Unicode character database -lib/unicore/lib/IDC/Y.pl Unicode character database -lib/unicore/lib/Ideo/Y.pl Unicode character database -lib/unicore/lib/IDS/Y.pl Unicode character database -lib/unicore/lib/In/2_0.pl Unicode character database -lib/unicore/lib/In/2_1.pl Unicode character database -lib/unicore/lib/In/3_0.pl Unicode character database -lib/unicore/lib/In/3_1.pl Unicode character database -lib/unicore/lib/In/3_2.pl Unicode character database -lib/unicore/lib/In/4_0.pl Unicode character database -lib/unicore/lib/In/4_1.pl Unicode character database -lib/unicore/lib/In/5_0.pl Unicode character database -lib/unicore/lib/In/5_1.pl Unicode character database -lib/unicore/lib/In/5_2.pl Unicode character database -lib/unicore/lib/In/6_0.pl Unicode character database -lib/unicore/lib/In/6_1.pl Unicode character database -lib/unicore/lib/In/6_2.pl Unicode character database -lib/unicore/lib/In/6_3.pl Unicode character database -lib/unicore/lib/In/7_0.pl Unicode character database -lib/unicore/lib/In/8_0.pl Unicode character database -lib/unicore/lib/InPC/Bottom.pl Unicode character database -lib/unicore/lib/InPC/LeftAndR.pl Unicode character database -lib/unicore/lib/InPC/Left.pl Unicode character database -lib/unicore/lib/InPC/NA.pl Unicode character database -lib/unicore/lib/InPC/Overstru.pl Unicode character database -lib/unicore/lib/InPC/Right.pl Unicode character database -lib/unicore/lib/InPC/TopAndBo.pl Unicode character database -lib/unicore/lib/InPC/TopAndL2.pl Unicode character database -lib/unicore/lib/InPC/TopAndLe.pl Unicode character database -lib/unicore/lib/InPC/TopAndRi.pl Unicode character database -lib/unicore/lib/InPC/Top.pl Unicode character database -lib/unicore/lib/InPC/VisualOr.pl Unicode character database -lib/unicore/lib/InSC/Avagraha.pl Unicode character database -lib/unicore/lib/InSC/Bindu.pl Unicode character database -lib/unicore/lib/InSC/Cantilla.pl Unicode character database -lib/unicore/lib/InSC/Consona2.pl Unicode character database -lib/unicore/lib/InSC/Consona3.pl Unicode character database -lib/unicore/lib/InSC/Consona4.pl Unicode character database -lib/unicore/lib/InSC/Consona5.pl Unicode character database -lib/unicore/lib/InSC/Consona6.pl Unicode character database -lib/unicore/lib/InSC/Consonan.pl Unicode character database -lib/unicore/lib/InSC/Invisibl.pl Unicode character database -lib/unicore/lib/InSC/Nukta.pl Unicode character database -lib/unicore/lib/InSC/Number.pl Unicode character database -lib/unicore/lib/InSC/Other.pl Unicode character database -lib/unicore/lib/InSC/PureKill.pl Unicode character database -lib/unicore/lib/InSC/Syllable.pl Unicode character database -lib/unicore/lib/InSC/ToneMark.pl Unicode character database -lib/unicore/lib/InSC/Virama.pl Unicode character database -lib/unicore/lib/InSC/Visarga.pl Unicode character database -lib/unicore/lib/InSC/VowelDep.pl Unicode character database -lib/unicore/lib/InSC/VowelInd.pl Unicode character database -lib/unicore/lib/InSC/Vowel.pl Unicode character database -lib/unicore/lib/Jg/Ain.pl Unicode character database -lib/unicore/lib/Jg/Alef.pl Unicode character database -lib/unicore/lib/Jg/Beh.pl Unicode character database -lib/unicore/lib/Jg/Dal.pl Unicode character database -lib/unicore/lib/Jg/FarsiYeh.pl Unicode character database -lib/unicore/lib/Jg/Feh.pl Unicode character database -lib/unicore/lib/Jg/Gaf.pl Unicode character database -lib/unicore/lib/Jg/Hah.pl Unicode character database -lib/unicore/lib/Jg/Kaf.pl Unicode character database -lib/unicore/lib/Jg/Lam.pl Unicode character database -lib/unicore/lib/Jg/NoJoinin.pl Unicode character database -lib/unicore/lib/Jg/Qaf.pl Unicode character database -lib/unicore/lib/Jg/Reh.pl Unicode character database -lib/unicore/lib/Jg/Sad.pl Unicode character database -lib/unicore/lib/Jg/Seen.pl Unicode character database -lib/unicore/lib/Jg/Waw.pl Unicode character database -lib/unicore/lib/Jg/Yeh.pl Unicode character database -lib/unicore/lib/Jt/C.pl Unicode character database -lib/unicore/lib/Jt/D.pl Unicode character database -lib/unicore/lib/Jt/R.pl Unicode character database -lib/unicore/lib/Jt/T.pl Unicode character database -lib/unicore/lib/Jt/U.pl Unicode character database -lib/unicore/lib/Lb/AI.pl Unicode character database -lib/unicore/lib/Lb/AL.pl Unicode character database -lib/unicore/lib/Lb/BA.pl Unicode character database -lib/unicore/lib/Lb/BB.pl Unicode character database -lib/unicore/lib/Lb/CJ.pl Unicode character database -lib/unicore/lib/Lb/CL.pl Unicode character database -lib/unicore/lib/Lb/CM.pl Unicode character database -lib/unicore/lib/Lb/EX.pl Unicode character database -lib/unicore/lib/Lb/GL.pl Unicode character database -lib/unicore/lib/Lb/ID.pl Unicode character database -lib/unicore/lib/Lb/IN.pl Unicode character database -lib/unicore/lib/Lb/IS.pl Unicode character database -lib/unicore/lib/Lb/NS.pl Unicode character database -lib/unicore/lib/Lb/OP.pl Unicode character database -lib/unicore/lib/Lb/PO.pl Unicode character database -lib/unicore/lib/Lb/PR.pl Unicode character database -lib/unicore/lib/Lb/QU.pl Unicode character database -lib/unicore/lib/Lb/SA.pl Unicode character database -lib/unicore/lib/Lb/XX.pl Unicode character database -lib/unicore/lib/Lower/Y.pl Unicode character database -lib/unicore/lib/Math/Y.pl Unicode character database -lib/unicore/lib/NFCQC/M.pl Unicode character database -lib/unicore/lib/NFCQC/Y.pl Unicode character database -lib/unicore/lib/NFDQC/N.pl Unicode character database -lib/unicore/lib/NFDQC/Y.pl Unicode character database -lib/unicore/lib/NFKCQC/N.pl Unicode character database -lib/unicore/lib/NFKCQC/Y.pl Unicode character database -lib/unicore/lib/NFKDQC/N.pl Unicode character database -lib/unicore/lib/NFKDQC/Y.pl Unicode character database -lib/unicore/lib/Nt/Di.pl Unicode character database -lib/unicore/lib/Nt/None.pl Unicode character database -lib/unicore/lib/Nt/Nu.pl Unicode character database -lib/unicore/lib/Nv/0.pl Unicode character database -lib/unicore/lib/Nv/10000.pl Unicode character database -lib/unicore/lib/Nv/1000.pl Unicode character database -lib/unicore/lib/Nv/100.pl Unicode character database -lib/unicore/lib/Nv/10.pl Unicode character database -lib/unicore/lib/Nv/11.pl Unicode character database -lib/unicore/lib/Nv/12.pl Unicode character database -lib/unicore/lib/Nv/1_2.pl Unicode character database -lib/unicore/lib/Nv/13.pl Unicode character database -lib/unicore/lib/Nv/1_3.pl Unicode character database -lib/unicore/lib/Nv/14.pl Unicode character database -lib/unicore/lib/Nv/1_4.pl Unicode character database -lib/unicore/lib/Nv/15.pl Unicode character database -lib/unicore/lib/Nv/16.pl Unicode character database -lib/unicore/lib/Nv/17.pl Unicode character database -lib/unicore/lib/Nv/18.pl Unicode character database -lib/unicore/lib/Nv/1_8.pl Unicode character database -lib/unicore/lib/Nv/19.pl Unicode character database -lib/unicore/lib/Nv/1.pl Unicode character database -lib/unicore/lib/Nv/200.pl Unicode character database -lib/unicore/lib/Nv/20.pl Unicode character database -lib/unicore/lib/Nv/2_3.pl Unicode character database -lib/unicore/lib/Nv/2.pl Unicode character database -lib/unicore/lib/Nv/300.pl Unicode character database -lib/unicore/lib/Nv/30.pl Unicode character database -lib/unicore/lib/Nv/3_4.pl Unicode character database -lib/unicore/lib/Nv/3.pl Unicode character database -lib/unicore/lib/Nv/400.pl Unicode character database -lib/unicore/lib/Nv/40.pl Unicode character database -lib/unicore/lib/Nv/4.pl Unicode character database -lib/unicore/lib/Nv/50000.pl Unicode character database -lib/unicore/lib/Nv/5000.pl Unicode character database -lib/unicore/lib/Nv/500.pl Unicode character database -lib/unicore/lib/Nv/50.pl Unicode character database -lib/unicore/lib/Nv/5.pl Unicode character database -lib/unicore/lib/Nv/600.pl Unicode character database -lib/unicore/lib/Nv/60.pl Unicode character database -lib/unicore/lib/Nv/6.pl Unicode character database -lib/unicore/lib/Nv/700.pl Unicode character database -lib/unicore/lib/Nv/70.pl Unicode character database -lib/unicore/lib/Nv/7.pl Unicode character database -lib/unicore/lib/Nv/800.pl Unicode character database -lib/unicore/lib/Nv/80.pl Unicode character database -lib/unicore/lib/Nv/8.pl Unicode character database -lib/unicore/lib/Nv/900.pl Unicode character database -lib/unicore/lib/Nv/90.pl Unicode character database -lib/unicore/lib/Nv/9.pl Unicode character database -lib/unicore/lib/PatSyn/Y.pl Unicode character database -lib/unicore/lib/Perl/Alnum.pl Unicode character database -lib/unicore/lib/Perl/Assigned.pl Unicode character database -lib/unicore/lib/Perl/Blank.pl Unicode character database -lib/unicore/lib/Perl/Graph.pl Unicode character database -lib/unicore/lib/Perl/_PerlAny.pl Unicode character database -lib/unicore/lib/Perl/_PerlCh2.pl Unicode character database -lib/unicore/lib/Perl/_PerlCha.pl Unicode character database -lib/unicore/lib/Perl/_PerlFol.pl Unicode character database -lib/unicore/lib/Perl/_PerlIDC.pl Unicode character database -lib/unicore/lib/Perl/_PerlIDS.pl Unicode character database -lib/unicore/lib/Perl/_PerlNch.pl Unicode character database -lib/unicore/lib/Perl/_PerlPat.pl Unicode character database -lib/unicore/lib/Perl/_PerlPr2.pl Unicode character database -lib/unicore/lib/Perl/_PerlPro.pl Unicode character database -lib/unicore/lib/Perl/_PerlQuo.pl Unicode character database -lib/unicore/lib/Perl/PerlWord.pl Unicode character database -lib/unicore/lib/Perl/PosixPun.pl Unicode character database -lib/unicore/lib/Perl/Print.pl Unicode character database -lib/unicore/lib/Perl/SpacePer.pl Unicode character database -lib/unicore/lib/Perl/Title.pl Unicode character database -lib/unicore/lib/Perl/Word.pl Unicode character database -lib/unicore/lib/Perl/XPosixPu.pl Unicode character database -lib/unicore/lib/QMark/Y.pl Unicode character database -lib/unicore/lib/SB/AT.pl Unicode character database -lib/unicore/lib/SB/CL.pl Unicode character database -lib/unicore/lib/SB/EX.pl Unicode character database -lib/unicore/lib/SB/FO.pl Unicode character database -lib/unicore/lib/SB/LE.pl Unicode character database -lib/unicore/lib/SB/LO.pl Unicode character database -lib/unicore/lib/SB/NU.pl Unicode character database -lib/unicore/lib/SB/SC.pl Unicode character database -lib/unicore/lib/SB/Sp.pl Unicode character database -lib/unicore/lib/SB/ST.pl Unicode character database -lib/unicore/lib/SB/UP.pl Unicode character database -lib/unicore/lib/SB/XX.pl Unicode character database -lib/unicore/lib/Sc/Arab.pl Unicode character database -lib/unicore/lib/Sc/Armn.pl Unicode character database -lib/unicore/lib/Sc/Beng.pl Unicode character database -lib/unicore/lib/Sc/Cham.pl Unicode character database -lib/unicore/lib/Sc/Cprt.pl Unicode character database -lib/unicore/lib/Sc/Cyrl.pl Unicode character database -lib/unicore/lib/Sc/Deva.pl Unicode character database -lib/unicore/lib/Sc/Dupl.pl Unicode character database -lib/unicore/lib/Sc/Ethi.pl Unicode character database -lib/unicore/lib/Sc/Geor.pl Unicode character database -lib/unicore/lib/Sc/Gran.pl Unicode character database -lib/unicore/lib/Sc/Grek.pl Unicode character database -lib/unicore/lib/Sc/Gujr.pl Unicode character database -lib/unicore/lib/Sc/Guru.pl Unicode character database -lib/unicore/lib/Sc/Hang.pl Unicode character database -lib/unicore/lib/Sc/Han.pl Unicode character database -lib/unicore/lib/Sc/Hebr.pl Unicode character database -lib/unicore/lib/Sc/Hira.pl Unicode character database -lib/unicore/lib/Sc/Hmng.pl Unicode character database -lib/unicore/lib/Sc/Kana.pl Unicode character database -lib/unicore/lib/Sc/Khar.pl Unicode character database -lib/unicore/lib/Sc/Khmr.pl Unicode character database -lib/unicore/lib/Sc/Knda.pl Unicode character database -lib/unicore/lib/Sc/Lana.pl Unicode character database -lib/unicore/lib/Sc/Lao.pl Unicode character database -lib/unicore/lib/Sc/Latn.pl Unicode character database -lib/unicore/lib/Sc/Limb.pl Unicode character database -lib/unicore/lib/Sc/Linb.pl Unicode character database -lib/unicore/lib/Sc/Mlym.pl Unicode character database -lib/unicore/lib/Sc/Mong.pl Unicode character database -lib/unicore/lib/Sc/Mult.pl Unicode character database -lib/unicore/lib/Sc/Orya.pl Unicode character database -lib/unicore/lib/Sc/Sinh.pl Unicode character database -lib/unicore/lib/Sc/Talu.pl Unicode character database -lib/unicore/lib/Sc/Taml.pl Unicode character database -lib/unicore/lib/Sc/Telu.pl Unicode character database -lib/unicore/lib/Sc/Tibt.pl Unicode character database -lib/unicore/lib/Scx/Arab.pl Unicode character database -lib/unicore/lib/Scx/Armn.pl Unicode character database -lib/unicore/lib/Scx/Beng.pl Unicode character database -lib/unicore/lib/Scx/Bopo.pl Unicode character database -lib/unicore/lib/Scx/Cakm.pl Unicode character database -lib/unicore/lib/Scx/Copt.pl Unicode character database -lib/unicore/lib/Scx/Cprt.pl Unicode character database -lib/unicore/lib/Scx/Cyrl.pl Unicode character database -lib/unicore/lib/Scx/Deva.pl Unicode character database -lib/unicore/lib/Scx/Dupl.pl Unicode character database -lib/unicore/lib/Scx/Geor.pl Unicode character database -lib/unicore/lib/Scx/Glag.pl Unicode character database -lib/unicore/lib/Scx/Gran.pl Unicode character database -lib/unicore/lib/Scx/Grek.pl Unicode character database -lib/unicore/lib/Scx/Gujr.pl Unicode character database -lib/unicore/lib/Scx/Guru.pl Unicode character database -lib/unicore/lib/Scx/Hang.pl Unicode character database -lib/unicore/lib/Scx/Han.pl Unicode character database -lib/unicore/lib/Scx/Hira.pl Unicode character database -lib/unicore/lib/Scx/Kana.pl Unicode character database -lib/unicore/lib/Scx/Knda.pl Unicode character database -lib/unicore/lib/Scx/Latn.pl Unicode character database -lib/unicore/lib/Scx/Limb.pl Unicode character database -lib/unicore/lib/Scx/Linb.pl Unicode character database -lib/unicore/lib/Scx/Mlym.pl Unicode character database -lib/unicore/lib/Scx/Mong.pl Unicode character database -lib/unicore/lib/Scx/Mult.pl Unicode character database -lib/unicore/lib/Scx/Mymr.pl Unicode character database -lib/unicore/lib/Scx/Orya.pl Unicode character database -lib/unicore/lib/Scx/Phlp.pl Unicode character database -lib/unicore/lib/Scx/Shrd.pl Unicode character database -lib/unicore/lib/Scx/Sind.pl Unicode character database -lib/unicore/lib/Scx/Sinh.pl Unicode character database -lib/unicore/lib/Sc/Xsux.pl Unicode character database -lib/unicore/lib/Scx/Syrc.pl Unicode character database -lib/unicore/lib/Scx/Tagb.pl Unicode character database -lib/unicore/lib/Scx/Takr.pl Unicode character database -lib/unicore/lib/Scx/Taml.pl Unicode character database -lib/unicore/lib/Scx/Telu.pl Unicode character database -lib/unicore/lib/Scx/Thaa.pl Unicode character database -lib/unicore/lib/Scx/Tirh.pl Unicode character database -lib/unicore/lib/Scx/Yi.pl Unicode character database -lib/unicore/lib/Scx/Zinh.pl Unicode character database -lib/unicore/lib/Scx/Zyyy.pl Unicode character database -lib/unicore/lib/Sc/Zinh.pl Unicode character database -lib/unicore/lib/Sc/Zyyy.pl Unicode character database -lib/unicore/lib/Sc/Zzzz.pl Unicode character database -lib/unicore/lib/SD/Y.pl Unicode character database -lib/unicore/lib/STerm/Y.pl Unicode character database -lib/unicore/lib/Term/Y.pl Unicode character database -lib/unicore/lib/UIdeo/Y.pl Unicode character database -lib/unicore/lib/Upper/Y.pl Unicode character database -lib/unicore/lib/WB/EX.pl Unicode character database -lib/unicore/lib/WB/FO.pl Unicode character database -lib/unicore/lib/WB/HL.pl Unicode character database -lib/unicore/lib/WB/KA.pl Unicode character database -lib/unicore/lib/WB/LE.pl Unicode character database -lib/unicore/lib/WB/MB.pl Unicode character database -lib/unicore/lib/WB/ML.pl Unicode character database -lib/unicore/lib/WB/MN.pl Unicode character database -lib/unicore/lib/WB/NU.pl Unicode character database -lib/unicore/lib/WB/XX.pl Unicode character database -lib/unicore/lib/XIDC/Y.pl Unicode character database -lib/unicore/lib/XIDS/Y.pl Unicode character database lib/unicore/LineBreak.txt Unicode character database lib/unicore/Makefile Unicode character database lib/unicore/mktables Unicode character database generator -lib/unicore/mktables.lst Unicode character database lib/unicore/NameAliases.txt Unicode character database lib/unicore/NamedSequences.txt Unicode character database lib/unicore/NamedSqProv.txt Unicode character database -lib/unicore/Name.pl Unicode character database -lib/unicore/Name.pm Unicode character database lib/unicore/NamesList.txt Unicode character database -lib/unicore/NormalizationCorrections.txt Unicode character database +lib/unicore/NormalizationCorrections.txt Unicode character database lib/unicore/PropertyAliases.txt Unicode character database lib/unicore/PropList.txt Unicode character database -lib/unicore/PropValueAliases.txt Unicode character database +lib/unicore/PropValueAliases.txt Unicode character database lib/unicore/README.perl Unicode character database lib/unicore/ReadMe.txt Unicode character database info -lib/unicore/ScriptExtensions.txt Unicode character database +lib/unicore/ScriptExtensions.txt Unicode character database lib/unicore/Scripts.txt Unicode character database lib/unicore/SpecialCasing.txt Unicode character database -lib/unicore/StandardizedVariants.txt Unicode character database -lib/unicore/TestProp.pl Unicode character database -lib/unicore/To/Age.pl Unicode character database -lib/unicore/To/Bc.pl Unicode character database -lib/unicore/To/Bmg.pl Unicode character database -lib/unicore/To/Bpb.pl Unicode character database -lib/unicore/To/Bpt.pl Unicode character database -lib/unicore/To/Cf.pl Unicode character database -lib/unicore/To/Digit.pl Unicode character database -lib/unicore/To/Ea.pl Unicode character database -lib/unicore/To/Fold.pl Unicode character database -lib/unicore/To/GCB.pl Unicode character database -lib/unicore/To/Gc.pl Unicode character database -lib/unicore/To/Hst.pl Unicode character database -lib/unicore/To/InPC.pl Unicode character database -lib/unicore/To/InSC.pl Unicode character database -lib/unicore/To/Isc.pl Unicode character database -lib/unicore/To/Jg.pl Unicode character database -lib/unicore/To/Jt.pl Unicode character database -lib/unicore/To/Lb.pl Unicode character database -lib/unicore/To/Lc.pl Unicode character database -lib/unicore/To/Lower.pl Unicode character database -lib/unicore/To/Na1.pl Unicode character database -lib/unicore/To/NameAlia.pl Unicode character database -lib/unicore/To/NFCQC.pl Unicode character database -lib/unicore/To/NFDQC.pl Unicode character database -lib/unicore/To/NFKCCF.pl Unicode character database -lib/unicore/To/NFKCQC.pl Unicode character database -lib/unicore/To/NFKDQC.pl Unicode character database -lib/unicore/To/Nt.pl Unicode character database -lib/unicore/To/Nv.pl Unicode character database -lib/unicore/To/PerlDeci.pl Unicode character database -lib/unicore/To/_PerlLB.pl Unicode character database -lib/unicore/To/_PerlWB.pl Unicode character database -lib/unicore/To/SB.pl Unicode character database -lib/unicore/To/Sc.pl Unicode character database -lib/unicore/To/Scx.pl Unicode character database -lib/unicore/To/Tc.pl Unicode character database -lib/unicore/To/Title.pl Unicode character database -lib/unicore/To/Uc.pl Unicode character database -lib/unicore/To/Upper.pl Unicode character database -lib/unicore/To/WB.pl Unicode character database -lib/unicore/UCD.pl Unicode character database +lib/unicore/StandardizedVariants.txt Unicode character database lib/unicore/UnicodeData.txt Unicode character database lib/unicore/version The version of the Unicode lib/UNIVERSAL.pm Base class for ALL classes @@ -5127,8 +4650,10 @@ pod/perl5220delta.pod Perl changes in version 5.22.0 pod/perl5221delta.pod Perl changes in version 5.22.1 pod/perl5222delta.pod Perl changes in version 5.22.2 pod/perl5223delta.pod Perl changes in version 5.22.3 +pod/perl5224delta.pod Perl changes in version 5.22.4 pod/perl5240delta.pod Perl changes in version 5.24.0 pod/perl5241delta.pod Perl changes in version 5.24.1 +pod/perl5242delta.pod Perl changes in version 5.24.2 pod/perl561delta.pod Perl changes in version 5.6.1 pod/perl56delta.pod Perl changes in version 5.6 pod/perl581delta.pod Perl changes in version 5.8.1 @@ -5227,7 +4752,6 @@ pod/perlunicode.pod Perl Unicode support pod/perlunicook.pod Perl Unicode cookbook pod/perlunifaq.pod Perl Unicode FAQ pod/perluniintro.pod Perl Unicode introduction -pod/perluniprops.pod Index of Unicode properties in Perl pod/perlunitut.pod Perl Unicode tutorial pod/perlutil.pod utilities packaged with the Perl distribution pod/perlvar.pod Perl predefined variables diff --git a/gnu/usr.bin/perl/META.json b/gnu/usr.bin/perl/META.json index 97ef248ca26..f7fc7b48647 100644 --- a/gnu/usr.bin/perl/META.json +++ b/gnu/usr.bin/perl/META.json @@ -124,6 +124,6 @@ "url" : "http://perl5.git.perl.org/" } }, - "version" : "5.024002", + "version" : "5.024003", "x_serialization_backend" : "JSON::PP version 2.27300_01" } diff --git a/gnu/usr.bin/perl/META.yml b/gnu/usr.bin/perl/META.yml index 797c6d0b04a..b78384456bc 100644 --- a/gnu/usr.bin/perl/META.yml +++ b/gnu/usr.bin/perl/META.yml @@ -111,5 +111,5 @@ resources: homepage: http://www.perl.org/ license: http://dev.perl.org/licenses/ repository: http://perl5.git.perl.org/ -version: '5.024002' +version: '5.024003' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff --git a/gnu/usr.bin/perl/Makefile.SH b/gnu/usr.bin/perl/Makefile.SH index e1ab2a44187..0b9cfab2800 100644 --- a/gnu/usr.bin/perl/Makefile.SH +++ b/gnu/usr.bin/perl/Makefile.SH @@ -464,7 +464,7 @@ shextract=`SH_to_target $SH` ## In the following dollars and backticks do not need the extra backslash. $spitshell >>$Makefile <>$Makefile <<'!NO!SUBS!' -#$(LIBPERL): $& $(perllib_objs) $(DYNALOADER) $(LIBPERLEXPORT) -#!NO!SUBS! -# case "$useshrplib" in -# true) -# $spitshell >>$Makefile <<'!NO!SUBS!' -# rm -f $@ -# $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) -#!NO!SUBS! -# case "$osname" in -# aix) -# $spitshell >>$Makefile <<'!NO!SUBS!' -# rm -f libperl$(OBJ_EXT) -# mv $@ libperl$(OBJ_EXT) -# $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) -#!NO!SUBS! -# ;; -# esac -# ;; -# *) -# $spitshell >>$Makefile <<'!NO!SUBS!' -# rm -f $(LIBPERL) -# $(AR) rc $(LIBPERL) $(perllib_objs) $(DYNALOADER) -# @$(ranlib) $(LIBPERL) -#!NO!SUBS! -# ;; -# esac -# $spitshell >>$Makefile <<'!NO!SUBS!' +$(LIBPERL): $& $(perllib_objs) $(DYNALOADER) $(LIBPERLEXPORT) +!NO!SUBS! + case "$useshrplib" in + true) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f $@ + $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) +!NO!SUBS! + case "$osname" in + aix) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f libperl$(OBJ_EXT) + mv $@ libperl$(OBJ_EXT) + $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) +!NO!SUBS! + ;; + esac + ;; + *) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f $(LIBPERL) + $(AR) rc $(LIBPERL) $(perllib_objs) $(DYNALOADER) + @$(ranlib) $(LIBPERL) +!NO!SUBS! + ;; + esac + $spitshell >>$Makefile <<'!NO!SUBS!' # How to build executables. @@ -964,6 +963,10 @@ NAMESPACEFLAGS = -force_flat_namespace esac $spitshell >>$Makefile <<'!NO!SUBS!' lib/buildcustomize.pl: $& $(miniperl_objs) write_buildcustomize.pl + -@rm -f miniperl.xok + $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ + $(miniperl_objs) $(libs) + $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' $(MINIPERL) -f write_buildcustomize.pl !NO!SUBS! ;; @@ -1063,7 +1066,10 @@ $(CONFIGPOD): config.sh $(MINIPERL_EXE) configpm Porting/Glossary lib/Config_git unidatafiles $(unidatafiles) pod/perluniprops.pod: uni.data uni.data: $(MINIPERL_EXE) $(CONFIGPM) lib/unicore/mktables $(nonxs_ext) - touch uni.data + $(MINIPERL) lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p +# Commented out so always runs, mktables looks at far more files than we +# can in this makefile to decide if needs to run or not +# touch uni.data # $(PERL_EXE) and ext because pod_lib.pl needs Digest::MD5 # But also this ensures that all extensions are built before we try to scan @@ -1079,9 +1085,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST $(MINIPERL) pod/perlmodlib.PL -q -pod/perl5242delta.pod: pod/perldelta.pod - $(RMS) pod/perl5242delta.pod - $(LNS) perldelta.pod pod/perl5242delta.pod +pod/perl5243delta.pod: pod/perldelta.pod + $(RMS) pod/perl5243delta.pod + $(LNS) perldelta.pod pod/perl5243delta.pod extra.pods: $(MINIPERL_EXE) -@test ! -f extra.pods || rm -f `cat extra.pods` @@ -1327,7 +1333,7 @@ _mopup: -rm -f *perl.xok -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump -rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl - -rm -f $(DTRACE_H) + -rm -f config.arch config.over $(DTRACE_H) _cleaner1: -cd os2; rm -f Makefile @@ -1379,18 +1385,18 @@ _cleaner2: -rmdir lib/Sys/Syslog lib/Sys lib/Sub lib/Search lib/Scalar -rmdir lib/Pod/Text lib/Pod/Simple lib/Pod/Perldoc lib/PerlIO/via -rmdir lib/PerlIO lib/Perl lib/Parse/CPAN lib/Parse lib/Params - -rmdir lib/OpenBSD lib/Net/FTP lib/Module/Load lib/Module/CoreList - -rmdir lib/Module lib/Memoize lib/Math/BigInt lib/Math/BigFloat - -rmdir lib/Math lib/MIME lib/Locale/Maketext lib/Locale/Codes - -rmdir lib/Locale lib/List/Util lib/List lib/JSON/PP lib/JSON lib/IPC - -rmdir lib/IO/Uncompress/Adapter lib/IO/Uncompress lib/IO/Socket - -rmdir lib/IO/Compress/Zlib lib/IO/Compress/Zip lib/IO/Compress/Gzip - -rmdir lib/IO/Compress/Base lib/IO/Compress/Adapter lib/IO/Compress - -rmdir lib/IO lib/I18N/LangTags lib/I18N lib/Hash/Util lib/Hash - -rmdir lib/HTTP lib/Filter/Util lib/Filter lib/File/Spec - -rmdir lib/ExtUtils/Typemaps lib/ExtUtils/ParseXS - -rmdir lib/ExtUtils/MakeMaker/version lib/ExtUtils/MakeMaker - -rmdir lib/ExtUtils/Liblist lib/ExtUtils/Constant lib/ExtUtils/Command + -rmdir lib/Net/FTP lib/Module/Load lib/Module/CoreList lib/Module + -rmdir lib/Memoize lib/Math/BigInt lib/Math/BigFloat lib/Math lib/MIME + -rmdir lib/Locale/Maketext lib/Locale/Codes lib/Locale lib/List/Util + -rmdir lib/List lib/JSON/PP lib/JSON lib/IPC lib/IO/Uncompress/Adapter + -rmdir lib/IO/Uncompress lib/IO/Socket lib/IO/Compress/Zlib + -rmdir lib/IO/Compress/Zip lib/IO/Compress/Gzip lib/IO/Compress/Base + -rmdir lib/IO/Compress/Adapter lib/IO/Compress lib/IO + -rmdir lib/I18N/LangTags lib/I18N lib/Hash/Util lib/Hash lib/HTTP + -rmdir lib/Filter/Util lib/Filter lib/File/Spec lib/ExtUtils/Typemaps + -rmdir lib/ExtUtils/ParseXS lib/ExtUtils/MakeMaker/version + -rmdir lib/ExtUtils/MakeMaker lib/ExtUtils/Liblist + -rmdir lib/ExtUtils/Constant lib/ExtUtils/Command -rmdir lib/ExtUtils/CBuilder/Platform/Windows -rmdir lib/ExtUtils/CBuilder/Platform lib/ExtUtils/CBuilder -rmdir lib/Exporter lib/Encode/Unicode lib/Encode/MIME/Header diff --git a/gnu/usr.bin/perl/NetWare/Makefile b/gnu/usr.bin/perl/NetWare/Makefile index 488b58cfa20..cdc013423d4 100644 --- a/gnu/usr.bin/perl/NetWare/Makefile +++ b/gnu/usr.bin/perl/NetWare/Makefile @@ -86,7 +86,7 @@ NLM_VERSION = 3,20,0 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW - -MODULE_DESC = "Perl 5.24.2 for NetWare" +MODULE_DESC = "Perl 5.24.3 for NetWare" CCTYPE = CodeWarrior C_COMPILER = mwccnlm -c CPP_COMPILER = mwccnlm @@ -462,7 +462,7 @@ INST_NW_TOP2 = $(INST_NW_DRV)\perl # versioned installation can be obtained by setting INST_TOP above to a # path that includes an arbitrary version string. # -INST_VER = \5.24.2 +INST_VER = \5.24.3 # # Comment this out if you DON'T want your perl installation to have diff --git a/gnu/usr.bin/perl/NetWare/config_H.wc b/gnu/usr.bin/perl/NetWare/config_H.wc index 686cd48a333..b44b7f98bb4 100644 --- a/gnu/usr.bin/perl/NetWare/config_H.wc +++ b/gnu/usr.bin/perl/NetWare/config_H.wc @@ -1042,7 +1042,7 @@ * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define ARCHLIB "c:\\perl\\5.24.2\\lib\\NetWare-x86-multi-thread" /**/ +#define ARCHLIB "c:\\perl\\5.24.3\\lib\\NetWare-x86-multi-thread" /**/ /*#define ARCHLIB_EXP "" /**/ /* ARCHNAME: @@ -1073,8 +1073,8 @@ * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ -#define BIN "c:\\perl\\5.24.2\\bin\\NetWare-x86-multi-thread" /**/ -#define BIN_EXP "c:\\perl\\5.24.2\\bin\\NetWare-x86-multi-thread" /**/ +#define BIN "c:\\perl\\5.24.3\\bin\\NetWare-x86-multi-thread" /**/ +#define BIN_EXP "c:\\perl\\5.24.3\\bin\\NetWare-x86-multi-thread" /**/ /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, @@ -3047,7 +3047,7 @@ * This symbol contains the ~name expanded version of SITEARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define SITEARCH "c:\\perl\\site\\5.24.2\\lib\\NetWare-x86-multi-thread" /**/ +#define SITEARCH "c:\\perl\\site\\5.24.3\\lib\\NetWare-x86-multi-thread" /**/ /*#define SITEARCH_EXP "" /**/ /* SITELIB: @@ -3070,7 +3070,7 @@ * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ -#define SITELIB "c:\\perl\\site\\5.24.2\\lib" /**/ +#define SITELIB "c:\\perl\\site\\5.24.3\\lib" /**/ /*#define SITELIB_EXP "" /**/ #define SITELIB_STEM "" /**/ diff --git a/gnu/usr.bin/perl/Porting/Maintainers.pl b/gnu/usr.bin/perl/Porting/Maintainers.pl index 7544867c6cf..705f6cb5381 100644 --- a/gnu/usr.bin/perl/Porting/Maintainers.pl +++ b/gnu/usr.bin/perl/Porting/Maintainers.pl @@ -1374,7 +1374,7 @@ use File::Glob qw(:case); }, 'Time::HiRes' => { - 'DISTRIBUTION' => 'RJBS/Time-HiRes-1.9728.tar.gz', + 'DISTRIBUTION' => 'JHI/Time-HiRes-1.9741.tar.gz', 'FILES' => q[dist/Time-HiRes], }, @@ -1623,9 +1623,6 @@ use File::Glob qw(:case); lib/vmsish.{pm,t} ], }, - 'openbsd' => { - 'FILES' => q[lib/Config_git.pl], - }, ); # legacy CPAN flag diff --git a/gnu/usr.bin/perl/Porting/cmpVERSION.pl b/gnu/usr.bin/perl/Porting/cmpVERSION.pl index 38dcb123f8d..1be598ed5f6 100644 --- a/gnu/usr.bin/perl/Porting/cmpVERSION.pl +++ b/gnu/usr.bin/perl/Porting/cmpVERSION.pl @@ -81,6 +81,7 @@ if ($exclude_upstream) { # usually because they pull in their version from some other file. my %skip; @skip{ + 'cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm', # just a test module 'cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm', # just a test module 'cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm', # just a test module 'cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm', # just a test module diff --git a/gnu/usr.bin/perl/Porting/config.sh b/gnu/usr.bin/perl/Porting/config.sh index d2994535b0f..38c2ecb0364 100644 --- a/gnu/usr.bin/perl/Porting/config.sh +++ b/gnu/usr.bin/perl/Porting/config.sh @@ -43,8 +43,8 @@ api_subversion='0' api_version='24' api_versionstring='5.24.0' ar='ar' -archlib='/tmp/mblead/lib/perl5/5.24.2/darwin-2level' -archlibexp='/tmp/mblead/lib/perl5/5.24.2/darwin-2level' +archlib='/tmp/mblead/lib/perl5/5.24.3/darwin-2level' +archlibexp='/tmp/mblead/lib/perl5/5.24.3/darwin-2level' archname64='' archname='darwin-2level' archobjs='' @@ -829,7 +829,7 @@ incpath='' incpth='/usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /usr/include /usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /usr/include /usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /usr/include' inews='' initialinstalllocation='/tmp/mblead/bin' -installarchlib='/tmp/mblead/lib/perl5/5.24.2/darwin-2level' +installarchlib='/tmp/mblead/lib/perl5/5.24.3/darwin-2level' installbin='/tmp/mblead/bin' installhtml1dir='' installhtml3dir='' @@ -837,13 +837,13 @@ installman1dir='/tmp/mblead/man/man1' installman3dir='/tmp/mblead/man/man3' installprefix='/tmp/mblead' installprefixexp='/tmp/mblead' -installprivlib='/tmp/mblead/lib/perl5/5.24.2' +installprivlib='/tmp/mblead/lib/perl5/5.24.3' installscript='/tmp/mblead/bin' -installsitearch='/tmp/mblead/lib/perl5/site_perl/5.24.2/darwin-2level' +installsitearch='/tmp/mblead/lib/perl5/site_perl/5.24.3/darwin-2level' installsitebin='/tmp/mblead/bin' installsitehtml1dir='' installsitehtml3dir='' -installsitelib='/tmp/mblead/lib/perl5/site_perl/5.24.2' +installsitelib='/tmp/mblead/lib/perl5/site_perl/5.24.3' installsiteman1dir='/tmp/mblead/man/man1' installsiteman3dir='/tmp/mblead/man/man3' installsitescript='/tmp/mblead/bin' @@ -968,7 +968,7 @@ perl_patchlevel='' perl_static_inline='static __inline__' perladmin='aaron@daybreak.nonet' perllibs='-lpthread -ldl -lm -lutil -lc' -perlpath='/tmp/mblead/bin/perl5.24.2' +perlpath='/tmp/mblead/bin/perl5.24.3' pg='pg' phostname='hostname' pidtype='pid_t' @@ -977,8 +977,8 @@ pmake='' pr='' prefix='/tmp/mblead' prefixexp='/tmp/mblead' -privlib='/tmp/mblead/lib/perl5/5.24.2' -privlibexp='/tmp/mblead/lib/perl5/5.24.2' +privlib='/tmp/mblead/lib/perl5/5.24.3' +privlibexp='/tmp/mblead/lib/perl5/5.24.3' procselfexe='' prototype='define' ptrsize='8' @@ -1044,17 +1044,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6, 0' sig_size='33' signal_t='void' -sitearch='/tmp/mblead/lib/perl5/site_perl/5.24.2/darwin-2level' -sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.24.2/darwin-2level' +sitearch='/tmp/mblead/lib/perl5/site_perl/5.24.3/darwin-2level' +sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.24.3/darwin-2level' sitebin='/tmp/mblead/bin' sitebinexp='/tmp/mblead/bin' sitehtml1dir='' sitehtml1direxp='' sitehtml3dir='' sitehtml3direxp='' -sitelib='/tmp/mblead/lib/perl5/site_perl/5.24.2' +sitelib='/tmp/mblead/lib/perl5/site_perl/5.24.3' sitelib_stem='/tmp/mblead/lib/perl5/site_perl' -sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.24.2' +sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.24.3' siteman1dir='/tmp/mblead/man/man1' siteman1direxp='/tmp/mblead/man/man1' siteman3dir='/tmp/mblead/man/man3' @@ -1080,7 +1080,7 @@ src='.' ssizetype='ssize_t' st_ino_sign='1' st_ino_size='8' -startperl='#!/tmp/mblead/bin/perl5.24.2' +startperl='#!/tmp/mblead/bin/perl5.24.3' startsh='#!/bin/sh' static_ext=' ' stdchar='char' @@ -1093,7 +1093,7 @@ stdio_stream_array='' strerror_r_proto='0' strings='/usr/include/string.h' submit='' -subversion='2' +subversion='3' sysman='/usr/share/man/man1' sysroot='' tail='' @@ -1192,8 +1192,8 @@ vendorprefix='' vendorprefixexp='' vendorscript='' vendorscriptexp='' -version='5.24.2' -version_patchlevel_string='version 24 subversion 2' +version='5.24.3' +version_patchlevel_string='version 24 subversion 3' versiononly='define' vi='' xlibpth='/usr/lib/386 /lib/386' @@ -1203,7 +1203,7 @@ zcat='' zip='zip' PERL_REVISION=5 PERL_VERSION=24 -PERL_SUBVERSION=2 +PERL_SUBVERSION=3 PERL_API_REVISION=5 PERL_API_VERSION=24 PERL_API_SUBVERSION=0 diff --git a/gnu/usr.bin/perl/Porting/config_H b/gnu/usr.bin/perl/Porting/config_H index 33f611cc35a..b8c3037ea44 100644 --- a/gnu/usr.bin/perl/Porting/config_H +++ b/gnu/usr.bin/perl/Porting/config_H @@ -960,8 +960,8 @@ * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define ARCHLIB "/pro/lib/perl5/5.24.2/i686-linux-64int-ld" /**/ -#define ARCHLIB_EXP "/pro/lib/perl5/5.24.2/i686-linux-64int-ld" /**/ +#define ARCHLIB "/pro/lib/perl5/5.24.3/i686-linux-64int-ld" /**/ +#define ARCHLIB_EXP "/pro/lib/perl5/5.24.3/i686-linux-64int-ld" /**/ /* ARCHNAME: * This symbol holds a string representing the architecture name. @@ -2068,8 +2068,8 @@ * This symbol contains the ~name expanded version of PRIVLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define PRIVLIB "/pro/lib/perl5/5.24.2" /**/ -#define PRIVLIB_EXP "/pro/lib/perl5/5.24.2" /**/ +#define PRIVLIB "/pro/lib/perl5/5.24.3" /**/ +#define PRIVLIB_EXP "/pro/lib/perl5/5.24.3" /**/ /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor @@ -2119,8 +2119,8 @@ * This symbol contains the ~name expanded version of SITEARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define SITEARCH "/pro/lib/perl5/site_perl/5.24.2/i686-linux-64int-ld" /**/ -#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.24.2/i686-linux-64int-ld" /**/ +#define SITEARCH "/pro/lib/perl5/site_perl/5.24.3/i686-linux-64int-ld" /**/ +#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.24.3/i686-linux-64int-ld" /**/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -2142,8 +2142,8 @@ * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ -#define SITELIB "/pro/lib/perl5/site_perl/5.24.2" /**/ -#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.24.2" /**/ +#define SITELIB "/pro/lib/perl5/site_perl/5.24.3" /**/ +#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.24.3" /**/ #define SITELIB_STEM "/pro/lib/perl5/site_perl" /**/ /* SSize_t: @@ -4282,7 +4282,7 @@ * script to make sure (one hopes) that it runs with perl and not * some shell. */ -#define STARTPERL "#!/pro/bin/perl5.24.2" /**/ +#define STARTPERL "#!/pro/bin/perl5.24.3" /**/ /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array diff --git a/gnu/usr.bin/perl/Porting/epigraphs.pod b/gnu/usr.bin/perl/Porting/epigraphs.pod index 10753bf47b5..633aafdd293 100644 --- a/gnu/usr.bin/perl/Porting/epigraphs.pod +++ b/gnu/usr.bin/perl/Porting/epigraphs.pod @@ -17,6 +17,92 @@ Consult your favorite dictionary for details. =head1 EPIGRAPHS +=head2 v5.27.4 - Richard Brautigan, "All Watched Over By Machines Of Loving Grace" + +L + + I like to think (and + the sooner the better!) + of a cybernetic meadow + where mammals and computers + live together in mutually + programming harmony + like pure water + touching clear sky. + + I like to think + (right now, please!) + of a cybernetic forest + filled with pines and electronics + where deer stroll peacefully + past computers + as if they were flowers + with spinning blossoms. + + I like to think + (it has to be!) + of a cybernetic ecology + where we are free of our labors + and joined back to nature, + returned to our mammal + brothers and sisters, + and all watched over + by machines of loving grace. + +=head2 v5.27.3 - Rodgers and Hammerstein, "You'll Never Walk Alone" + +L + + When you walk through a storm + Hold your head up high + And don't be afraid of the dark + + At the end of a storm + There's a golden sky + And the sweet silver song of a lark + + Walk on through the wind + Walk on through the rain + Though your dreams be tossed and blown + + Walk on, walk on + With hope in your heart + And you'll never walk alone + + You'll never walk alone + + Walk on, walk on + With hope in your heart + And you'll never walk alone + + You'll never walk alone + +=head2 v5.27.2 - Lev Grossman, Codex + +L + + He went back for another stack of books: a three-volume English legal + treatise; a travel guide to Tuscany from the '20s crammed with faded + Italian wildflowers that fluttered out from between the pages like + moths; a French edition of Turgeniev so decayed that it came apart in + his hands; a register of London society from 1863. In a way it was + idiotic. He was treating these books like they were holy relics. It + wasn't like he would ever actually read them. But there was something + magnetic about them, something that compelled respect, even the silly + ones, like the Enlightenment treatise about how lightning was caused + by bees. They were information, data, but not in the form he was used + to dealing with it. They were non-digital, nonelectrical chunks of + memory, not stamped out of silicon but laboriously crafted out of wood + pulp and ink, leather and glue. Somebody had cared enough to write + these things; somebody else had cared enough to buy them, possibly + even read them, at the very least keep them safe for 150 years, + sometimes longer, when they could have vanished at the touch of a + spark. That made them worth something, didn't it, just by itself? + Though most of them would have bored him rigid the second he cracked + them open, which there wasn't much chance of. Maybe that was what he + found so appealing: the sight of so many books that he'd never have to + read, so much work he'd never have to do. + =head2 v5.27.1 - Rona Munro, Doctor Who: Survival L @@ -45,6 +131,35 @@ L + + At length did cross an Albatross, + Thorough the fog it came; + As if it had been a Christian soul, + We hailed it in God's name. + + It ate the food it ne'er had eat, + And round and round it flew. + The ice did split with a thunder-fit; + The helmsman steered us through! + + And a good south wind sprung up behind; + The Albatross did follow, + And every day, for food or play, + Came to the mariner's hollo! + + In mist or cloud, on mast or shroud, + It perched for vespers nine; + Whiles all the night, through fog-smoke white, + Glimmered the white Moon-shine.' + + 'God save thee, ancient Mariner! + From the fiends, that plague thee thus!— + Why look'st thou so?'—With my cross-bow + I shot the ALBATROSS. + =head2 v5.26.0 - Nine Simone, Ain't Got No / I Got Life L @@ -289,6 +404,61 @@ L + + 'And now the STORM-BLAST came, and he + Was tyrannous and strong: + He struck with his o'ertaking wings, + And chased us south along. + + With sloping masts and dipping prow, + As who pursued with yell and blow + Still treads the shadow of his foe, + And forward bends his head, + The ship drove fast, loud roared the blast, + And southward aye we fled. + + And now there came both mist and snow, + And it grew wondrous cold: + And ice, mast-high, came floating by, + As green as emerald. + + And through the drifts the snowy clifts + Did send a dismal sheen: + Nor shapes of men nor beasts we ken— + The ice was all between. + + The ice was here, the ice was there, + The ice was all around: + It cracked and growled, and roared and howled, + Like noises in a swound! + +=head2 v5.24.2 - Roald Dahl, "The Three Little Pigs" + +L + + A short while later, through the wood, + Came striding brave Miss Riding Hood. + The Wolf stood there, his eyes ablaze + And yellowish, like mayonnaise. + His teeth were sharp, his gums were raw, + And spit was dripping from his jaw. + Once more the maiden's eyelid flickers. + She draws the pistol from her knickers. + Once more, she hits the vital spot, + And kills him with a single shot. + Pig, peeping through the window, stood + And yelled, 'Well done, Miss Riding Hood!' + + Ah, Piglet, you must never trust + Young ladies from the upper crust. + For now, Miss Riding Hood, one notes, + Not only has two wolfskin coats, + But when she goes from place to place, + She has a PIGSKIN TRAVELLING CASE. + =head2 v5.24.2-RC1 - Roald Dahl, "The Three Little Pigs" L @@ -833,6 +1003,28 @@ L + + Then Little Red Riding Hood said, 'But Grandma, + what a lovely great big furry coat you have on.' + 'That's wrong!' cried Wolf. 'Have you forgot + 'To tell me what BIG TEETH I've got? + 'Ah well, no matter what you say, + 'I'm going to eat you anyway.' + The small girl smiles. One eyelid flickers. + She whips a pistol from her knickers. + She aims it at the creature's head + And bang bang bang, she shoots him dead. + + A few weeks later, in the wood, + I came across Miss Riding Hood. + But what a change! No cloak of red, + No silly hood upon her head. + She said, 'Hello, and do please note + 'My lovely furry WOLFSKIN COAT.' + =head2 v5.22.4-RC1 - Roald Dahl, "Little Red Riding Hood and the Wolf" L diff --git a/gnu/usr.bin/perl/Porting/perldelta_template.pod b/gnu/usr.bin/perl/Porting/perldelta_template.pod index 07158987bd0..5f8ce7ebc4d 100644 --- a/gnu/usr.bin/perl/Porting/perldelta_template.pod +++ b/gnu/usr.bin/perl/Porting/perldelta_template.pod @@ -378,7 +378,7 @@ here. XXX Generate this with: - perl Porting/acknowledgements.pl v5.24.2..HEAD + perl Porting/acknowledgements.pl v5.24.3..HEAD =head1 Reporting Bugs diff --git a/gnu/usr.bin/perl/Porting/pumpkin.pod b/gnu/usr.bin/perl/Porting/pumpkin.pod index 74110428f7d..3618eec7799 100644 --- a/gnu/usr.bin/perl/Porting/pumpkin.pod +++ b/gnu/usr.bin/perl/Porting/pumpkin.pod @@ -540,9 +540,9 @@ Here's how I generate a new patch. I'll use the hypothetical 5.004_07 to 5.004_08 patch as an example. # unpack perl5.004_07/ - gzip -d -c perl5.004_07.tar.gz | tar -xf - + gzip -d -c perl5.004_07.tar.gz | tar -xof - # unpack perl5.004_08/ - gzip -d -c perl5.004_08.tar.gz | tar -xf - + gzip -d -c perl5.004_08.tar.gz | tar -xof - makepatch perl5.004_07 perl5.004_08 > perl5.004_08.pat Makepatch will automatically generate appropriate B commands to remove diff --git a/gnu/usr.bin/perl/Porting/todo.pod b/gnu/usr.bin/perl/Porting/todo.pod index c32a13b4940..0869a3c486e 100644 --- a/gnu/usr.bin/perl/Porting/todo.pod +++ b/gnu/usr.bin/perl/Porting/todo.pod @@ -467,7 +467,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall. On these systems, it might be the default compilation mode, and there is currently no guarantee that passing no use64bitall option to the Configure process will build a 32bit perl. Implementing -Duse32bit* -options would be nice for perl 5.24.2. +options would be nice for perl 5.24.3. =head2 Profile Perl - am I hot or not? @@ -1170,7 +1170,7 @@ L =head1 Big projects Tasks that will get your name mentioned in the description of the "Highlights -of 5.24.2" +of 5.24.3" =head2 make ithreads more robust diff --git a/gnu/usr.bin/perl/README.haiku b/gnu/usr.bin/perl/README.haiku index a2e6dc893e0..6055b2aa458 100644 --- a/gnu/usr.bin/perl/README.haiku +++ b/gnu/usr.bin/perl/README.haiku @@ -22,9 +22,9 @@ The build procedure is completely standard: Make perl executable and create a symlink for libperl: chmod a+x /boot/common/bin/perl - cd /boot/common/lib; ln -s perl5/5.24.2/BePC-haiku/CORE/libperl.so . + cd /boot/common/lib; ln -s perl5/5.24.3/BePC-haiku/CORE/libperl.so . -Replace C<5.24.2> with your respective version of Perl. +Replace C<5.24.3> with your respective version of Perl. =head1 KNOWN PROBLEMS diff --git a/gnu/usr.bin/perl/README.macosx b/gnu/usr.bin/perl/README.macosx index 347489e2a7b..8493148b1e3 100644 --- a/gnu/usr.bin/perl/README.macosx +++ b/gnu/usr.bin/perl/README.macosx @@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X This document briefly describes Perl under Mac OS X. - curl -O http://www.cpan.org/src/perl-5.24.2.tar.gz - tar -xzf perl-5.24.2.tar.gz - cd perl-5.24.2 + curl -O http://www.cpan.org/src/perl-5.24.3.tar.gz + tar -xzf perl-5.24.3.tar.gz + cd perl-5.24.3 ./Configure -des -Dprefix=/usr/local/ make make test @@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X. =head1 DESCRIPTION -The latest Perl release (5.24.2 as of this writing) builds without changes +The latest Perl release (5.24.3 as of this writing) builds without changes under all versions of Mac OS X from 10.3 "Panther" onwards. In order to build your own version of Perl you will need 'make', diff --git a/gnu/usr.bin/perl/README.os2 b/gnu/usr.bin/perl/README.os2 index 6b9367806b4..9d5a9801332 100644 --- a/gnu/usr.bin/perl/README.os2 +++ b/gnu/usr.bin/perl/README.os2 @@ -619,7 +619,7 @@ C in F, see L<"PERLLIB_PREFIX">. =item Additional Perl modules - unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.24.2/ + unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.24.3/ Same remark as above applies. Additionally, if this directory is not one of directories on @INC (and @INC is influenced by C), you diff --git a/gnu/usr.bin/perl/README.vms b/gnu/usr.bin/perl/README.vms index b527ecfdf8b..cb31e5bcc71 100644 --- a/gnu/usr.bin/perl/README.vms +++ b/gnu/usr.bin/perl/README.vms @@ -142,11 +142,11 @@ You may need to set up a foreign symbol for the unpacking utility of choice. Once you have done so, use a command like the following to unpack the archive: - vmstar -xvf perl-5^.24^.2.tar + vmstar -xvf perl-5^.24^.3.tar Then set default to the top-level source directory like so: - set default [.perl-5^.24^.2] + set default [.perl-5^.24^.3] and proceed with configuration as described in the next section. diff --git a/gnu/usr.bin/perl/configpm b/gnu/usr.bin/perl/configpm index 2e44893d45f..21bd3ef4f1b 100644 --- a/gnu/usr.bin/perl/configpm +++ b/gnu/usr.bin/perl/configpm @@ -1108,18 +1108,6 @@ my $orig_heavy_txt = ""; } if ($orig_config_txt ne $config_txt or $orig_heavy_txt ne $heavy_txt) { - # During the build don't look in /usr/local for libs or includes - # but after, we want to let modules look there. - my $install_heavy_txt = $heavy_txt; - $install_heavy_txt =~ s,^(ccflags|cppflags)[^=]*='[^']+,$& -I/usr/local/include,gm; - $install_heavy_txt =~ s,^(ldflags|lddlflags)[^=]*='[^']+,$& -L/usr/local/lib,gm; - - open INSTALL_CONFIG_HEAVY, ">", "$Config_heavy.install" - or die "Can't open install $Config_heavy: $!\n"; - print INSTALL_CONFIG_HEAVY $install_heavy_txt; - close INSTALL_CONFIG_HEAVY; - print "updated install $Config_heavy\n"; - open CONFIG, ">", $Config_PM or die "Can't open $Config_PM: $!\n"; open CONFIG_HEAVY, ">", $Config_heavy or die "Can't open $Config_heavy: $!\n"; print CONFIG $config_txt; diff --git a/gnu/usr.bin/perl/configure.com b/gnu/usr.bin/perl/configure.com index ffcbc223b94..30280f420fd 100644 --- a/gnu/usr.bin/perl/configure.com +++ b/gnu/usr.bin/perl/configure.com @@ -1354,7 +1354,8 @@ $ vms_cc_available = vms_cc_available + "cc/decc " $ ENDIF $ ELSE $ IF (F$LOCATE("DEC",line).NE.F$LENGTH(line)).or.(F$LOCATE("Compaq",line).NE.F$LENGTH(line)) - - .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line)) + .or.(F$LOCATE("HP",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line)) - + .or.(F$LOCATE("VSI",F$EDIT(line,"UPCASE")).NE.F$LENGTH(line)) $ THEN $ vms_cc_dflt = "/decc" $ vms_cc_available = vms_cc_available + "cc/decc " @@ -1491,7 +1492,8 @@ $ THEN $ ans = F$EDIT(ans,"TRIM, COMPRESS, LOWERCASE") $ Mcc = ans $ IF (F$LOCATE("dec",ans).NE.F$LENGTH(ans)).or.(F$LOCATE("compaq",ans).NE.F$LENGTH(ans)) - - .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans)) + .or.(F$LOCATE("hp",ans).NE.F$LENGTH(ans)) - + .or.(F$LOCATE("vsi",ans).NE.F$LENGTH(ans)) $ THEN $ Mcc = "cc/decc" $! CPQ ? @@ -1508,7 +1510,8 @@ $ ELSE ! Not_cxx $ IF Mcc.NES.dflt $ THEN $ IF F$LOCATE("dec",dflt) .NE. F$LENGTH(dflt) .or. - - F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt) + F$LOCATE("compaq",dflt) .NE. F$LENGTH(dflt) - + .or.(F$LOCATE("vsi",dflt).NE.F$LENGTH(dflt)) $ THEN $ C_COMPILER_Replace = "CC=cc=''Mcc'" $ ELSE diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm index 9d7e5ed262d..47aebd60743 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm @@ -35,8 +35,7 @@ sub MY::libscan my $path = shift; return undef - if $path =~ /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/ || - $path =~ /(~|\.bak|_bak)$/ || + if $path =~ /(~|\.bak|_bak)$/ || $path =~ /\..*\.sw(o|p)$/ || $path =~ /\B\.svn\b/; diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/private/MakeUtil.pm b/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/private/MakeUtil.pm index 9d7e5ed262d..47aebd60743 100644 --- a/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/private/MakeUtil.pm +++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/private/MakeUtil.pm @@ -35,8 +35,7 @@ sub MY::libscan my $path = shift; return undef - if $path =~ /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/ || - $path =~ /(~|\.bak|_bak)$/ || + if $path =~ /(~|\.bak|_bak)$/ || $path =~ /\..*\.sw(o|p)$/ || $path =~ /\B\.svn\b/; diff --git a/gnu/usr.bin/perl/cpan/Digest-MD5/MD5.xs b/gnu/usr.bin/perl/cpan/Digest-MD5/MD5.xs index d8b156370f6..acefc30711e 100644 --- a/gnu/usr.bin/perl/cpan/Digest-MD5/MD5.xs +++ b/gnu/usr.bin/perl/cpan/Digest-MD5/MD5.xs @@ -39,8 +39,6 @@ extern "C" { #include "EXTERN.h" #include "perl.h" #include "XSUB.h" -#include -#include #ifdef __cplusplus } #endif @@ -90,6 +88,61 @@ static MAGIC *THX_sv_magicext(pTHX_ SV *sv, SV *obj, int type, # define SvPVbyte(sv, lp) (sv_utf8_downgrade((sv), 0), SvPV((sv), (lp))) #endif +/* Perl does not guarantee that U32 is exactly 32 bits. Some system + * has no integral type with exactly 32 bits. For instance, A Cray has + * short, int and long all at 64 bits so we need to apply this macro + * to reduce U32 values to 32 bits at appropriate places. If U32 + * really does have 32 bits then this is a no-op. + */ +#if BYTEORDER > 0x4321 || defined(TRUNCATE_U32) + #define TO32(x) ((x) & 0xFFFFffff) + #define TRUNC32(x) ((x) &= 0xFFFFffff) +#else + #define TO32(x) (x) + #define TRUNC32(x) /*nothing*/ +#endif + +/* The MD5 algorithm is defined in terms of little endian 32-bit + * values. The following macros (and functions) allow us to convert + * between native integers and such values. + */ +#undef BYTESWAP +#ifndef U32_ALIGNMENT_REQUIRED + #if BYTEORDER == 0x1234 /* 32-bit little endian */ + #define BYTESWAP(x) (x) /* no-op */ + + #elif BYTEORDER == 0x4321 /* 32-bit big endian */ + #define BYTESWAP(x) ((((x)&0xFF)<<24) \ + |(((x)>>24)&0xFF) \ + |(((x)&0x0000FF00)<<8) \ + |(((x)&0x00FF0000)>>8) ) + #endif +#endif + +#ifndef BYTESWAP +static void u2s(U32 u, U8* s) +{ + *s++ = (U8)(u & 0xFF); + *s++ = (U8)((u >> 8) & 0xFF); + *s++ = (U8)((u >> 16) & 0xFF); + *s = (U8)((u >> 24) & 0xFF); +} + +#define s2u(s,u) ((u) = (U32)(*s) | \ + ((U32)(*(s+1)) << 8) | \ + ((U32)(*(s+2)) << 16) | \ + ((U32)(*(s+3)) << 24)) +#endif + +/* This structure keeps the current state of algorithm. + */ +typedef struct { + U32 A, B, C, D; /* current digest */ + U32 bytes_low; /* counts bytes in message */ + U32 bytes_high; /* turn it into a 64-bit counter */ + U8 buffer[128]; /* collect complete 64 byte blocks */ +} MD5_CTX; + #if defined(USE_ITHREADS) && defined(MGf_DUP) STATIC int dup_md5_ctx(pTHX_ MAGIC *mg, CLONE_PARAMS *params) { @@ -126,6 +179,325 @@ const STATIC struct { }; #endif + +/* Padding is added at the end of the message in order to fill a + * complete 64 byte block (- 8 bytes for the message length). The + * padding is also the reason the buffer in MD5_CTX have to be + * 128 bytes. + */ +static const unsigned char PADDING[64] = { + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +}; + +/* Constants for MD5Transform routine. + */ +#define S11 7 +#define S12 12 +#define S13 17 +#define S14 22 +#define S21 5 +#define S22 9 +#define S23 14 +#define S24 20 +#define S31 4 +#define S32 11 +#define S33 16 +#define S34 23 +#define S41 6 +#define S42 10 +#define S43 15 +#define S44 21 + +/* F, G, H and I are basic MD5 functions. + */ +#define F(x, y, z) ((((x) & ((y) ^ (z))) ^ (z))) +#define G(x, y, z) F(z, x, y) +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define I(x, y, z) ((y) ^ ((x) | (~z))) + +/* ROTATE_LEFT rotates x left n bits. + */ +#define ROTATE_LEFT(x, n) (((x) << (n) | ((x) >> (32-(n))))) + +/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4. + * Rotation is separate from addition to prevent recomputation. + */ +#define FF(a, b, c, d, s, ac) \ + (a) += F ((b), (c), (d)) + (NEXTx) + (U32)(ac); \ + TRUNC32((a)); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + TRUNC32((a)); + +#define GG(a, b, c, d, x, s, ac) \ + (a) += G ((b), (c), (d)) + X[x] + (U32)(ac); \ + TRUNC32((a)); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + TRUNC32((a)); + +#define HH(a, b, c, d, x, s, ac) \ + (a) += H ((b), (c), (d)) + X[x] + (U32)(ac); \ + TRUNC32((a)); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + TRUNC32((a)); + +#define II(a, b, c, d, x, s, ac) \ + (a) += I ((b), (c), (d)) + X[x] + (U32)(ac); \ + TRUNC32((a)); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + TRUNC32((a)); + + +static void +MD5Init(MD5_CTX *ctx) +{ + /* Start state */ + ctx->A = 0x67452301; + ctx->B = 0xefcdab89; + ctx->C = 0x98badcfe; + ctx->D = 0x10325476; + + /* message length */ + ctx->bytes_low = ctx->bytes_high = 0; +} + + +static void +MD5Transform(MD5_CTX* ctx, const U8* buf, STRLEN blocks) +{ +#ifdef MD5_DEBUG + static int tcount = 0; +#endif + + U32 A = ctx->A; + U32 B = ctx->B; + U32 C = ctx->C; + U32 D = ctx->D; + +#ifndef U32_ALIGNMENT_REQUIRED + const U32 *x = (U32*)buf; /* really just type casting */ +#endif + + do { + U32 a = A; + U32 b = B; + U32 c = C; + U32 d = D; + +#if BYTEORDER == 0x1234 && !defined(U32_ALIGNMENT_REQUIRED) + const U32 *X = x; + #define NEXTx (*x++) +#else + U32 X[16]; /* converted values, used in round 2-4 */ + U32 *uptr = X; + U32 tmp; + #ifdef BYTESWAP + #define NEXTx (tmp=*x++, *uptr++ = BYTESWAP(tmp)) + #else + #define NEXTx (s2u(buf,tmp), buf += 4, *uptr++ = tmp) + #endif +#endif + +#ifdef MD5_DEBUG + if (buf == ctx->buffer) + fprintf(stderr,"%5d: Transform ctx->buffer", ++tcount); + else + fprintf(stderr,"%5d: Transform %p (%d)", ++tcount, buf, blocks); + + { + int i; + fprintf(stderr,"["); + for (i = 0; i < 16; i++) { + fprintf(stderr,"%x,", x[i]); + } + fprintf(stderr,"]\n"); + } +#endif + + /* Round 1 */ + FF (a, b, c, d, S11, 0xd76aa478); /* 1 */ + FF (d, a, b, c, S12, 0xe8c7b756); /* 2 */ + FF (c, d, a, b, S13, 0x242070db); /* 3 */ + FF (b, c, d, a, S14, 0xc1bdceee); /* 4 */ + FF (a, b, c, d, S11, 0xf57c0faf); /* 5 */ + FF (d, a, b, c, S12, 0x4787c62a); /* 6 */ + FF (c, d, a, b, S13, 0xa8304613); /* 7 */ + FF (b, c, d, a, S14, 0xfd469501); /* 8 */ + FF (a, b, c, d, S11, 0x698098d8); /* 9 */ + FF (d, a, b, c, S12, 0x8b44f7af); /* 10 */ + FF (c, d, a, b, S13, 0xffff5bb1); /* 11 */ + FF (b, c, d, a, S14, 0x895cd7be); /* 12 */ + FF (a, b, c, d, S11, 0x6b901122); /* 13 */ + FF (d, a, b, c, S12, 0xfd987193); /* 14 */ + FF (c, d, a, b, S13, 0xa679438e); /* 15 */ + FF (b, c, d, a, S14, 0x49b40821); /* 16 */ + + /* Round 2 */ + GG (a, b, c, d, 1, S21, 0xf61e2562); /* 17 */ + GG (d, a, b, c, 6, S22, 0xc040b340); /* 18 */ + GG (c, d, a, b, 11, S23, 0x265e5a51); /* 19 */ + GG (b, c, d, a, 0, S24, 0xe9b6c7aa); /* 20 */ + GG (a, b, c, d, 5, S21, 0xd62f105d); /* 21 */ + GG (d, a, b, c, 10, S22, 0x2441453); /* 22 */ + GG (c, d, a, b, 15, S23, 0xd8a1e681); /* 23 */ + GG (b, c, d, a, 4, S24, 0xe7d3fbc8); /* 24 */ + GG (a, b, c, d, 9, S21, 0x21e1cde6); /* 25 */ + GG (d, a, b, c, 14, S22, 0xc33707d6); /* 26 */ + GG (c, d, a, b, 3, S23, 0xf4d50d87); /* 27 */ + GG (b, c, d, a, 8, S24, 0x455a14ed); /* 28 */ + GG (a, b, c, d, 13, S21, 0xa9e3e905); /* 29 */ + GG (d, a, b, c, 2, S22, 0xfcefa3f8); /* 30 */ + GG (c, d, a, b, 7, S23, 0x676f02d9); /* 31 */ + GG (b, c, d, a, 12, S24, 0x8d2a4c8a); /* 32 */ + + /* Round 3 */ + HH (a, b, c, d, 5, S31, 0xfffa3942); /* 33 */ + HH (d, a, b, c, 8, S32, 0x8771f681); /* 34 */ + HH (c, d, a, b, 11, S33, 0x6d9d6122); /* 35 */ + HH (b, c, d, a, 14, S34, 0xfde5380c); /* 36 */ + HH (a, b, c, d, 1, S31, 0xa4beea44); /* 37 */ + HH (d, a, b, c, 4, S32, 0x4bdecfa9); /* 38 */ + HH (c, d, a, b, 7, S33, 0xf6bb4b60); /* 39 */ + HH (b, c, d, a, 10, S34, 0xbebfbc70); /* 40 */ + HH (a, b, c, d, 13, S31, 0x289b7ec6); /* 41 */ + HH (d, a, b, c, 0, S32, 0xeaa127fa); /* 42 */ + HH (c, d, a, b, 3, S33, 0xd4ef3085); /* 43 */ + HH (b, c, d, a, 6, S34, 0x4881d05); /* 44 */ + HH (a, b, c, d, 9, S31, 0xd9d4d039); /* 45 */ + HH (d, a, b, c, 12, S32, 0xe6db99e5); /* 46 */ + HH (c, d, a, b, 15, S33, 0x1fa27cf8); /* 47 */ + HH (b, c, d, a, 2, S34, 0xc4ac5665); /* 48 */ + + /* Round 4 */ + II (a, b, c, d, 0, S41, 0xf4292244); /* 49 */ + II (d, a, b, c, 7, S42, 0x432aff97); /* 50 */ + II (c, d, a, b, 14, S43, 0xab9423a7); /* 51 */ + II (b, c, d, a, 5, S44, 0xfc93a039); /* 52 */ + II (a, b, c, d, 12, S41, 0x655b59c3); /* 53 */ + II (d, a, b, c, 3, S42, 0x8f0ccc92); /* 54 */ + II (c, d, a, b, 10, S43, 0xffeff47d); /* 55 */ + II (b, c, d, a, 1, S44, 0x85845dd1); /* 56 */ + II (a, b, c, d, 8, S41, 0x6fa87e4f); /* 57 */ + II (d, a, b, c, 15, S42, 0xfe2ce6e0); /* 58 */ + II (c, d, a, b, 6, S43, 0xa3014314); /* 59 */ + II (b, c, d, a, 13, S44, 0x4e0811a1); /* 60 */ + II (a, b, c, d, 4, S41, 0xf7537e82); /* 61 */ + II (d, a, b, c, 11, S42, 0xbd3af235); /* 62 */ + II (c, d, a, b, 2, S43, 0x2ad7d2bb); /* 63 */ + II (b, c, d, a, 9, S44, 0xeb86d391); /* 64 */ + + A += a; TRUNC32(A); + B += b; TRUNC32(B); + C += c; TRUNC32(C); + D += d; TRUNC32(D); + + } while (--blocks); + ctx->A = A; + ctx->B = B; + ctx->C = C; + ctx->D = D; +} + + +#ifdef MD5_DEBUG +static char* +ctx_dump(MD5_CTX* ctx) +{ + static char buf[1024]; + sprintf(buf, "{A=%x,B=%x,C=%x,D=%x,%d,%d(%d)}", + ctx->A, ctx->B, ctx->C, ctx->D, + ctx->bytes_low, ctx->bytes_high, (ctx->bytes_low&0x3F)); + return buf; +} +#endif + + +static void +MD5Update(MD5_CTX* ctx, const U8* buf, STRLEN len) +{ + STRLEN blocks; + STRLEN fill = ctx->bytes_low & 0x3F; + +#ifdef MD5_DEBUG + static int ucount = 0; + fprintf(stderr,"%5i: Update(%s, %p, %d)\n", ++ucount, ctx_dump(ctx), + buf, len); +#endif + + ctx->bytes_low += len; + if (ctx->bytes_low < len) /* wrap around */ + ctx->bytes_high++; + + if (fill) { + STRLEN missing = 64 - fill; + if (len < missing) { + Copy(buf, ctx->buffer + fill, len, U8); + return; + } + Copy(buf, ctx->buffer + fill, missing, U8); + MD5Transform(ctx, ctx->buffer, 1); + buf += missing; + len -= missing; + } + + blocks = len >> 6; + if (blocks) + MD5Transform(ctx, buf, blocks); + if ( (len &= 0x3F)) { + Copy(buf + (blocks << 6), ctx->buffer, len, U8); + } +} + + +static void +MD5Final(U8* digest, MD5_CTX *ctx) +{ + STRLEN fill = ctx->bytes_low & 0x3F; + STRLEN padlen = (fill < 56 ? 56 : 120) - fill; + U32 bits_low, bits_high; +#ifdef MD5_DEBUG + fprintf(stderr," Final: %s\n", ctx_dump(ctx)); +#endif + Copy(PADDING, ctx->buffer + fill, padlen, U8); + fill += padlen; + + bits_low = ctx->bytes_low << 3; + bits_high = (ctx->bytes_high << 3) | (ctx->bytes_low >> 29); +#ifdef BYTESWAP + *(U32*)(ctx->buffer + fill) = BYTESWAP(bits_low); fill += 4; + *(U32*)(ctx->buffer + fill) = BYTESWAP(bits_high); fill += 4; +#else + u2s(bits_low, ctx->buffer + fill); fill += 4; + u2s(bits_high, ctx->buffer + fill); fill += 4; +#endif + + MD5Transform(ctx, ctx->buffer, fill >> 6); +#ifdef MD5_DEBUG + fprintf(stderr," Result: %s\n", ctx_dump(ctx)); +#endif + +#ifdef BYTESWAP + *(U32*)digest = BYTESWAP(ctx->A); digest += 4; + *(U32*)digest = BYTESWAP(ctx->B); digest += 4; + *(U32*)digest = BYTESWAP(ctx->C); digest += 4; + *(U32*)digest = BYTESWAP(ctx->D); +#else + u2s(ctx->A, digest); + u2s(ctx->B, digest+4); + u2s(ctx->C, digest+8); + u2s(ctx->D, digest+12); +#endif +} + +#ifndef INT2PTR +#define INT2PTR(any,d) (any)(d) +#endif + static MD5_CTX* get_md5_ctx(pTHX_ SV* sv) { MAGIC *mg; @@ -306,7 +678,7 @@ addfile(self, fh) InputStream fh PREINIT: MD5_CTX* context = get_md5_ctx(aTHX_ self); - STRLEN fill = (context->count >> 3) & (MD5_BLOCK_LENGTH - 1); + STRLEN fill = context->bytes_low & 0x3F; #ifdef USE_HEAP_INSTEAD_OF_STACK unsigned char* buffer; #else @@ -371,12 +743,14 @@ context(ctx, ...) PPCODE: if (items > 2) { STRLEN len; - ctx->count = SvUV(ST(1)) << 3; + unsigned long blocks = SvUV(ST(1)); unsigned char *buf = (unsigned char *)(SvPV(ST(2), len)); - ctx->state[0] = buf[ 0] | (buf[ 1]<<8) | (buf[ 2]<<16) | (buf[ 3]<<24); - ctx->state[1] = buf[ 4] | (buf[ 5]<<8) | (buf[ 6]<<16) | (buf[ 7]<<24); - ctx->state[2] = buf[ 8] | (buf[ 9]<<8) | (buf[10]<<16) | (buf[11]<<24); - ctx->state[3] = buf[12] | (buf[13]<<8) | (buf[14]<<16) | (buf[15]<<24); + ctx->A = buf[ 0] | (buf[ 1]<<8) | (buf[ 2]<<16) | (buf[ 3]<<24); + ctx->B = buf[ 4] | (buf[ 5]<<8) | (buf[ 6]<<16) | (buf[ 7]<<24); + ctx->C = buf[ 8] | (buf[ 9]<<8) | (buf[10]<<16) | (buf[11]<<24); + ctx->D = buf[12] | (buf[13]<<8) | (buf[14]<<16) | (buf[15]<<24); + ctx->bytes_low = blocks << 6; + ctx->bytes_high = blocks >> 26; if (items == 4) { buf = (unsigned char *)(SvPV(ST(3), len)); MD5Update(ctx, buf, len); @@ -386,20 +760,17 @@ context(ctx, ...) XSRETURN(0); } - w=ctx->state[0]; out[ 0]=w; out[ 1]=(w>>8); out[ 2]=(w>>16); out[ 3]=(w>>24); - w=ctx->state[1]; out[ 4]=w; out[ 5]=(w>>8); out[ 6]=(w>>16); out[ 7]=(w>>24); - w=ctx->state[2]; out[ 8]=w; out[ 9]=(w>>8); out[10]=(w>>16); out[11]=(w>>24); - w=ctx->state[3]; out[12]=w; out[13]=(w>>8); out[14]=(w>>16); out[15]=(w>>24); + w=ctx->A; out[ 0]=w; out[ 1]=(w>>8); out[ 2]=(w>>16); out[ 3]=(w>>24); + w=ctx->B; out[ 4]=w; out[ 5]=(w>>8); out[ 6]=(w>>16); out[ 7]=(w>>24); + w=ctx->C; out[ 8]=w; out[ 9]=(w>>8); out[10]=(w>>16); out[11]=(w>>24); + w=ctx->D; out[12]=w; out[13]=(w>>8); out[14]=(w>>16); out[15]=(w>>24); EXTEND(SP, 3); - ST(0) = sv_2mortal(newSViv((ctx->count >> 3) - - ((ctx->count >> 3) % MD5_BLOCK_LENGTH))); + ST(0) = sv_2mortal(newSVuv(ctx->bytes_high << 26 | + ctx->bytes_low >> 6)); ST(1) = sv_2mortal(newSVpv(out, 16)); - ST(2) = sv_2mortal(newSVpv("",0)); - if (((ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1)) != 0) - ST(2) = sv_2mortal(newSVpv((char *)ctx->buffer, - (ctx->count >> 3) & (MD5_BLOCK_LENGTH - 1))); - + ST(2) = sv_2mortal(newSVpv((char *)ctx->buffer, + ctx->bytes_low & 0x3F)); XSRETURN(3); void diff --git a/gnu/usr.bin/perl/cpan/Digest-MD5/t/files.t b/gnu/usr.bin/perl/cpan/Digest-MD5/t/files.t index 14a39925707..d6b4fcb2cd7 100755 --- a/gnu/usr.bin/perl/cpan/Digest-MD5/t/files.t +++ b/gnu/usr.bin/perl/cpan/Digest-MD5/t/files.t @@ -21,7 +21,7 @@ EOT # This is the output of: 'md5sum README MD5.xs rfc1321.txt' $EXPECT = <write(install_rooted_file($pack{'write'})) unless $dry_run; } @@ -1181,7 +1180,7 @@ environment variable will silence this output. sub pm_to_blib { my($fromto,$autodir,$pm_filter) = @_; - _mkpath($autodir,0,$Perm_Dir); + _mkpath($autodir,0,0755); while(my($from, $to) = each %$fromto) { if( -f $to && -s $from == -s $to && -M $to < -M $from ) { print "Skip $to (unchanged)\n" unless $INSTALL_QUIET; @@ -1204,7 +1203,7 @@ sub pm_to_blib { # we wont try hard here. its too likely to mess things up. forceunlink($to); } else { - _mkpath(dirname($to),0,$Perm_Dir); + _mkpath(dirname($to),0,0755); } if ($need_filtering) { run_filter($pm_filter, $from, $to); diff --git a/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm index 785daaaed32..009b18ee085 100644 --- a/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm @@ -933,7 +933,7 @@ OTHERLDFLAGS = '.$ld_opt.$otherldflags.' INST_DYNAMIC_DEP = '.$inst_dynamic_dep.' INST_DYNAMIC_FIX = '.$ld_fix.' -$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) +$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) '); if ($armaybe ne ':'){ $ldfrom = 'tmp$(LIB_EXT)'; @@ -985,7 +985,7 @@ MAKE push @m, <<'MAKE'; $(CHMOD) $(PERM_RWX) $@ - $(NOECHO) $(RM_RF) $(INST_BOOT) + $(NOECHO) $(RM_RF) $(BOOTSTRAP) - $(CP_NONEMPTY) $(BOOTSTRAP) $(INST_BOOT) $(PERM_RW) MAKE @@ -2049,8 +2049,7 @@ Called by init_main. Initializes PERL_* sub init_PERM { my($self) = shift; - my $perm_dir = $self->{PERL_CORE} ? 770 : 755; - $self->{PERM_DIR} = $perm_dir unless defined $self->{PERM_DIR}; + $self->{PERM_DIR} = 755 unless defined $self->{PERM_DIR}; $self->{PERM_RW} = 644 unless defined $self->{PERM_RW}; $self->{PERM_RWX} = 755 unless defined $self->{PERM_RWX}; diff --git a/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/t/eu_command.t b/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/t/eu_command.t index 32a6f59dcab..269aa5c9a4c 100644 --- a/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/t/eu_command.t +++ b/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/t/eu_command.t @@ -151,21 +151,20 @@ BEGIN { is( ((stat('testdir'))[2] & 07777) & 0700, 0100, 'change a dir to execute-only' ); - # change a dir to write-only - @ARGV = ( '0200', 'testdir' ); + # change a dir to read-only + @ARGV = ( '0400', 'testdir' ); ExtUtils::Command::chmod(); is( ((stat('testdir'))[2] & 07777) & 0700, - 0200, 'change a dir to write-only' ); + 0400, 'change a dir to read-only' ); - # change a dir to read-only - @ARGV = ( '0400', 'testdir' ); + # change a dir to write-only + @ARGV = ( '0200', 'testdir' ); ExtUtils::Command::chmod(); is( ((stat('testdir'))[2] & 07777) & 0700, - 0400, 'change a dir to read-only' ); + 0200, 'change a dir to write-only' ); - # remove the dir we've been playing with @ARGV = ('testdir'); rm_rf; ok( ! -e 'testdir', 'rm_rf can delete a read-only dir' ); diff --git a/gnu/usr.bin/perl/cpan/File-Path/lib/File/Path.pm b/gnu/usr.bin/perl/cpan/File-Path/lib/File/Path.pm index 138bdc24ffb..034da1e578d 100644 --- a/gnu/usr.bin/perl/cpan/File-Path/lib/File/Path.pm +++ b/gnu/usr.bin/perl/cpan/File-Path/lib/File/Path.pm @@ -18,7 +18,7 @@ BEGIN { use Exporter (); use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); -$VERSION = '2.13'; +$VERSION = '2.12_01'; $VERSION = eval $VERSION; @ISA = qw(Exporter); @EXPORT = qw(mkpath rmtree); @@ -85,15 +85,15 @@ sub make_path { sub mkpath { my $old_style = !( @_ and __is_arg( $_[-1] ) ); - my $data; + my $arg; my $paths; if ($old_style) { my ( $verbose, $mode ); ( $paths, $verbose, $mode ) = @_; $paths = [$paths] unless UNIVERSAL::isa( $paths, 'ARRAY' ); - $data->{verbose} = $verbose; - $data->{mode} = defined $mode ? $mode : oct '777'; + $arg->{verbose} = $verbose; + $arg->{mode} = defined $mode ? $mode : oct '777'; } else { my %args_permitted = map { $_ => 1 } ( qw| @@ -107,74 +107,55 @@ sub mkpath { user verbose | ); - my %not_on_win32_args = map { $_ => 1 } ( qw| - group - owner - uid - user - | ); my @bad_args = (); - my @win32_implausible_args = (); - my $arg = pop @_; + $arg = pop @_; for my $k (sort keys %{$arg}) { - if (! $args_permitted{$k}) { - push @bad_args, $k; - } - elsif ($not_on_win32_args{$k} and _IS_MSWIN32) { - push @win32_implausible_args, $k; - } - else { - $data->{$k} = $arg->{$k}; - } + push @bad_args, $k unless $args_permitted{$k}; } - _carp("Unrecognized option(s) passed to mkpath() or make_path(): @bad_args") + _carp("Unrecognized option(s) passed to make_path(): @bad_args") if @bad_args; - _carp("Option(s) implausible on Win32 passed to mkpath() or make_path(): @win32_implausible_args") - if @win32_implausible_args; - $data->{mode} = delete $data->{mask} if exists $data->{mask}; - $data->{mode} = oct '777' unless exists $data->{mode}; - ${ $data->{error} } = [] if exists $data->{error}; - unless (@win32_implausible_args) { - $data->{owner} = delete $data->{user} if exists $data->{user}; - $data->{owner} = delete $data->{uid} if exists $data->{uid}; - if ( exists $data->{owner} and $data->{owner} =~ /\D/ ) { - my $uid = ( getpwnam $data->{owner} )[2]; - if ( defined $uid ) { - $data->{owner} = $uid; - } - else { - _error( $data, - "unable to map $data->{owner} to a uid, ownership not changed" - ); - delete $data->{owner}; - } + $arg->{mode} = delete $arg->{mask} if exists $arg->{mask}; + $arg->{mode} = oct '777' unless exists $arg->{mode}; + ${ $arg->{error} } = [] if exists $arg->{error}; + $arg->{owner} = delete $arg->{user} if exists $arg->{user}; + $arg->{owner} = delete $arg->{uid} if exists $arg->{uid}; + if ( exists $arg->{owner} and $arg->{owner} =~ /\D/ ) { + my $uid = ( getpwnam $arg->{owner} )[2]; + if ( defined $uid ) { + $arg->{owner} = $uid; } - if ( exists $data->{group} and $data->{group} =~ /\D/ ) { - my $gid = ( getgrnam $data->{group} )[2]; - if ( defined $gid ) { - $data->{group} = $gid; - } - else { - _error( $data, - "unable to map $data->{group} to a gid, group ownership not changed" - ); - delete $data->{group}; - } + else { + _error( $arg, +"unable to map $arg->{owner} to a uid, ownership not changed" + ); + delete $arg->{owner}; } - if ( exists $data->{owner} and not exists $data->{group} ) { - $data->{group} = -1; # chown will leave group unchanged + } + if ( exists $arg->{group} and $arg->{group} =~ /\D/ ) { + my $gid = ( getgrnam $arg->{group} )[2]; + if ( defined $gid ) { + $arg->{group} = $gid; } - if ( exists $data->{group} and not exists $data->{owner} ) { - $data->{owner} = -1; # chown will leave owner unchanged + else { + _error( $arg, +"unable to map $arg->{group} to a gid, group ownership not changed" + ); + delete $arg->{group}; } } + if ( exists $arg->{owner} and not exists $arg->{group} ) { + $arg->{group} = -1; # chown will leave group unchanged + } + if ( exists $arg->{group} and not exists $arg->{owner} ) { + $arg->{owner} = -1; # chown will leave owner unchanged + } $paths = [@_]; } - return _mkpath( $data, $paths ); + return _mkpath( $arg, $paths ); } sub _mkpath { - my $data = shift; + my $arg = shift; my $paths = shift; my ( @created ); @@ -189,51 +170,38 @@ sub _mkpath { } next if -d $path; my $parent = File::Basename::dirname($path); - # Coverage note: It's not clear how we would test the condition: - # '-d $parent or $path eq $parent' unless ( -d $parent or $path eq $parent ) { - push( @created, _mkpath( $data, [$parent] ) ); + push( @created, _mkpath( $arg, [$parent] ) ); } - print "mkdir $path\n" if $data->{verbose}; - if ( mkdir( $path, $data->{mode} ) ) { + print "mkdir $path\n" if $arg->{verbose}; + if ( mkdir( $path, $arg->{mode} ) ) { push( @created, $path ); - if ( exists $data->{owner} ) { + if ( exists $arg->{owner} ) { - # NB: $data->{group} guaranteed to be set during initialisation - if ( !chown $data->{owner}, $data->{group}, $path ) { - _error( $data, - "Cannot change ownership of $path to $data->{owner}:$data->{group}" + # NB: $arg->{group} guaranteed to be set during initialisation + if ( !chown $arg->{owner}, $arg->{group}, $path ) { + _error( $arg, +"Cannot change ownership of $path to $arg->{owner}:$arg->{group}" ); } } - if ( exists $data->{chmod} ) { - # Coverage note: It's not clear how we would trigger the next - # 'if' block. Failure of 'chmod' might first result in a - # system error: "Permission denied". - if ( !chmod $data->{chmod}, $path ) { - _error( $data, - "Cannot change permissions of $path to $data->{chmod}" ); + if ( exists $arg->{chmod} ) { + if ( !chmod $arg->{chmod}, $path ) { + _error( $arg, + "Cannot change permissions of $path to $arg->{chmod}" ); } } } else { my $save_bang = $!; - - # From 'perldoc perlvar': $EXTENDED_OS_ERROR ($^E) is documented - # as: - # Error information specific to the current operating system. At the - # moment, this differs from "$!" under only VMS, OS/2, and Win32 - # (and for MacPerl). On all other platforms, $^E is always just the - # same as $!. - my ( $e, $e1 ) = ( $save_bang, $^E ); $e .= "; $e1" if $e ne $e1; # allow for another process to have created it meanwhile if ( ! -d $path ) { $! = $save_bang; - if ( $data->{error} ) { - push @{ ${ $data->{error} } }, { $path => $e }; + if ( $arg->{error} ) { + push @{ ${ $arg->{error} } }, { $path => $e }; } else { _croak("mkdir $path: $e"); @@ -270,13 +238,14 @@ sub _is_subdir { sub rmtree { my $old_style = !( @_ and __is_arg( $_[-1] ) ); - my ($arg, $data, $paths); + my $arg; + my $paths; if ($old_style) { my ( $verbose, $safe ); ( $paths, $verbose, $safe ) = @_; - $data->{verbose} = $verbose; - $data->{safe} = defined $safe ? $safe : 0; + $arg->{verbose} = $verbose; + $arg->{safe} = defined $safe ? $safe : 0; if ( defined($paths) and length($paths) ) { $paths = [$paths] unless UNIVERSAL::isa( $paths, 'ARRAY' ); @@ -295,53 +264,38 @@ sub rmtree { verbose | ); my @bad_args = (); - my $arg = pop @_; + $arg = pop @_; for my $k (sort keys %{$arg}) { - if (! $args_permitted{$k}) { - push @bad_args, $k; - } - else { - $data->{$k} = $arg->{$k}; - } + push @bad_args, $k unless $args_permitted{$k}; } _carp("Unrecognized option(s) passed to remove_tree(): @bad_args") if @bad_args; - ${ $data->{error} } = [] if exists $data->{error}; - ${ $data->{result} } = [] if exists $data->{result}; - - # Wouldn't it make sense to do some validation on @_ before assigning - # to $paths here? - # In the $old_style case we guarantee that each path is both defined - # and non-empty. We don't check that here, which means we have to - # check it later in the first condition in this line: - # if ( $ortho_root_length && _is_subdir( $ortho_root, $ortho_cwd ) ) { - # Granted, that would be a change in behavior for the two - # non-old-style interfaces. - + ${ $arg->{error} } = [] if exists $arg->{error}; + ${ $arg->{result} } = [] if exists $arg->{result}; $paths = [@_]; } - $data->{prefix} = ''; - $data->{depth} = 0; + $arg->{prefix} = ''; + $arg->{depth} = 0; my @clean_path; - $data->{cwd} = getcwd() or do { - _error( $data, "cannot fetch initial working directory" ); + $arg->{cwd} = getcwd() or do { + _error( $arg, "cannot fetch initial working directory" ); return 0; }; - for ( $data->{cwd} ) { /\A(.*)\Z/s; $_ = $1 } # untaint + for ( $arg->{cwd} ) { /\A(.*)\Z/s; $_ = $1 } # untaint for my $p (@$paths) { # need to fixup case and map \ to / on Windows my $ortho_root = _IS_MSWIN32 ? _slash_lc($p) : $p; my $ortho_cwd = - _IS_MSWIN32 ? _slash_lc( $data->{cwd} ) : $data->{cwd}; + _IS_MSWIN32 ? _slash_lc( $arg->{cwd} ) : $arg->{cwd}; my $ortho_root_length = length($ortho_root); $ortho_root_length-- if _IS_VMS; # don't compare '.' with ']' if ( $ortho_root_length && _is_subdir( $ortho_root, $ortho_cwd ) ) { local $! = 0; - _error( $data, "cannot remove path when cwd is $data->{cwd}", $p ); + _error( $arg, "cannot remove path when cwd is $arg->{cwd}", $p ); next; } @@ -358,16 +312,16 @@ sub rmtree { push @clean_path, $p; } - @{$data}{qw(device inode)} = ( lstat $data->{cwd} )[ 0, 1 ] or do { - _error( $data, "cannot stat initial working directory", $data->{cwd} ); + @{$arg}{qw(device inode perm)} = ( lstat $arg->{cwd} )[ 0, 1 ] or do { + _error( $arg, "cannot stat initial working directory", $arg->{cwd} ); return 0; }; - return _rmtree( $data, \@clean_path ); + return _rmtree( $arg, \@clean_path ); } sub _rmtree { - my $data = shift; + my $arg = shift; my $paths = shift; my $count = 0; @@ -385,8 +339,8 @@ sub _rmtree { # opposed to being truly canonical, anchored from the root (/). my $canon = - $data->{prefix} - ? File::Spec->catfile( $data->{prefix}, $root ) + $arg->{prefix} + ? File::Spec->catfile( $arg->{prefix}, $root ) : $root; my ( $ldev, $lino, $perm ) = ( lstat $root )[ 0, 1, 2 ] @@ -400,40 +354,29 @@ sub _rmtree { # see if we can escalate privileges to get in # (e.g. funny protection mask such as -w- instead of rwx) - # This uses fchmod to avoid traversing outside of the proper - # location (CVE-2017-6512) - my $root_fh; - if (open($root_fh, '<', $root)) { - my ($fh_dev, $fh_inode) = (stat $root_fh )[0,1]; - $perm &= oct '7777'; - my $nperm = $perm | oct '700'; - local $@; - if ( - !( - $data->{safe} - or $nperm == $perm - or !-d _ - or $fh_dev ne $ldev - or $fh_inode ne $lino - or eval { chmod( $nperm, $root_fh ) } - ) - ) - { - _error( $data, - "cannot make child directory read-write-exec", $canon ); - next ROOT_DIR; - } - close $root_fh; + $perm &= oct '7777'; + my $nperm = $perm | oct '700'; + if ( + !( + $arg->{safe} + or $nperm == $perm + or chmod( $nperm, $root ) + ) + ) + { + _error( $arg, + "cannot make child directory read-write-exec", $canon ); + next ROOT_DIR; } - if ( !chdir($root) ) { - _error( $data, "cannot chdir to child", $canon ); + elsif ( !chdir($root) ) { + _error( $arg, "cannot chdir to child", $canon ); next ROOT_DIR; } } my ( $cur_dev, $cur_inode, $perm ) = ( stat $curdir )[ 0, 1, 2 ] or do { - _error( $data, "cannot stat current working directory", $canon ); + _error( $arg, "cannot stat current working directory", $canon ); next ROOT_DIR; }; @@ -454,20 +397,20 @@ sub _rmtree { if ( !( - $data->{safe} + $arg->{safe} or $nperm == $perm or chmod( $nperm, $curdir ) ) ) { - _error( $data, "cannot make directory read+writeable", $canon ); + _error( $arg, "cannot make directory read+writeable", $canon ); $nperm = $perm; } my $d; $d = gensym() if $] < 5.006; if ( !opendir $d, $curdir ) { - _error( $data, "cannot opendir", $canon ); + _error( $arg, "cannot opendir", $canon ); @files = (); } else { @@ -494,9 +437,9 @@ sub _rmtree { if (@files) { # remove the contained files before the directory itself - my $narg = {%$data}; + my $narg = {%$arg}; @{$narg}{qw(device inode cwd prefix depth)} = - ( $cur_dev, $cur_inode, $updir, $canon, $data->{depth} + 1 ); + ( $cur_dev, $cur_inode, $updir, $canon, $arg->{depth} + 1 ); $count += _rmtree( $narg, \@files ); } @@ -504,49 +447,49 @@ sub _rmtree { # below fails), while we are still in the directory and may do so # without a race via '.' if ( $nperm != $perm and not chmod( $perm, $curdir ) ) { - _error( $data, "cannot reset chmod", $canon ); + _error( $arg, "cannot reset chmod", $canon ); } # don't leave the client code in an unexpected directory - chdir( $data->{cwd} ) + chdir( $arg->{cwd} ) or - _croak("cannot chdir to $data->{cwd} from $canon: $!, aborting."); + _croak("cannot chdir to $arg->{cwd} from $canon: $!, aborting."); # ensure that a chdir upwards didn't take us somewhere other # than we expected (see CVE-2002-0435) ( $cur_dev, $cur_inode ) = ( stat $curdir )[ 0, 1 ] or _croak( - "cannot stat prior working directory $data->{cwd}: $!, aborting." + "cannot stat prior working directory $arg->{cwd}: $!, aborting." ); if (_NEED_STAT_CHECK) { - ( $data->{device} eq $cur_dev and $data->{inode} eq $cur_inode ) - or _croak( "previous directory $data->{cwd} " + ( $arg->{device} eq $cur_dev and $arg->{inode} eq $cur_inode ) + or _croak( "previous directory $arg->{cwd} " . "changed before entering $canon, " . "expected dev=$ldev ino=$lino, " . "actual dev=$cur_dev ino=$cur_inode, aborting." ); } - if ( $data->{depth} or !$data->{keep_root} ) { - if ( $data->{safe} + if ( $arg->{depth} or !$arg->{keep_root} ) { + if ( $arg->{safe} && ( _IS_VMS ? !&VMS::Filespec::candelete($root) : !-w $root ) ) { - print "skipped $root\n" if $data->{verbose}; + print "skipped $root\n" if $arg->{verbose}; next ROOT_DIR; } if ( _FORCE_WRITABLE and !chmod $perm | oct '700', $root ) { - _error( $data, "cannot make directory writeable", $canon ); + _error( $arg, "cannot make directory writeable", $canon ); } - print "rmdir $root\n" if $data->{verbose}; + print "rmdir $root\n" if $arg->{verbose}; if ( rmdir $root ) { - push @{ ${ $data->{result} } }, $root if $data->{result}; + push @{ ${ $arg->{result} } }, $root if $arg->{result}; ++$count; } else { - _error( $data, "cannot remove directory", $canon ); + _error( $arg, "cannot remove directory", $canon ); if ( _FORCE_WRITABLE && !chmod( $perm, @@ -555,7 +498,7 @@ sub _rmtree { ) { _error( - $data, + $arg, sprintf( "cannot restore permissions to 0%o", $perm ), $canon @@ -572,7 +515,7 @@ sub _rmtree { && ( $root !~ m/(?]+/ ); # not already in VMS syntax if ( - $data->{safe} + $arg->{safe} && ( _IS_VMS ? !&VMS::Filespec::candelete($root) @@ -580,7 +523,7 @@ sub _rmtree { ) ) { - print "skipped $root\n" if $data->{verbose}; + print "skipped $root\n" if $arg->{verbose}; next ROOT_DIR; } @@ -589,19 +532,19 @@ sub _rmtree { and $nperm != $perm and not chmod $nperm, $root ) { - _error( $data, "cannot make file writeable", $canon ); + _error( $arg, "cannot make file writeable", $canon ); } - print "unlink $canon\n" if $data->{verbose}; + print "unlink $canon\n" if $arg->{verbose}; # delete all versions under VMS for ( ; ; ) { if ( unlink $root ) { - push @{ ${ $data->{result} } }, $root if $data->{result}; + push @{ ${ $arg->{result} } }, $root if $arg->{result}; } else { - _error( $data, "cannot unlink file", $canon ); + _error( $arg, "cannot unlink file", $canon ); _FORCE_WRITABLE and chmod( $perm, $root ) - or _error( $data, + or _error( $arg, sprintf( "cannot restore permissions to 0%o", $perm ), $canon ); last; @@ -633,41 +576,41 @@ File::Path - Create or remove directory trees =head1 VERSION -2.13 - released May 31 2017. +This document describes version 2.12 of File::Path. =head1 SYNOPSIS - use File::Path qw(make_path remove_tree); - - @created = make_path('foo/bar/baz', '/zug/zwang'); - @created = make_path('foo/bar/baz', '/zug/zwang', { - verbose => 1, - mode => 0711, - }); - make_path('foo/bar/baz', '/zug/zwang', { - chmod => 0777, - }); - - $removed_count = remove_tree('foo/bar/baz', '/zug/zwang', { - verbose => 1, - error => \my $err_list, - safe => 1, - }); - - # legacy (interface promoted before v2.00) - @created = mkpath('/foo/bar/baz'); - @created = mkpath('/foo/bar/baz', 1, 0711); - @created = mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711); - $removed_count = rmtree('foo/bar/baz', 1, 1); - $removed_count = rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1); - - # legacy (interface promoted before v2.06) - @created = mkpath('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 }); - $removed_count = rmtree('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 }); + use File::Path qw(make_path remove_tree); + + @created = make_path('foo/bar/baz', '/zug/zwang'); + @created = make_path('foo/bar/baz', '/zug/zwang', { + verbose => 1, + mode => 0711, + }); + make_path('foo/bar/baz', '/zug/zwang', { + chmod => 0777, + }); + + $removed_count = remove_tree('foo/bar/baz', '/zug/zwang'); + $removed_count = remove_tree('foo/bar/baz', '/zug/zwang', { + verbose => 1, + error => \my $err_list, + }); + + # legacy (interface promoted before v2.00) + @created = mkpath('/foo/bar/baz'); + @created = mkpath('/foo/bar/baz', 1, 0711); + @created = mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711); + $removed_count = rmtree('foo/bar/baz', 1, 1); + $removed_count = rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1); + + # legacy (interface promoted before v2.06) + @created = mkpath('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 }); + $removed_count = rmtree('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 }); =head1 DESCRIPTION -This module provides a convenient way to create directories of +This module provide a convenient way to create directories of arbitrary depth and to delete an entire directory subtree from the filesystem. @@ -680,7 +623,7 @@ The following functions are provided: =item make_path( $dir1, $dir2, ...., \%opts ) The C function creates the given directories if they don't -exist before, much like the Unix command C. +exists before, much like the Unix command C. The function accepts a list of directories to be created. Its behaviour may be tuned by an optional hashref appearing as the last @@ -696,7 +639,7 @@ The following keys are recognised in the option hash: =item mode => $num The numeric permissions mode to apply to each created directory -(defaults to C<0777>), to be modified by the current C. If the +(defaults to 0777), to be modified by the current C. If the directory already exists (and thus does not need to be created), the permissions will not be modified. @@ -732,9 +675,9 @@ in an C block. =item uid => $owner If present, will cause any created directory to be owned by C<$owner>. -If the value is numeric, it will be interpreted as a uid; otherwise a -username is assumed. An error will be issued if the username cannot be -mapped to a uid, the uid does not exist or the process lacks the +If the value is numeric, it will be interpreted as a uid, otherwise +as username is assumed. An error will be issued if the username cannot be +mapped to a uid, or the uid does not exist, or the process lacks the privileges to change ownership. Ownership of directories that already exist will not be changed. @@ -743,11 +686,11 @@ C and C are aliases of C. =item group => $group -If present, will cause any created directory to be owned by the group -C<$group>. If the value is numeric, it will be interpreted as a gid; -otherwise a group name is assumed. An error will be issued if the -group name cannot be mapped to a gid, the gid does not exist or the -process lacks the privileges to change group ownership. +If present, will cause any created directory to be owned by the group C<$group>. +If the value is numeric, it will be interpreted as a gid, otherwise +as group name is assumed. An error will be issued if the group name cannot be +mapped to a gid, or the gid does not exist, or the process lacks the +privileges to change group ownership. Group ownership of directories that already exist will not be changed. @@ -763,10 +706,9 @@ Group ownership of directories that already exist will not be changed. =item mkpath( $dir1, $dir2,..., \%opt ) -The C function provide the legacy interface of -C with a different interpretation of the arguments -passed. The behaviour and return value of the function is otherwise -identical to C. +The mkpath() function provide the legacy interface of make_path() with +a different interpretation of the arguments passed. The behaviour and +return value of the function is otherwise identical to make_path(). =item remove_tree( $dir1, $dir2, .... ) @@ -774,27 +716,16 @@ identical to C. The C function deletes the given directories and any files and subdirectories they might contain, much like the Unix -command C or the Windows commands C and C. The -only exception to the function similarity is that C accepts -only directories whereas C also accepts files. +command C or the Windows commands C and C. The +only exception to the function similarity is C accepts +only directories whereas C also accepts files. The function accepts a list of directories to be removed. Its behaviour may be tuned by an optional hashref appearing as the last parameter on the call. If an empty string is passed to C, an error will occur. -B For security reasons, we strongly advise use of the -hashref-as-final-argument syntax -- specifically, with a setting of the C -element to a true value. - - remove_tree( $dir1, $dir2, ...., - { - safe => 1, - ... # other key-value pairs - }, - ); - -The function returns the number of files successfully deleted. +The functions returns the number of files successfully deleted. The following keys are recognised in the option hash: @@ -820,7 +751,7 @@ When set to a true value, will cause all files and subdirectories to be removed, except the initially specified directories. This comes in handy when cleaning out an application's scratch directory. - remove_tree( '/tmp', {keep_root => 1} ); + remove_tree( '/tmp', {keep_root => 1} ); =item result => \$res @@ -829,8 +760,8 @@ This scalar will be made to reference an array, which will be used to store all files and directories unlinked during the call. If nothing is unlinked, the array will be empty. - remove_tree( '/tmp', {result => \my $list} ); - print "unlinked $_\n" for @$list; + remove_tree( '/tmp', {result => \my $list} ); + print "unlinked $_\n" for @$list; This is a useful alternative to the C key. @@ -860,21 +791,10 @@ of hand. This is the safest course of action. =item rmtree( $dir1, $dir2,..., \%opt ) -The C function provide the legacy interface of -C with a different interpretation of the arguments -passed. The behaviour and return value of the function is otherwise -identical to C. - -B For security reasons, we strongly advise use of the -hashref-as-final-argument syntax, specifically with a setting of the C -element to a true value. - - rmtree( $dir1, $dir2, ...., - { - safe => 1, - ... # other key-value pairs - }, - ); +The rmtree() function provide the legacy interface of remove_tree() +with a different interpretation of the arguments passed. The behaviour +and return value of the function is otherwise identical to +remove_tree(). =back @@ -893,9 +813,9 @@ C or C, you should take additional precautions. =back -If C or C encounters an error, a diagnostic +If C or C encounter an error, a diagnostic message will be printed to C via C (for non-fatal -errors) or via C (for fatal errors). +errors), or via C (for fatal errors). If this behaviour is not desirable, the C attribute may be used to hold a reference to a variable, which will be used to store @@ -908,7 +828,7 @@ encountered the diagnostic key will be empty. An example usage looks like: remove_tree( 'foo/bar', 'bar/rat', {error => \my $err} ); - if ($err && @$err) { + if (@$err) { for my $diag (@$err) { my ($file, $message) = %$diag; if ($file eq '') { @@ -962,16 +882,16 @@ to at least 2.08 in order to avoid surprises. =head3 SECURITY CONSIDERATIONS -There were race conditions in the 1.x implementations of File::Path's +There were race conditions 1.x implementations of File::Path's C function (although sometimes patched depending on the OS distribution or platform). The 2.0 version contains code to avoid the problem mentioned in CVE-2002-0435. See the following pages for more information: - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286905 - http://www.nntp.perl.org/group/perl.perl5.porters/2005/01/msg97623.html - http://www.debian.org/security/2005/dsa-696 + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286905 + http://www.nntp.perl.org/group/perl.perl5.porters/2005/01/msg97623.html + http://www.debian.org/security/2005/dsa-696 Additionally, unless the C parameter is set (or the third parameter in the traditional interface is TRUE), should a @@ -979,27 +899,6 @@ C be interrupted, files that were originally in read-only mode may now have their permissions set to a read-write (or "delete OK") mode. -The following CVE reports were previously filed against File-Path and are -believed to have been addressed: - -=over 4 - -=item * L - -=item * L - -=back - -In February 2017 the cPanel Security Team reported an additional vulnerability -in File-Path. The C logic to make directories traversable can be -abused to set the mode on an attacker-chosen file to an attacker-chosen value. -This is due to the time-of-check-to-time-of-use (TOCTTOU) race condition -(L) between the -C that decides the inode is a directory and the C that tries -to make it user-rwx. CPAN versions 2.13 and later incorporate a patch -provided by John Lightsey to address this problem. This vulnerability has -been reported as CVE-2017-6512. - =head1 DIAGNOSTICS FATAL errors will cause the program to halt (C), since the @@ -1008,7 +907,7 @@ can always be trapped with C, but it's not a good idea. Under the circumstances, dying is the best thing to do). SEVERE errors may be trapped using the modern interface. If the -they are not trapped, or if the old interface is used, such an error +they are not trapped, or the old interface is used, such an error will cause the program will halt. All other errors may be trapped using the modern interface, otherwise @@ -1019,7 +918,7 @@ they will be Ced about. Program execution will not be halted. =item mkdir [path]: [errmsg] (SEVERE) C was unable to create the path. Probably some sort of -permissions error at the point of departure or insufficient resources +permissions error at the point of departure, or insufficient resources (such as free inodes on Unix). =item No root path(s) specified @@ -1098,7 +997,7 @@ halts to avoid a race condition from occurring. =item cannot stat prior working directory [dir]: [errmsg], aborting. (FATAL) -C was unable to stat the parent directory after having returned +C was unable to stat the parent directory after have returned from the child. Since there is no way of knowing if we returned to where we think we should be (by comparing device and inode) the only way out is to C. @@ -1118,9 +1017,9 @@ execution continues, but the directory may possibly not be deleted. =item cannot remove directory [dir]: [errmsg] -C attempted to remove a directory, but failed. This may be because +C attempted to remove a directory, but failed. This may because some objects that were unable to be removed remain in the directory, or -it could be a permissions issue. The directory will be left behind. +a permissions issue. The directory will be left behind. =item cannot restore permissions of [dir] to [0nnn]: [errmsg] @@ -1188,16 +1087,14 @@ to examining directory trees. The following describes F limitations and how to report bugs. -=head2 MULTITHREADED APPLICATIONS +=head2 MULTITHREAD APPLICATIONS -F C and C will not work with -multithreaded applications due to its use of C. At this time, -no warning or error is generated in this situation. You will -certainly encounter unexpected results. +F B and B will not work with multithreaded +applications due to its use of B. At this time, no warning or error +results and you will certainly encounter unexpected results. -The implementation that surfaces this limitation will not be changed. See the -F module for functionality similar to F but which does -not C. +The implementation that surfaces this limitation may change in a future +release. =head2 NFS Mount Points @@ -1250,14 +1147,8 @@ Contributors to File::Path, in alphabetical order. =item > -=item Charlie Gonzalez > - =item Craig A. Berry > -=item James E Keenan > - -=item John Lightsey > - =item Richard Elberger > =item Ryan Yee > @@ -1266,14 +1157,12 @@ Contributors to File::Path, in alphabetical order. =item Tom Lutz > -=item Will Sheppard > - =back =head1 COPYRIGHT This module is copyright (C) Charles Bailey, Tim Bunce, David Landgren, -James Keenan and Richard Elberger 1995-2017. All rights reserved. +James Keenan, and Richard Elberger 1995-2015. All rights reserved. =head1 LICENSE diff --git a/gnu/usr.bin/perl/cpan/File-Path/t/FilePathTest.pm b/gnu/usr.bin/perl/cpan/File-Path/t/FilePathTest.pm index 88b411d4bb3..f9e82893119 100644 --- a/gnu/usr.bin/perl/cpan/File-Path/t/FilePathTest.pm +++ b/gnu/usr.bin/perl/cpan/File-Path/t/FilePathTest.pm @@ -3,26 +3,18 @@ use strict; use warnings; use base 'Exporter'; use SelectSaver; -use Carp; use Cwd; use File::Spec::Functions; -use File::Path (); -use Test::More (); -our @EXPORT_OK = qw( - _run_for_warning - _run_for_verbose - _cannot_delete_safe_mode - _verbose_expected - create_3_level_subdirs - cleanup_3_level_subdirs -); +our @EXPORT = qw(_run_for_warning _run_for_verbose _basedir + _cannot_delete_safe_mode + _verbose_expected); sub _basedir { - return catdir( - curdir(), - sprintf( 'test-%x-%x-%x', time, $$, rand(99999) ), + return catdir( curdir(), + sprintf( 'test-%x-%x-%x', time, $$, rand(99999) ), ); + } sub _run_for_warning { @@ -117,28 +109,4 @@ END } } -sub create_3_level_subdirs { - my @dirnames = @_; - my %seen = map {$_ => 1} @dirnames; - croak "Need 3 distinct names for subdirectories" - unless scalar(keys %seen) == 3; - my $tdir = File::Spec::Functions::tmpdir(); - my $least_deep = catdir($tdir, $dirnames[0]); - my $next_deepest = catdir($least_deep, $dirnames[1]); - my $deepest = catdir($next_deepest, $dirnames[2]); - return ($least_deep, $next_deepest, $deepest); -} - -sub cleanup_3_level_subdirs { - # runs 2 tests - my $least_deep = shift; - croak "Must provide path of least subdirectory" - unless (length($least_deep) and (-d $least_deep)); - my $x; - my $opts = { error => \$x }; - File::Path::remove_tree($least_deep, $opts); - Test::More::ok(! -d $least_deep, "directory '$least_deep' removed, as expected"); - Test::More::is(scalar(@{$x}), 0, "no error messages using remove_tree() with \$opts"); -} - 1; diff --git a/gnu/usr.bin/perl/cpan/File-Path/t/Path.t b/gnu/usr.bin/perl/cpan/File-Path/t/Path.t index 9be39a5de2f..5644f57a516 100755 --- a/gnu/usr.bin/perl/cpan/File-Path/t/Path.t +++ b/gnu/usr.bin/perl/cpan/File-Path/t/Path.t @@ -3,20 +3,11 @@ use strict; -use Test::More tests => 167; +use Test::More tests => 127; use Config; use Fcntl ':mode'; -use lib './t'; -use FilePathTest qw( - _run_for_warning - _run_for_verbose - _cannot_delete_safe_mode - _verbose_expected - create_3_level_subdirs - cleanup_3_level_subdirs -); -use Errno qw(:POSIX); -use Carp; +use lib 't/'; +use FilePathTest; BEGIN { use_ok('Cwd'); @@ -26,13 +17,6 @@ BEGIN { my $Is_VMS = $^O eq 'VMS'; -my $fchmod_supported = 0; -if (open my $fh, curdir()) { - my ($perm) = (stat($fh))[2]; - $perm &= 07777; - eval { $fchmod_supported = chmod( $perm, $fh); }; -} - # first check for stupid permissions second for full, so we clean up # behind ourselves for my $perm (0111,0777) { @@ -314,19 +298,16 @@ is($created[0], $dir, "created directory (old style 3 mode undef) cross-check"); is(rmtree($dir, 0, undef), 1, "removed directory 3 verbose undef"); -SKIP: { - skip "fchmod of directories not supported on this platform", 3 unless $fchmod_supported; - $dir = catdir($tmp_base,'G'); - $dir = VMS::Filespec::unixify($dir) if $Is_VMS; +$dir = catdir($tmp_base,'G'); +$dir = VMS::Filespec::unixify($dir) if $Is_VMS; - @created = mkpath($dir, undef, 0400); +@created = mkpath($dir, undef, 0200); - is(scalar(@created), 1, "created read-only dir"); +is(scalar(@created), 1, "created write-only dir"); - is($created[0], $dir, "created read-only directory cross-check"); +is($created[0], $dir, "created write-only directory cross-check"); - is(rmtree($dir), 1, "removed read-only dir"); -} +is(rmtree($dir), 1, "removed write-only dir"); # borderline new-style heuristics if (chdir $tmp_base) { @@ -468,28 +449,26 @@ SKIP: { } SKIP : { - my $skip_count = 18; + my $skip_count = 19; # this test will fail on Windows, as per: # http://perldoc.perl.org/perlport.html#chmod skip "Windows chmod test skipped", $skip_count if $^O eq 'MSWin32'; - skip "fchmod() on directories is not supported on this platform", $skip_count - unless $fchmod_supported; my $mode; my $octal_mode; my @inputs = ( - 0777, 0700, 0470, 0407, - 0433, 0400, 0430, 0403, - 0111, 0100, 0110, 0101, - 0731, 0713, 0317, 0371, - 0173, 0137); + 0777, 0700, 0070, 0007, + 0333, 0300, 0030, 0003, + 0111, 0100, 0010, 0001, + 0731, 0713, 0317, 0371, 0173, 0137, + 00 ); my $input; my $octal_input; + $dir = catdir($tmp_base, 'chmod_test'); foreach (@inputs) { $input = $_; - $dir = catdir($tmp_base, sprintf("chmod_test%04o", $input)); # We can skip from here because 0 is last in the list. skip "Mode of 0 means assume user defaults on VMS", 1 if ($input == 0 && $Is_VMS); @@ -497,11 +476,7 @@ SKIP : { $mode = (stat($dir))[2]; $octal_mode = S_IMODE($mode); $octal_input = sprintf "%04o", S_IMODE($input); - SKIP: { - skip "permissions are not fully supported by the filesystem", 1 - if (($^O eq 'MSWin32' || $^O eq 'cygwin') && ((Win32::FsType())[1] & 8) == 0); - is($octal_mode,$input, "create a new directory with chmod $input ($octal_input)"); - } + is($octal_mode,$input, "create a new directory with chmod $input ($octal_input)"); rmtree( $dir ); } } @@ -612,27 +587,29 @@ SKIP: { my $dir2 = catdir( $base, 'B'); { - my $warn = _run_for_warning( sub { - my @created = make_path( - $dir, - $dir2, - { mode => 0711, foo => 1, bar => 1 } - ); - } ); + my $warn; + $SIG{__WARN__} = sub { $warn = shift }; + + my @created = make_path( + $dir, + $dir2, + { mode => 0711, foo => 1, bar => 1 } + ); like($warn, - qr/Unrecognized option\(s\) passed to mkpath\(\) or make_path\(\):.*?bar.*?foo/, + qr/Unrecognized option\(s\) passed to make_path\(\):.*?bar.*?foo/, 'make_path with final hashref warned due to unrecognized options' ); } { - my $warn = _run_for_warning( sub { - my @created = remove_tree( - $dir, - $dir2, - { foo => 1, bar => 1 } - ); - } ); + my $warn; + $SIG{__WARN__} = sub { $warn = shift }; + + my @created = remove_tree( + $dir, + $dir2, + { foo => 1, bar => 1 } + ); like($warn, qr/Unrecognized option\(s\) passed to remove_tree\(\):.*?bar.*?foo/, 'remove_tree with final hashref failed due to unrecognized options' @@ -679,7 +656,7 @@ is( { my ($x, $message, $object, $expect, $rv, $arg, $error); my ($k, $v, $second_error, $third_error); - local $! = ENOENT; + local $! = 2; $x = $!; $message = 'message in a bottle'; @@ -752,186 +729,3 @@ is( is($k, '', "key of hash is empty string, since 3rd arg was undef"); is($v, $expect, "value of hash is 2nd arg: $message"); } - -{ - # https://rt.cpan.org/Ticket/Display.html?id=117019 - # remove_tree(): Permit re-use of options hash without issuing a warning - - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| a b c | ); - my @created; - @created = File::Path::make_path($deepest, { mode => 0711 }); - is(scalar(@created), 3, "Created 3 subdirectories"); - - my $x = ''; - my $opts = { error => \$x }; - File::Path::remove_tree($deepest, $opts); - ok(! -d $deepest, "directory '$deepest' removed, as expected"); - - my $warn; - $warn = _run_for_warning( sub { File::Path::remove_tree($next_deepest, $opts); } ); - ok(! $warn, "CPAN 117019: No warning thrown when re-using \$opts"); - ok(! -d $next_deepest, "directory '$next_deepest' removed, as expected"); - - $warn = _run_for_warning( sub { File::Path::remove_tree($least_deep, $opts); } ); - ok(! $warn, "CPAN 117019: No warning thrown when re-using \$opts"); - ok(! -d $least_deep, "directory '$least_deep' removed, as expected"); -} - -{ - # Corner cases with respect to arguments provided to functions - my $count; - - $count = remove_tree(); - is($count, 0, - "If not provided with any paths, remove_tree() will return a count of 0 things deleted"); - - $count = remove_tree(''); - is($count, 0, - "If not provided with any paths, remove_tree() will return a count of 0 things deleted"); - - my $warn; - $warn = _run_for_warning( sub { $count = rmtree(); } ); - like($warn, qr/No root path\(s\) specified/s, "Got expected carp"); - is($count, 0, - "If not provided with any paths, remove_tree() will return a count of 0 things deleted"); - - $warn = _run_for_warning( sub {$count = rmtree(undef); } ); - like($warn, qr/No root path\(s\) specified/s, "Got expected carp"); - is($count, 0, - "If provided only with an undefined value, remove_tree() will return a count of 0 things deleted"); - - $warn = _run_for_warning( sub {$count = rmtree(''); } ); - like($warn, qr/No root path\(s\) specified/s, "Got expected carp"); - is($count, 0, - "If provided with an empty string for a path, remove_tree() will return a count of 0 things deleted"); - - $count = make_path(); - is($count, 0, - "If not provided with any paths, make_path() will return a count of 0 things created"); - - $count = mkpath(); - is($count, 0, - "If not provided with any paths, make_path() will return a count of 0 things created"); -} - -SKIP: { - my $skip_count = 5; - skip "Windows will not set this error condition", $skip_count - if $^O eq 'MSWin32'; - - # mkpath() with hashref: case of phony user - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| d e f | ); - my (@created, $error); - my $user = join('_' => 'foobar', $$); - @created = mkpath($deepest, { mode => 0711, user => $user, error => \$error }); - TODO: { - local $TODO = "Notwithstanding the phony 'user', mkpath will actually create subdirectories; should it?"; - is(scalar(@created), 0, "No subdirectories created"); - } - is(scalar(@$error), 1, "caught error condition" ); - my ($file, $message) = each %{$error->[0]}; - like($message, - qr/unable to map $user to a uid, ownership not changed/s, - "Got expected error message for phony user", - ); - - cleanup_3_level_subdirs($least_deep); -} - -{ - # mkpath() with hashref: case of valid uid - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| j k l | ); - my (@created, $error); - @created = mkpath($deepest, { mode => 0711, uid => $>, error => \$error }); - is(scalar(@created), 3, "Provide valid 'uid' argument: 3 subdirectories created"); - - cleanup_3_level_subdirs($least_deep); -} - -SKIP: { - my $skip_count = 3; - skip "getpwuid() and getgrgid() not implemented on Windows", $skip_count - if $^O eq 'MSWin32'; - - # mkpath() with hashref: case of valid owner - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| m n o | ); - my (@created, $error); - my $name = getpwuid($>); - @created = mkpath($deepest, { mode => 0711, owner => $name, error => \$error }); - is(scalar(@created), 3, "Provide valid 'owner' argument: 3 subdirectories created"); - - cleanup_3_level_subdirs($least_deep); -} - -SKIP: { - my $skip_count = 5; - skip "Windows will not set this error condition", $skip_count - if $^O eq 'MSWin32'; - - # mkpath() with hashref: case of phony group - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| p q r | ); - my (@created, $error); - my $bad_group = join('_' => 'foobarbaz', $$); - @created = mkpath($deepest, { mode => 0711, group => $bad_group, error => \$error }); - TODO: { - local $TODO = "Notwithstanding the phony 'group', mkpath will actually create subdirectories; should it?"; - is(scalar(@created), 0, "No subdirectories created"); - } - is(scalar(@$error), 1, "caught error condition" ); - my ($file, $message) = each %{$error->[0]}; - like($message, - qr/unable to map $bad_group to a gid, group ownership not changed/s, - "Got expected error message for phony user", - ); - - cleanup_3_level_subdirs($least_deep); -} - -{ - # mkpath() with hashref: case of valid group - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| s t u | ); - my (@created, $error); - @created = mkpath($deepest, { mode => 0711, group => $(, error => \$error }); - is(scalar(@created), 3, "Provide valid 'group' argument: 3 subdirectories created"); - - cleanup_3_level_subdirs($least_deep); -} - -SKIP: { - my $skip_count = 3; - skip "getpwuid() and getgrgid() not implemented on Windows", $skip_count - if $^O eq 'MSWin32'; - - # mkpath() with hashref: case of valid group - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| v w x | ); - my (@created, $error); - my $group_name = (getgrgid($())[0]; - @created = mkpath($deepest, { mode => 0711, group => $group_name, error => \$error }); - is(scalar(@created), 3, "Provide valid 'group' argument: 3 subdirectories created"); - - cleanup_3_level_subdirs($least_deep); -} - -SKIP: { - my $skip_count = 3; - skip "getpwuid() and getgrgid() not implemented on Windows", $skip_count - if $^O eq 'MSWin32'; - - # mkpath() with hashref: case of valid owner and group - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| delta epsilon zeta | ); - my (@created, $error); - my $name = getpwuid($>); - my $group_name = (getgrgid($())[0]; - @created = mkpath($deepest, { mode => 0711, owner => $name, group => $group_name, error => \$error }); - is(scalar(@created), 3, "Provide valid 'owner' and 'group' 'group' arguments: 3 subdirectories created"); - - cleanup_3_level_subdirs($least_deep); -} diff --git a/gnu/usr.bin/perl/cpan/File-Path/t/Path_root.t b/gnu/usr.bin/perl/cpan/File-Path/t/Path_root.t index 2647b7fd121..36aeb1677de 100644 --- a/gnu/usr.bin/perl/cpan/File-Path/t/Path_root.t +++ b/gnu/usr.bin/perl/cpan/File-Path/t/Path_root.t @@ -1,17 +1,15 @@ use strict; use Test::More; use Config; -use lib './t'; -use FilePathTest qw( - _run_for_warning -); +use lib 't/'; +use FilePathTest; use File::Path qw(rmtree mkpath make_path remove_tree); use File::Spec::Functions; my $prereq = prereq(); plan skip_all => $prereq if defined $prereq; -plan tests => 11; +plan tests => 8; my $pwent = max_u(); my $grent = max_g(); @@ -62,35 +60,21 @@ is(scalar(@created), 1, "created a directory owned by $max_user:$max_group..."); is($dir_uid, $max_uid, "... owned by $max_uid"); is($dir_gid, $max_gid, "... owned by group $max_gid"); -{ +SKIP: { + skip('Skip until RT 85878 is fixed', 1); # invent a user and group that don't exist do { ++$max_user } while ( getpwnam( $max_user ) ); do { ++$max_group } while ( getgrnam( $max_group ) ); $dir = catdir($dir_stem, 'aad'); - my $rv = _run_for_warning( sub { - make_path( - $dir, - { user => $max_user, group => $max_group } - ) - } ); - like( $rv, - qr{unable to map $max_user to a uid, ownership not changed:}s, - "created a directory not owned by $max_user:$max_group...", - ); + my $rv = _run_for_warning( sub { make_path( $dir, + { user => $max_user, + group => $max_group } ) } ); like( $rv, - qr{unable to map $max_group to a gid, group ownership not changed:}s, - "created a directory not owned by $max_user:$max_group...", - ); -} - -{ - # cleanup - my $x; - my $opts = { error => \$x }; - remove_tree($tmp_base, $opts); - ok(! -d $tmp_base, "directory '$tmp_base' removed, as expected"); - is(scalar(@{$x}), 0, "no error messages using remove_tree() with \$opts"); + qr{\Aunable to map $max_user to a uid, ownership not changed: .* at \S+ line \d+ +unable to map $max_group to a gid, group ownership not changed: .* at \S+ line \d+\b}, + "created a directory not owned by $max_user:$max_group..." + ); } sub max_u { diff --git a/gnu/usr.bin/perl/cpan/File-Path/t/Path_win32.t b/gnu/usr.bin/perl/cpan/File-Path/t/Path_win32.t index 89b0b2f045c..47168822b96 100644 --- a/gnu/usr.bin/perl/cpan/File-Path/t/Path_win32.t +++ b/gnu/usr.bin/perl/cpan/File-Path/t/Path_win32.t @@ -1,20 +1,16 @@ use strict; use Test::More; -use lib './t'; -use FilePathTest qw( - create_3_level_subdirs - cleanup_3_level_subdirs -); +use lib 't/'; +use FilePathTest; use File::Path; use Cwd; use File::Spec::Functions; -use Carp; plan skip_all => 'not win32' unless $^O eq 'MSWin32'; my ($ignore, $major, $minor, $build, $id) = Win32::GetOSVersion(); plan skip_all => "WinXP or later" unless $id >= 2 && ($major > 5 || $major == 5 && $minor >= 1); -plan tests => 9; +plan tests => 3; my $tmp_base = catdir( curdir(), @@ -34,29 +30,3 @@ ok(-d $UNC_path, 'mkpath on Win32 UNC path made dir'); my $removed = rmtree($UNC_path); cmp_ok($removed, '>', 0, "removed $removed entries from $UNC_path"); - -{ - my ($least_deep, $next_deepest, $deepest) = - create_3_level_subdirs( qw| d e f | ); - my (@created, $error); - my $user = join('_' => 'foobar', $$); - { - my $warn; - $SIG{__WARN__} = sub { $warn = shift }; - - @created = mkpath($deepest, { mode => 0711, user => $user, error => \$error }); - like($warn, - qr/Option\(s\) implausible on Win32 passed to mkpath\(\) or make_path\(\)/, - 'make_path with final hashref warned due to options implausible on Win32' - ); - TODO: { - local $TODO = "Notwithstanding the Win32-implausible 'user', mkpath will actually create subdirectories; should it?"; - is(scalar(@created), 0, "No subdirectories created"); - } - is(scalar(@created), 3, "3 subdirectories created"); - is(scalar(@$error), 0, "no error condition" ); - } - - cleanup_3_level_subdirs($least_deep); -} - diff --git a/gnu/usr.bin/perl/cpan/IO-Compress/private/MakeUtil.pm b/gnu/usr.bin/perl/cpan/IO-Compress/private/MakeUtil.pm index 9d7e5ed262d..47aebd60743 100644 --- a/gnu/usr.bin/perl/cpan/IO-Compress/private/MakeUtil.pm +++ b/gnu/usr.bin/perl/cpan/IO-Compress/private/MakeUtil.pm @@ -35,8 +35,7 @@ sub MY::libscan my $path = shift; return undef - if $path =~ /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/ || - $path =~ /(~|\.bak|_bak)$/ || + if $path =~ /(~|\.bak|_bak)$/ || $path =~ /\..*\.sw(o|p)$/ || $path =~ /\B\.svn\b/; diff --git a/gnu/usr.bin/perl/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm b/gnu/usr.bin/perl/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm index 5a5ee7d204a..3266fab792a 100644 --- a/gnu/usr.bin/perl/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm +++ b/gnu/usr.bin/perl/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm @@ -7,7 +7,7 @@ package IO::Socket::IP; # $VERSION needs to be set before use base 'IO::Socket' # - https://rt.cpan.org/Ticket/Display.html?id=92107 BEGIN { - $VERSION = '0.39'; + $VERSION = '0.37'; } use strict; @@ -31,7 +31,7 @@ use Socket 1.97 qw( my $AF_INET6 = eval { Socket::AF_INET6() }; # may not be defined my $AI_ADDRCONFIG = eval { Socket::AI_ADDRCONFIG() } || 0; use POSIX qw( dup2 ); -use Errno qw( EINVAL EINPROGRESS EISCONN ENOTCONN ETIMEDOUT EWOULDBLOCK EOPNOTSUPP ); +use Errno qw( EINVAL EINPROGRESS EISCONN ENOTCONN ETIMEDOUT EWOULDBLOCK ); use constant HAVE_MSWIN32 => ( $^O eq "MSWin32" ); @@ -154,7 +154,7 @@ sub import if( setsockopt $testsock, IPPROTO_IPV6, IPV6_V6ONLY, 0 ) { return $can_disable_v6only = 1; } - elsif( $! == EINVAL || $! == EOPNOTSUPP ) { + elsif( $! == EINVAL ) { return $can_disable_v6only = 0; } else { @@ -265,22 +265,6 @@ If true, set the C sockopt (not all OSes implement this sockopt) If true, set the C sockopt -=item Sockopts => ARRAY - -An optional array of other socket options to apply after the three listed -above. The value is an ARRAY containing 2- or 3-element ARRAYrefs. Each inner -array relates to a single option, giving the level and option name, and an -optional value. If the value element is missing, it will be given the value of -a platform-sized integer 1 constant (i.e. suitable to enable most of the -common boolean options). - -For example, both options given below are equivalent to setting C. - - Sockopts => [ - [ SOL_SOCKET, SO_REUSEADDR ], - [ SOL_SOCKET, SO_REUSEADDR, pack( "i", 1 ) ], - ] - =item V6Only => BOOL If defined, set the C sockopt when creating C sockets @@ -520,27 +504,10 @@ sub _io_socket_ip__configure } } - my $INT_1 = pack "i", 1; - my @sockopts_enabled; - push @sockopts_enabled, [ SOL_SOCKET, SO_REUSEADDR, $INT_1 ] if $arg->{ReuseAddr}; - push @sockopts_enabled, [ SOL_SOCKET, SO_REUSEPORT, $INT_1 ] if $arg->{ReusePort}; - push @sockopts_enabled, [ SOL_SOCKET, SO_BROADCAST, $INT_1 ] if $arg->{Broadcast}; - - if( my $sockopts = $arg->{Sockopts} ) { - ref $sockopts eq "ARRAY" or croak "Expected 'Sockopts' to be an ARRAY ref"; - foreach ( @$sockopts ) { - ref $_ eq "ARRAY" or croak "Bad Sockopts item - expected ARRAYref"; - @$_ >= 2 and @$_ <= 3 or - croak "Bad Sockopts item - expected 2 or 3 elements"; - - my ( $level, $optname, $value ) = @$_; - # TODO: consider more sanity checking on argument values - - defined $value or $value = $INT_1; - push @sockopts_enabled, [ $level, $optname, $value ]; - } - } + push @sockopts_enabled, SO_REUSEADDR if $arg->{ReuseAddr}; + push @sockopts_enabled, SO_REUSEPORT if $arg->{ReusePort}; + push @sockopts_enabled, SO_BROADCAST if $arg->{Broadcast}; my $blocking = $arg->{Blocking}; defined $blocking or $blocking = 1; @@ -640,8 +607,7 @@ sub setup $self->blocking( 0 ) unless ${*$self}{io_socket_ip_blocking}; foreach my $sockopt ( @{ ${*$self}{io_socket_ip_sockopts} } ) { - my ( $level, $optname, $value ) = @$sockopt; - $self->setsockopt( $level, $optname, $value ) or ( $@ = "$!", return undef ); + $self->setsockopt( SOL_SOCKET, $sockopt, pack "i", 1 ) or ( $@ = "$!", return undef ); } if( defined ${*$self}{io_socket_ip_v6only} and defined $AF_INET6 and $info->{family} == $AF_INET6 ) { @@ -719,7 +685,6 @@ sub connect :method } elsif( not( $err == EINPROGRESS or $err == EWOULDBLOCK ) ) { # Failed for some other reason - $self->blocking( $was_blocking ); return undef; } elsif( !$was_blocking ) { @@ -729,7 +694,6 @@ sub connect :method my $vec = ''; vec( $vec, $self->fileno, 1 ) = 1; if( !select( undef, $vec, $vec, $timeout ) ) { - $self->blocking( $was_blocking ); $! = ETIMEDOUT; return undef; } diff --git a/gnu/usr.bin/perl/cpan/IO-Socket-IP/t/11sockopts.t b/gnu/usr.bin/perl/cpan/IO-Socket-IP/t/11sockopts.t index 5b850924dd5..90f92ae7bd8 100644 --- a/gnu/usr.bin/perl/cpan/IO-Socket-IP/t/11sockopts.t +++ b/gnu/usr.bin/perl/cpan/IO-Socket-IP/t/11sockopts.t @@ -24,17 +24,6 @@ TODO: { ) or die "Cannot socket() - $@"; ok( $sock->getsockopt( SOL_SOCKET, SO_REUSEADDR ), 'SO_REUSEADDR set' ); - - $sock = IO::Socket::IP->new( - LocalHost => "127.0.0.1", - Type => SOCK_STREAM, - Listen => 1, - Sockopts => [ - [ SOL_SOCKET, SO_REUSEADDR ], - ], - ) or die "Cannot socket() - $@"; - - ok( $sock->getsockopt( SOL_SOCKET, SO_REUSEADDR ), 'SO_REUSEADDR set via Sockopts' ); } SKIP: { diff --git a/gnu/usr.bin/perl/cpan/NEXT/lib/NEXT.pm b/gnu/usr.bin/perl/cpan/NEXT/lib/NEXT.pm index 72dbee8c51c..a77bb387433 100644 --- a/gnu/usr.bin/perl/cpan/NEXT/lib/NEXT.pm +++ b/gnu/usr.bin/perl/cpan/NEXT/lib/NEXT.pm @@ -190,7 +190,7 @@ __END__ =head1 NAME -NEXT - Provide a pseudo-class NEXT (et al) that allows method redispatch +NEXT.pm - Provide a pseudo-class NEXT (et al) that allows method redispatch =head1 SYNOPSIS diff --git a/gnu/usr.bin/perl/cpan/Pod-Parser/lib/Pod/PlainText.pm b/gnu/usr.bin/perl/cpan/Pod-Parser/lib/Pod/PlainText.pm index 03252e93c71..3db4d903cd6 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Parser/lib/Pod/PlainText.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Parser/lib/Pod/PlainText.pm @@ -139,19 +139,6 @@ sub initialize { return $self->SUPER::initialize; } -# pod2text and pod2man re-use the same parser on a list of files, -# and will lose some information if some intermediate documents produce -# unbalanced calls to begin_cmd/end_cmd. -# via r1.4 of OpenBSD src/gnu/usr.bin/perl/lib/Pod/PlainText.pm -sub begin_pod { - my $self = shift; - - $$self{VERBATIM} = 0; - $$self{EXCLUDE} = 0; - - return $self->SUPER::begin_pod(@_); -} - ############################################################################ # Core overrides diff --git a/gnu/usr.bin/perl/cpan/Sys-Syslog/Makefile.PL b/gnu/usr.bin/perl/cpan/Sys-Syslog/Makefile.PL index fce84965200..347197ab440 100644 --- a/gnu/usr.bin/perl/cpan/Sys-Syslog/Makefile.PL +++ b/gnu/usr.bin/perl/cpan/Sys-Syslog/Makefile.PL @@ -13,7 +13,7 @@ if ($] < 5.008) { } # create a lib/ dir in order to avoid warnings in Test::Distribution -mkdir "lib", $ENV{PERL_CORE} ? 0770 : 0755; +mkdir "lib", 0755; # virtual paths given to EU::MM my %virtual_path = ( 'Syslog.pm' => '$(INST_LIBDIR)/Syslog.pm' ); diff --git a/gnu/usr.bin/perl/cpan/Text-Balanced/lib/Text/Balanced.pm b/gnu/usr.bin/perl/cpan/Text-Balanced/lib/Text/Balanced.pm index 4fbb1bc6315..f1a5780a0b9 100644 --- a/gnu/usr.bin/perl/cpan/Text-Balanced/lib/Text/Balanced.pm +++ b/gnu/usr.bin/perl/cpan/Text-Balanced/lib/Text/Balanced.pm @@ -1508,7 +1508,7 @@ C returns the complete text up to the point of failure. If the string is "PARA", C returns only the first paragraph after the tag (up to the first line that is either empty or contains only whitespace characters). -If the string is "", the default behaviour (i.e. failure) is reinstated. +If the string is "", the the default behaviour (i.e. failure) is reinstated. For example, suppose the start tag "/para" introduces a paragraph, which then continues until the next "/endpara" tag or until another "/para" tag is diff --git a/gnu/usr.bin/perl/cpan/podlators/lib/Pod/Man.pm b/gnu/usr.bin/perl/cpan/podlators/lib/Pod/Man.pm index f014b3183e9..b739559551d 100644 --- a/gnu/usr.bin/perl/cpan/podlators/lib/Pod/Man.pm +++ b/gnu/usr.bin/perl/cpan/podlators/lib/Pod/Man.pm @@ -896,8 +896,6 @@ sub devise_title { $cut = $i + 1; $cut++ if ($dirs[$i + 1] && $dirs[$i + 1] eq 'lib'); last; - } elsif ($dirs[$i] eq 'lib' && $dirs[$i + 1] && $dirs[0] eq 'ext') { - $cut = $i + 1; } } if ($cut > 0) { diff --git a/gnu/usr.bin/perl/cpan/podlators/scripts/pod2man.PL b/gnu/usr.bin/perl/cpan/podlators/scripts/pod2man.PL index 618626b74e4..f40c126e562 100644 --- a/gnu/usr.bin/perl/cpan/podlators/scripts/pod2man.PL +++ b/gnu/usr.bin/perl/cpan/podlators/scripts/pod2man.PL @@ -73,12 +73,11 @@ my $stdin; # Parse our options, trying to retain backward compatibility with pod2man but # allowing short forms as well. --lax is currently ignored. my %options; -$options{utf8} = 1; Getopt::Long::config ('bundling_override'); GetOptions (\%options, 'center|c=s', 'date|d=s', 'errors=s', 'fixed=s', 'fixedbold=s', 'fixeditalic=s', 'fixedbolditalic=s', 'help|h', 'lax|l', 'name|n=s', 'nourls', 'official|o', 'quotes|q=s', - 'release|r=s', 'section|s=s', 'stderr', 'verbose|v', 'utf8|u!') + 'release|r=s', 'section|s=s', 'stderr', 'verbose|v', 'utf8|u') or exit 1; pod2usage (0) if $options{help}; @@ -124,7 +123,7 @@ exit $status; __END__ =for stopwords -en em --stderr stderr --no-utf8 UTF-8 overdo markup MT-LEVEL Allbery Solaris +en em --stderr stderr --utf8 UTF-8 overdo markup MT-LEVEL Allbery Solaris URL troff troff-specific formatters uppercased Christiansen --nourls UTC prepend @@ -138,7 +137,7 @@ pod2man [B<--center>=I] [B<--date>=I] [B<--errors>=I