delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/06/19/15:30:02

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 AT x-ray DOT 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 AT cygwin DOT com>
Subject: perl-5.10.0 beta soon, 5.9.4 results
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT 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 AT x-ray DOT 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 AT x-ray DOT 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 AT x-ray DOT at'
cf_by='rurban'
cf_email='cygwin AT cygwin DOT 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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019