X-Spam-Check-By: sourceware.org
Message-ID: <46782EA0.9000409@x-ray.at>
Date: Tue, 19 Jun 2007 21:29:36 +0200
From: Reini Urban <rurban@x-ray.at>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.8.1.4) Gecko/20070509 SeaMonkey/1.1.2
MIME-Version: 1.0
To: Cygwin List <cygwin@cygwin.com>
Subject: perl-5.10.0 beta soon, 5.9.4 results
Content-Type: multipart/mixed;  boundary="------------010004070003050909050503"
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

--------------010004070003050909050503
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

As 5.9.5 (aka 5.10.0 beta) will be out very soon, and nobody provided an 
updated perl package so far, I'm taking the stab from gerrit.
We still have no stable 5.8.8
If there are some missing cygwin patches left over, esp. with the 
Win32CORE move from libwin32 to core, they should go in to p5p now or never.

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-06/msg00474.html

5.9.4 looks quite good so far. See attachments. 20 test failures only.
-- 
http://phpwiki.org/         http://murbreak.at/
http://spacemovie.mur.at/   http://helsinki.at/

--------------010004070003050909050503
Content-Type: text/plain;
 name="build.sh"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="build.sh"

#!/bin/sh

## M$ sucks
unset LIB
unset INCLUDE

## run the build with ntsec on if possible...
pkg=perl
ver=5.9.4
major=5.9
release=-1
dir=`pwd`
shortver=`echo ${ver}${release} | sed 's/-.*//'`
buildperl=buildperl

## checkout builddir
rm -rf ${dir}/${buildperl}
mkdir -p -m 777 ${dir}/${buildperl}

## unpack
rm -rf ${pkg}-${ver}
tar xfz ${pkg}-${ver}.tar.gz
#tar xjvf ${pkg}-${ver}-ext-Win32CORE.tar.bz2
mkdir -p /usr/share/doc/${pkg}-${ver}
/bin/install -c -m 644 ${pkg}-${ver}/Artistic ${pkg}-${ver}/Copying ${pkg}-${ver}/README /usr/share/doc/${pkg}-${ver}

for p in pl-*.patch; do
  (cd ${pkg}-${ver}; patch -p1 -b <../$p; cd -)
done
# will not be accepted upstream, release only:
## patch to strip the binaries & dll's
#(cd ${pkg}-${ver} ; patch -p1 <../hints.cygwin.sh.patch)
## dll naming major version patch
#(cd ${pkg}-${ver} ; patch -p1 <../major.version.cygwin.sh.patch)

# should be accepted upstream, check:
## Kid.ppm patch
#(cd ${pkg}-${ver} ; patch -p1 <../Kid.pm.patch)
## Win32CORE patch
#(cd ${pkg}-${ver} ; patch -p1 <../p587w32core.patch)
## Try to fix TH problem
#(cd ${pkg}-${ver} ; patch -p1 <../Straps.pm.patch)
## Patch to issue reported here:
## http://www.gentoo.org/security/en/glsa/glsa-200512-01.xml
## http://bugs.gentoo.org/show_bug.cgi?id=114113
## http://www.dyadsecurity.com/perl-0002.html
#(cd ${pkg}-${ver} ; patch -p1 <../sprintf-5.8.7.patch)

## configure perl
cd ${dir}/${buildperl}

cp ${dir}/Policy.sh ${dir}/${buildperl}

sh ${dir}/${pkg}-${ver}/Configure -de	\
		-Dmksymlinks	\
		-Duse64bitint	\
		-Dusethreads	\
		-Uusemymalloc   \
		-Doptimize='-O3'	\
		-Dman3ext='3pm'	\
		-Dusesitecustomize \
		-Dusedevel \
		2>&1 | tee ${dir}/log.configure

# Implied by usethreads
#		-Dusemultiplicity	\
#		-Uusemymalloc	\

## build perl
make 2>&1 | tee ${dir}/log.make

cp /usr/bin/cygcrypt-0.dll .

## make the tests
export PERLIO=perlio
make test 2>&1 | tee ${dir}/log.test
(cd t;./perl harness) 2>&1 | tee ${dir}/log.harness

rm -f cygcrypt-0.dll

## install
make install-strip 2>&1 | tee ${dir}/log.install

cd ${dir}
# TODO: check updated libs
for i in \
         Compress-Zlib-1.41	\
         Compress-Bzip2-2.09 \
         IO-Zlib-1.04	\
         IO-String-1.07	\
         Text-Diff-0.35 \
         Archive-Tar-1.26	\
         MD5-2.03	\
         Term-ReadLine-Perl-1.0203 \
         Net-Telnet-3.03	\
         TermReadKey-2.30	\
         XML-Parser-2.34	\
	 Proc-ProcessTable-0.40 \
	 ; \
do (tar xzf ${i}.tar.gz &&	\
    (cd ${i} &&	\
    if test -f ../$i.patch; then patch -p0 < ../$i.patch; fi &&  \
    perl Makefile.PL &&	\
    make &&	\
    make install_vendor UNINST=1));	\
done

--------------010004070003050909050503
Content-Type: text/plain;
 name="pl-lib-ExtUtils-Embed.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pl-lib-ExtUtils-Embed.patch"

2007-06-19 20:42:18 rurban@x-ray.at
	* lib/ExtUtils/Embed.pm: insensitive against leading \s

--- perl-5.9.4/lib/ExtUtils/Embed.pm.orig	2006-08-15 12:37:41.000000000 +0000
+++ perl-5.9.4/lib/ExtUtils/Embed.pm	2007-06-19 18:40:28.843750000 +0000
@@ -133,7 +133,9 @@
 
 sub static_ext {
     unless (scalar @Extensions) {
-	@Extensions = sort split /\s+/, $Config{static_ext};
+      my $static_ext = $Config{static_ext};
+      $static_ext =~ s/^\s+//;
+      @Extensions = sort split /\s+/, $static_ext;
 	unshift @Extensions, qw(DynaLoader);
     }
     @Extensions;

--------------010004070003050909050503
Content-Type: text/plain;
 name="pl-lib-Test-Harness-Straps.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pl-lib-Test-Harness-Straps.patch"

--- perl-5.9.4/lib/Test/Harness/Straps.pm.orig	2006-08-15 12:37:41.000000000 +0000
+++ perl-5.9.4/lib/Test/Harness/Straps.pm	2007-06-19 18:37:17.671875000 +0000
@@ -478,7 +478,7 @@
         my $self = shift;
         my $perl = $self->_command;
         $cache{$perl} ||= [do {
-            local $ENV{PERL5LIB};
+            local $ENV{PERL5LIB} = '';
             my @inc =`$perl -le "print join qq[\\n], \@INC"`;
             chomp @inc;
         }];

--------------010004070003050909050503
Content-Type: text/plain;
 name="pl-major.version.cygwin.sh.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pl-major.version.cygwin.sh.patch"

2007-06-19 20:25:51 rurban@x-ray.at
	* cygperl-5_9.dll and not cygperl-5_9_x.dll

--- bleadperl/cygwin/perlld.in~ 2004-11-09 15:00:08.046250000 +0100
+++ bleadperl/cygwin/perlld.in  2004-11-09 14:59:53.249375000 +0100
@@ -46,7 +46,7 @@
     $path =~ s,[/\\](\.[/\\])*,/,g;
   }
   if ($dllname =~ /\./) { $libname =$`; } else { $libname =$dllname; };
-  my $v_e_r_s = '@VERSION@';
+  my $v_e_r_s = substr("@VERSION@",0,-2);
   $v_e_r_s =~ tr/./_/;
   if ( $dllname =~ /libperl.*/) { 
     $dllname ="cygperl$v_e_r_s.dll";
@@ -64,6 +64,7 @@
   $command .=" -Wl,--out-implib=$libname.dll$LIB_EXT" if $LIB_EXT;
   $command .=" -Wl,--export-all-symbols" if $EXPORT_ALL;
   $command .=" -Wl,--enable-auto-import -Wl,--stack,8388608"; # always
+  $command .=" -Wl,--enable-auto-image-base"; # always
 
   # other args are passed through
   shellexec("$command \\\n$args\n");

--- bleadperl/lib/ExtUtils/t/Embed.t~   2004-11-09 16:40:19.006625000 +0100
+++ bleadperl/lib/ExtUtils/t/Embed.t    2004-11-09 16:40:30.616000000 +0100
@@ -94,7 +94,7 @@
     }
    }
    elsif ($^O eq 'cygwin') { # Cygwin needs the shared libperl copied
-     my $v_e_r_s = $Config{version};
+     my $v_e_r_s = substr($Config{version},0,-2);
      $v_e_r_s =~ tr/./_/;
      system("cp ../cygperl$v_e_r_s.dll ./");    # for test 1
    }

--- perl-5.8.6/installperl.orig	2005-01-10 00:26:26.292860800 +0100
+++ perl-5.8.6/installperl	2005-01-10 00:26:09.959374400 +0100
@@ -260,7 +260,7 @@
 
     if ($Is_Cygwin) {
 	$perldll = $libperl;
-	my $v_e_r_s = $ver; $v_e_r_s =~ tr/./_/;
+	my $v_e_r_s = substr($ver,0,-2); $v_e_r_s =~ tr/./_/;
 	$perldll =~ s/(\..*)?$/$v_e_r_s.$dlext/;
 	$perldll =~ s/^lib/cyg/;
 	if ($Config{useshrplib} eq 'true') {

--------------010004070003050909050503
Content-Type: text/plain;
 name="Policy.sh"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="Policy.sh"

#!/bin/sh

# Policy file for perl-5.9.4-1

# Where things will be.
prefix='/usr'
siteprefix='/usr'
vendorprefix='/usr'

man1dir='/usr/share/man/man1'
man3dir='/usr/share/man/man3'
siteman1dir='/usr/share/man/man1'
siteman3dir='/usr/share/man/man3'
vendorman1dir='/usr/share/man/man1'
vendorman3dir='/usr/share/man/man3'

privlib='/usr/lib/perl5/5.9'
privlibexp='/usr/lib/perl5/5.9'
archlib='/usr/lib/perl5/5.9/cygwin'
archlibexp='/usr/lib/perl5/5.9/cygwin'

sitelib='/usr/lib/perl5/site_perl/5.9'
#sitelib_stem='/usr/lib/perl5/site_perl'
sitelibexp='/usr/lib/perl5/site_perl/5.9'
sitearch='/usr/lib/perl5/site_perl/5.9/cygwin'
sitearchexp='/usr/lib/perl5/site_perl/5.9/cygwin'

vendorlib='/usr/lib/perl5/vendor_perl/5.9'
#vendorlib_stem='/usr/lib/perl5/vendor_perl'
vendorlibexp='/usr/lib/perl5/vendor_perl/5.9'
vendorarch='/usr/lib/perl5/vendor_perl/5.9/cygwin'
vendorarchexp='/usr/lib/perl5/vendor_perl/5.9/cygwin'

inc_version_list="5.9/cygwin 5.9 cygwin"

# The maintainer.
mydomain='.x-ray.at'
myhostname='reini'
perladmin='rurban@x-ray.at'
cf_by='rurban'
cf_email='cygwin@cygwin.com'

# 2007-06-19 20:03:44 rurban

--------------010004070003050909050503
Content-Type: text/plain;
 name="makepkg.sh"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="makepkg.sh"

#!/bin/sh

# run the build with ntsec on if possible...
pkg=perl
ver=5.9.4
major=5.9
release=-1
dir=`pwd`
shortver=`echo ${ver}${release} | sed 's/-.*//'`
timestamp=${dir}/pkg.timestamp
files=${dir}/pkg.files

# cleanup
mkdir -p old/
mv -f ${timestamp} ${files} ${files}.manpages ${files}.perl ${pkg}-${ver}${release}-src.tar.bz2 ${pkg}-${ver}${release}.tar.bz2 ${pkg}_manpages-${ver}${release}.tar.bz2 ${pkg}-${ver}${release}/ old/
mv -f /usr/share/doc/Cygwin/${pkg}-${shortver}.README old
# cleanup modules
for i in \
         Compress-Zlib-1.41	\
         Compress-Bzip2-2.09 \
         Proc-ProcessTable-0.40 \
         IO-Zlib-1.04	\
         IO-String-1.07	\
         Text-Diff-0.35 \
         Archive-Tar-1.26	\
         MD5-2.03	\
         Term-ReadLine-Perl-1.0203 \
         Net-Telnet-3.03	\
         TermReadKey-2.30	\
         XML-Parser-2.34;	\
do rm -rf ${i};	\
done


## start
set -e
touch ${timestamp}
touch README

## install READMEs
/bin/install -m 644 README /usr/share/doc/Cygwin/${pkg}-${shortver}.README 
mkdir -p /usr/share/doc/${pkg}-${ver}
rm -rf /usr/share/doc/${pkg}-${ver}

## build perl now
sh -x ${dir}/build.sh

## source package
rm -rf ${pkg}-${ver}${release}
mkdir ${pkg}-${ver}${release}
cp -p README *.patch *.pl *.sh *.tar.gz *.tar.bz2 ${pkg}-${ver}${release}
for i in `ls log.*`; do cp ${i} ${pkg}-${ver}${release}/${i}.rel; done
tar cjf ${pkg}-${ver}${release}-src.tar.bz2 ${pkg}-${ver}${release}

## binary package
## first the files
(cd / ; find usr/share/man -path usr/lib/perl5 -prune -o -type f -newer ${timestamp} -print) >${files}
(cd / ; find usr/bin -path usr/lib/perl5 -prune -o -type f -newer ${timestamp} -print) >>${files}
echo usr/lib/perl5/${major} >>${files}
echo usr/lib/perl5/site_perl/${major} >>${files}
echo usr/lib/perl5/vendor_perl/${major} >>${files}
echo usr/share/doc/${pkg}-${ver} >>${files}
echo usr/share/doc/Cygwin/${pkg}-${ver}.README >>${files}
## separate manpages and remove builddirs from list
${dir}/separate.pl
## then pack it up
(cd /; tar -c -T ${files}.manpages) | bzip2 -9 >${pkg}_manpages-${ver}${release}.tar.bz2
(cd /; tar -c -T ${files}.perl) | bzip2 -9 >${pkg}-${ver}${release}.tar.bz2

--------------010004070003050909050503
Content-Type: text/plain;
 name="pl-hints.cygwin.sh.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="pl-hints.cygwin.sh.patch"

--- perl-5.8.5/hints/cygwin.sh.orig	2004-02-22 23:07:58.000000000 +0100
+++ perl-5.8.5/hints/cygwin.sh	2004-08-05 23:03:21.290385600 +0200
@@ -54,6 +54,6 @@
 d_eofnblk='define'
 
 # strip exe's and dll's
-#ldflags="$ldflags -s"
-#ccdlflags="$ccdlflags -s"
-#lddlflags="$lddlflags -s"
+ldflags="$ldflags -s"
+ccdlflags="$ccdlflags -s"
+lddlflags="$lddlflags -s"

--------------010004070003050909050503
Content-Type: text/plain;
 name="log.test.failed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="log.test.failed"

t/run/switchd........................................# Failed at run/switchd.t line 41
#      got 'sub<Devel::switchd::import>;import<Devel::switchd>;sub<CODE(0x67d7d0)>;DB<main,swdtest.tmp,9>;sub<Foo::foo>;DB<Foo,swdtest.tmp,5>;DB<Foo,swdtest.tmp,6>;DB<Foo,swdtest.tmp,6>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;'
# expected /(?-xism:^sub<Devel::switchd::import>;import<Devel::switchd>;DB<main,swdtest.tmp,9>;sub<Foo::foo>;DB<Foo,swdtest.tmp,5>;DB<Foo,swdtest.tmp,6>;DB<Foo,swdtest.tmp,6>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;$)/
FAILED at test 1
t/op/pwent...........................................FAILED--no leader found
t/op/taint...........................................FAILED--expected 251 tests, saw 141
t/lib/1_compile......................................FAILED at test 6
ext/DynaLoader/t/DynaLoader..........................#   Failed test 'array should contain one result result or more: libc => ()'
#   in ../ext/DynaLoader/t/DynaLoader.t at line 97.
#     '0'
#         >=
#     '1'
FAILED at test 20
ext/File/Glob/t/basic................................FAILED--no leader found
ext/IPC/SysV/t/ipcsysv...............................# SIGSYS caught.
# It may be that your kernel does not have SysV IPC configured.
# Bail out! SIGSYS caught
# Looks like you planned 17 tests but ran 0.
FAILED--expected 17 tests, saw 0
ext/IPC/SysV/t/msg...................................FAILED--no leader found
ext/IPC/SysV/t/sem...................................FAILED--no leader found
ext/POSIX/t/sysconf..................................#   Failed test '	checking that the returned value is defined: '
#   in ../ext/POSIX/t/sysconf.t at line 66.
FAILED at test 2
ext/Sys/Syslog/t/syslog..............................#   Failed test 'setlogsock() should return true: '''
#   in ../ext/Sys/Syslog/t/syslog.t at line 184.
FAILED at test 156
lib/Archive/Tar/t/02_methods.........................# No long filename support - long filename extraction disabled
#   Failed test 'running /usr/src/perl/perl-5.9.4-1/buildperl/perl.exe "-I../lib" "-I../../lib" ../utils/h2xs -f -n h2xst 2>&1 '
#   in ../lib/h2xs.t at line 168.
#          got: 35584
#     expected: 0
FAILED at test 3
lib/Net/Ping/t/500_ping_icmp.........................# Failed test 2 in ../lib/Net/Ping/t/500_ping_icmp.t at line 28
#  ../lib/Net/Ping/t/500_ping_icmp.t line 28 is:   ok $p->ping("127.0.0.1");
FAILED at test 2
lib/Net/t/config.....................................FAILED--no leader found
lib/Net/t/ftp........................................FAILED--no leader found
lib/Net/t/hostname...................................FAILED--no leader found
lib/Net/t/nntp.......................................FAILED--no leader found
lib/Net/t/require....................................FAILED--no leader found
lib/Net/t/smtp.......................................FAILED--no leader found
lib/Net/t/time.......................................FAILED--no leader found

Failed 20 tests out of 1239, 98.39% okay.
	../ext/DynaLoader/t/DynaLoader.t
	../ext/File/Glob/t/basic.t
	../ext/IPC/SysV/t/ipcsysv.t
	../ext/IPC/SysV/t/msg.t
	../ext/IPC/SysV/t/sem.t
	../ext/POSIX/t/sysconf.t
	../ext/Sys/Syslog/t/syslog.t
	../lib/Net/Ping/t/500_ping_icmp.t
	../lib/Net/t/config.t
	../lib/Net/t/ftp.t
	../lib/Net/t/hostname.t
	../lib/Net/t/nntp.t
	../lib/Net/t/require.t
	../lib/Net/t/smtp.t
	../lib/Net/t/time.t
	../lib/h2xs.t
	lib/1_compile.t
	op/pwent.t
	op/taint.t
	run/switchd.t

--------------010004070003050909050503
Content-Type: text/plain;
 name="log.test.skipped"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="log.test.skipped"

ext/Compress/IO/Base/t/99pod.........................skipping test on this platform
ext/Compress/IO/Zlib/t/020isize......................skipping test on this platform
ext/Compress/IO/Zlib/t/109merge-zip..................skipping test on this platform
ext/Compress/IO/Zlib/t/999pod........................skipping test on this platform
ext/Compress/Raw/Zlib/t/99pod........................skipping test on this platform
ext/Compress/Zlib/t/99pod............................skipping test on this platform
ext/Cwd/t/win32......................................skipping test on this platform
ext/Digest/SHA/t/0-pod-coverage......................skipping test on this platform
ext/Digest/SHA/t/0-pod...............................skipping test on this platform
ext/Storable/t/compat01..............................skipping test on this platform
lib/ExtUtils/t/MM_BeOS...............................skipping test on this platform
lib/ExtUtils/t/MM_NW5................................skipping test on this platform
lib/ExtUtils/t/MM_OS2................................skipping test on this platform
lib/ExtUtils/t/MM_Unix...............................skipping test on this platform
lib/ExtUtils/t/MM_VMS................................skipping test on this platform
lib/ExtUtils/t/MM_Win32..............................skipping test on this platform
lib/Module/Build/t/signature.........................skipping test on this platform
lib/Net/netent.......................................skipping test on this platform
lib/Net/Ping/t/200_ping_tcp..........................skipping test on this platform
lib/Net/Ping/t/250_ping_hires........................skipping test on this platform
lib/Net/Ping/t/300_ping_stream.......................skipping test on this platform
lib/Net/Ping/t/400_ping_syn..........................skipping test on this platform
lib/Net/Ping/t/410_syn_host..........................skipping test on this platform
lib/Test/Harness/t/nonumbers.........................skipping test on this platform
lib/Test/Harness/t/pod...............................skipping test on this platform
lib/Test/Harness/t/prove-globbing....................skipping test on this platform
lib/Test/Harness/t/prove-switches....................skipping test on this platform
lib/Test/Simple/t/has_plan2..........................skipping test on this platform
lib/Test/Simple/t/plan_no_plan.......................skipping test on this platform
lib/Test/Simple/t/plan_skip_all......................skipping test on this platform
lib/Test/Simple/t/strays.............................skipping test on this platform
lib/Text/Balanced/t/pod-coverage.....................skipping test on this platform
lib/Text/Balanced/t/pod..............................skipping test on this platform
lib/Tie/File/t/21_win32..............................skipping test on this platform
lib/User/grent.......................................skipping test on this platform
lib/User/pwent.......................................skipping test on this platform


--------------010004070003050909050503
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
--------------010004070003050909050503--
