Merge pull request #28 from zakame/issues/sha1sum-update

Use SHA256 instead of SHA1
This commit is contained in:
Peter Martini 2017-03-04 09:09:05 -05:00 committed by GitHub
commit ed0eef11d3
38 changed files with 4938 additions and 548 deletions

View file

@ -40,7 +40,7 @@ index 6f20c5e..684f369 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index ac264c3..fb5a46e 100644 index ac264c3..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -123,10 +123,37 @@ index ac264c3..fb5a46e 100644
ppc*) ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1. # with -O2 ; so downgrade to -O1.
@@ -143,6 +150,77 @@ case "$optimize" in @@ -143,93 +150,78 @@ case "$optimize" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
+# where to look. We don't want gcc's own libraries, however, so we +# where to look. We don't want gcc's own libraries, however, so we
@ -142,10 +169,16 @@ index ac264c3..fb5a46e 100644
+# plibpth to bypass this check. +# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then +if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc + gcc=/usr/bin/gcc
+else else
- cat <<'EOM' >&4
+ gcc=gcc + gcc=gcc
+fi +fi
+
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
+case "$plibpth" in +case "$plibpth" in
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | +'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` + cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
@ -154,7 +187,54 @@ index ac264c3..fb5a46e 100644
+ plibpth="$*" + plibpth="$*"
+ ;; + ;;
+esac +esac
+
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -171,7 +251,8 @@ index ac264c3..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -197,29 +278,13 @@ index ac264c3..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -163,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -229,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -296,7 +374,7 @@ fi @@ -296,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -228,7 +293,7 @@ index ac264c3..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -311,24 +389,62 @@ esac @@ -311,24 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -302,7 +367,7 @@ index ac264c3..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -375,16 +491,6 @@ $define|true|[yY]*) @@ -375,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -319,7 +384,7 @@ index ac264c3..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -408,7 +514,7 @@ then @@ -408,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -387,18 +452,6 @@ index 030db74..0d15a40 100644
} }
} }
diff --git a/patchlevel.h b/patchlevel.h
index 82f11ed..2254fd1 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -121,6 +121,7 @@ hunk.
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
static const char *local_patches[] = {
NULL
+ ,"Devel::PatchPerl 1.38"
,NULL
};
diff --git a/perl.c b/perl.c diff --git a/perl.c b/perl.c
index 82e5538..b9e02fe 100644 index 82e5538..b9e02fe 100644
--- a/perl.c --- a/perl.c

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2 -o perl-5.8.9.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2 -o perl-5.8.9.tar.bz2 \
&& echo '19843b5a7585cf35d96c07dbcd419bbdd5813617 *perl-5.8.9.tar.bz2' | sha1sum -c - \ && echo '1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79 *perl-5.8.9.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.8.9.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.8.9.tar.bz2 -C /usr/src/perl \
&& rm perl-5.8.9.tar.bz2 \ && rm perl-5.8.9.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 6f20c5e..684f369 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index ac264c3..fb5a46e 100644 index ac264c3..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -123,10 +123,37 @@ index ac264c3..fb5a46e 100644
ppc*) ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1. # with -O2 ; so downgrade to -O1.
@@ -143,6 +150,77 @@ case "$optimize" in @@ -143,93 +150,78 @@ case "$optimize" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
+# where to look. We don't want gcc's own libraries, however, so we +# where to look. We don't want gcc's own libraries, however, so we
@ -142,10 +169,16 @@ index ac264c3..fb5a46e 100644
+# plibpth to bypass this check. +# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then +if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc + gcc=/usr/bin/gcc
+else else
- cat <<'EOM' >&4
+ gcc=gcc + gcc=gcc
+fi +fi
+
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
+case "$plibpth" in +case "$plibpth" in
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | +'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` + cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
@ -154,7 +187,54 @@ index ac264c3..fb5a46e 100644
+ plibpth="$*" + plibpth="$*"
+ ;; + ;;
+esac +esac
+
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -171,7 +251,8 @@ index ac264c3..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -197,29 +278,13 @@ index ac264c3..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -163,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -229,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -296,7 +374,7 @@ fi @@ -296,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -228,7 +293,7 @@ index ac264c3..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -311,24 +389,62 @@ esac @@ -311,24 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -302,7 +367,7 @@ index ac264c3..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -375,16 +491,6 @@ $define|true|[yY]*) @@ -375,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -319,7 +384,7 @@ index ac264c3..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -408,7 +514,7 @@ then @@ -408,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -387,18 +452,6 @@ index 030db74..0d15a40 100644
} }
} }
diff --git a/patchlevel.h b/patchlevel.h
index 82f11ed..2254fd1 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -121,6 +121,7 @@ hunk.
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
static const char *local_patches[] = {
NULL
+ ,"Devel::PatchPerl 1.38"
,NULL
};
diff --git a/perl.c b/perl.c diff --git a/perl.c b/perl.c
index 82e5538..b9e02fe 100644 index 82e5538..b9e02fe 100644
--- a/perl.c --- a/perl.c

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2 -o perl-5.8.9.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2 -o perl-5.8.9.tar.bz2 \
&& echo '19843b5a7585cf35d96c07dbcd419bbdd5813617 *perl-5.8.9.tar.bz2' | sha1sum -c - \ && echo '1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79 *perl-5.8.9.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.8.9.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.8.9.tar.bz2 -C /usr/src/perl \
&& rm perl-5.8.9.tar.bz2 \ && rm perl-5.8.9.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -92,7 +92,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so'; + $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index c88f157..fb5a46e 100644 index c88f157..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -176,10 +176,37 @@ index c88f157..fb5a46e 100644
ppc*) ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1. # with -O2 ; so downgrade to -O1.
@@ -146,6 +150,77 @@ case "$optimize" in @@ -146,93 +150,78 @@ case "$optimize" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
+# where to look. We don't want gcc's own libraries, however, so we +# where to look. We don't want gcc's own libraries, however, so we
@ -195,10 +222,16 @@ index c88f157..fb5a46e 100644
+# plibpth to bypass this check. +# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then +if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc + gcc=/usr/bin/gcc
+else else
- cat <<'EOM' >&4
+ gcc=gcc + gcc=gcc
+fi +fi
+
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
+case "$plibpth" in +case "$plibpth" in
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | +'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` + cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
@ -207,7 +240,54 @@ index c88f157..fb5a46e 100644
+ plibpth="$*" + plibpth="$*"
+ ;; + ;;
+esac +esac
+
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -224,7 +304,8 @@ index c88f157..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -250,29 +331,13 @@ index c88f157..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -166,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -232,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -299,7 +374,7 @@ fi @@ -299,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -281,7 +346,7 @@ index c88f157..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -314,30 +389,62 @@ esac @@ -314,30 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -361,7 +426,7 @@ index c88f157..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -384,16 +491,6 @@ $define|true|[yY]*) @@ -384,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -378,7 +443,7 @@ index c88f157..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -417,7 +514,7 @@ then @@ -417,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -486,18 +551,6 @@ index 22a97eb..6eac035 100644
print "\nRunning Makefile.PL in $ext_dir\n"; print "\nRunning Makefile.PL in $ext_dir\n";
# Presumably this can be simplified # Presumably this can be simplified
diff --git a/patchlevel.h b/patchlevel.h
index 4442407..b82feab 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
NULL
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
PERL_GIT_UNCOMMITTED_CHANGES /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};
diff --git a/perl.c b/perl.c diff --git a/perl.c b/perl.c
index 94f2b13..5f30040 100644 index 94f2b13..5f30040 100644
--- a/perl.c --- a/perl.c
@ -512,9 +565,7 @@ index 94f2b13..5f30040 100644
# ifdef OS2 # ifdef OS2
diff --git a/t/op/hash.t b/t/op/hash.t diff --git a/t/op/hash.t b/t/op/hash.t
old mode 100755 index 9bde518..45eb782 100755
new mode 100644
index 9bde518..45eb782
--- a/t/op/hash.t --- a/t/op/hash.t
+++ b/t/op/hash.t +++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14; @@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.10.1.tar.bz2 -o perl-5.10.1.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.10.1.tar.bz2 -o perl-5.10.1.tar.bz2 \
&& echo '98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2 *perl-5.10.1.tar.bz2' | sha1sum -c - \ && echo '9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826 *perl-5.10.1.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.10.1.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.10.1.tar.bz2 -C /usr/src/perl \
&& rm perl-5.10.1.tar.bz2 \ && rm perl-5.10.1.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -92,7 +92,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so'; + $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index c88f157..fb5a46e 100644 index c88f157..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -176,10 +176,37 @@ index c88f157..fb5a46e 100644
ppc*) ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1. # with -O2 ; so downgrade to -O1.
@@ -146,6 +150,77 @@ case "$optimize" in @@ -146,93 +150,78 @@ case "$optimize" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
+# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
+# where to look. We don't want gcc's own libraries, however, so we +# where to look. We don't want gcc's own libraries, however, so we
@ -195,10 +222,16 @@ index c88f157..fb5a46e 100644
+# plibpth to bypass this check. +# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then +if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc + gcc=/usr/bin/gcc
+else else
- cat <<'EOM' >&4
+ gcc=gcc + gcc=gcc
+fi +fi
+
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
+case "$plibpth" in +case "$plibpth" in
+'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | +'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
+ cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` + cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
@ -207,7 +240,54 @@ index c88f157..fb5a46e 100644
+ plibpth="$*" + plibpth="$*"
+ ;; + ;;
+esac +esac
+
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -224,7 +304,8 @@ index c88f157..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -250,29 +331,13 @@ index c88f157..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -166,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -232,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -299,7 +374,7 @@ fi @@ -299,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -281,7 +346,7 @@ index c88f157..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -314,30 +389,62 @@ esac @@ -314,30 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -361,7 +426,7 @@ index c88f157..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -384,16 +491,6 @@ $define|true|[yY]*) @@ -384,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -378,7 +443,7 @@ index c88f157..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -417,7 +514,7 @@ then @@ -417,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -486,18 +551,6 @@ index 22a97eb..6eac035 100644
print "\nRunning Makefile.PL in $ext_dir\n"; print "\nRunning Makefile.PL in $ext_dir\n";
# Presumably this can be simplified # Presumably this can be simplified
diff --git a/patchlevel.h b/patchlevel.h
index 4442407..b82feab 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
NULL
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
PERL_GIT_UNCOMMITTED_CHANGES /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};
diff --git a/perl.c b/perl.c diff --git a/perl.c b/perl.c
index 94f2b13..5f30040 100644 index 94f2b13..5f30040 100644
--- a/perl.c --- a/perl.c
@ -512,9 +565,7 @@ index 94f2b13..5f30040 100644
# ifdef OS2 # ifdef OS2
diff --git a/t/op/hash.t b/t/op/hash.t diff --git a/t/op/hash.t b/t/op/hash.t
old mode 100755 index 9bde518..45eb782 100755
new mode 100644
index 9bde518..45eb782
--- a/t/op/hash.t --- a/t/op/hash.t
+++ b/t/op/hash.t +++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14; @@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.10.1.tar.bz2 -o perl-5.10.1.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.10.1.tar.bz2 -o perl-5.10.1.tar.bz2 \
&& echo '98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2 *perl-5.10.1.tar.bz2' | sha1sum -c - \ && echo '9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826 *perl-5.10.1.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.10.1.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.10.1.tar.bz2 -C /usr/src/perl \
&& rm perl-5.10.1.tar.bz2 \ && rm perl-5.10.1.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -117,7 +117,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so'; + $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index 0519eca..fb5a46e 100644 index 0519eca..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -215,10 +215,93 @@ index 0519eca..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -171,6 +178,49 @@ case "$plibpth" in @@ -171,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -235,7 +318,8 @@ index 0519eca..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -261,29 +345,13 @@ index 0519eca..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -191,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -257,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -324,7 +374,7 @@ fi @@ -324,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -292,7 +360,7 @@ index 0519eca..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -339,30 +389,62 @@ esac @@ -339,30 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -372,7 +440,7 @@ index 0519eca..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -409,16 +491,6 @@ $define|true|[yY]*) @@ -409,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -389,7 +457,7 @@ index 0519eca..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -442,7 +514,7 @@ then @@ -442,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -472,22 +540,8 @@ index de26d84..52b0492 100644
print "\nRunning Makefile.PL in $ext_dir\n"; print "\nRunning Makefile.PL in $ext_dir\n";
# Presumably this can be simplified # Presumably this can be simplified
diff --git a/patchlevel.h b/patchlevel.h
index f1a12bd..420296d 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};
diff --git a/t/op/hash.t b/t/op/hash.t diff --git a/t/op/hash.t b/t/op/hash.t
old mode 100755 index 9bde518..45eb782 100755
new mode 100644
index 9bde518..45eb782
--- a/t/op/hash.t --- a/t/op/hash.t
+++ b/t/op/hash.t +++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14; @@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DO/DOM/perl-5.12.5.tar.bz2 -o perl-5.12.5.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/D/DO/DOM/perl-5.12.5.tar.bz2 -o perl-5.12.5.tar.bz2 \
&& echo '812139ceef512eb8458af29ffbf46d78ef26c12a *perl-5.12.5.tar.bz2' | sha1sum -c - \ && echo '10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c *perl-5.12.5.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.12.5.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.12.5.tar.bz2 -C /usr/src/perl \
&& rm perl-5.12.5.tar.bz2 \ && rm perl-5.12.5.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -117,7 +117,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so'; + $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index 0519eca..fb5a46e 100644 index 0519eca..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -215,10 +215,93 @@ index 0519eca..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -171,6 +178,49 @@ case "$plibpth" in @@ -171,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -235,7 +318,8 @@ index 0519eca..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -261,29 +345,13 @@ index 0519eca..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -191,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -257,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -324,7 +374,7 @@ fi @@ -324,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -292,7 +360,7 @@ index 0519eca..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -339,30 +389,62 @@ esac @@ -339,30 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -372,7 +440,7 @@ index 0519eca..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -409,16 +491,6 @@ $define|true|[yY]*) @@ -409,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -389,7 +457,7 @@ index 0519eca..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -442,7 +514,7 @@ then @@ -442,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -472,22 +540,8 @@ index de26d84..52b0492 100644
print "\nRunning Makefile.PL in $ext_dir\n"; print "\nRunning Makefile.PL in $ext_dir\n";
# Presumably this can be simplified # Presumably this can be simplified
diff --git a/patchlevel.h b/patchlevel.h
index f1a12bd..420296d 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -131,6 +131,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};
diff --git a/t/op/hash.t b/t/op/hash.t diff --git a/t/op/hash.t b/t/op/hash.t
old mode 100755 index 9bde518..45eb782 100755
new mode 100644
index 9bde518..45eb782
--- a/t/op/hash.t --- a/t/op/hash.t
+++ b/t/op/hash.t +++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14; @@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DO/DOM/perl-5.12.5.tar.bz2 -o perl-5.12.5.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/D/DO/DOM/perl-5.12.5.tar.bz2 -o perl-5.12.5.tar.bz2 \
&& echo '812139ceef512eb8458af29ffbf46d78ef26c12a *perl-5.12.5.tar.bz2' | sha1sum -c - \ && echo '10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c *perl-5.12.5.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.12.5.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.12.5.tar.bz2 -C /usr/src/perl \
&& rm perl-5.12.5.tar.bz2 \ && rm perl-5.12.5.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 56bc815..cf688be 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index d0ac9fa..fb5a46e 100644 index d0ac9fa..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -39,7 +39,7 @@ i_libutil='undef' @@ -39,7 +39,7 @@ i_libutil='undef'
@ -111,10 +111,93 @@ index d0ac9fa..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -182,6 +178,49 @@ case "$plibpth" in @@ -182,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index d0ac9fa..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index d0ac9fa..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -202,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -268,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -335,7 +374,7 @@ fi @@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -188,7 +256,7 @@ index d0ac9fa..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -350,30 +389,62 @@ esac @@ -350,30 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -268,7 +336,7 @@ index d0ac9fa..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -420,16 +491,6 @@ $define|true|[yY]*) @@ -420,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -285,7 +353,7 @@ index d0ac9fa..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -453,7 +514,7 @@ then @@ -453,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -309,15 +377,3 @@ index 13a15b4..a564bb3 100644
print "\nRunning Makefile.PL in $ext_dir\n"; print "\nRunning Makefile.PL in $ext_dir\n";
# Presumably this can be simplified # Presumably this can be simplified
diff --git a/patchlevel.h b/patchlevel.h
index 4d9cd6d..0052d4a 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \
&& echo '3527c9e26f985cba98796439bf555fde8be73cdf *perl-5.14.4.tar.bz2' | sha1sum -c - \ && echo 'eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745 *perl-5.14.4.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.14.4.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.14.4.tar.bz2 -C /usr/src/perl \
&& rm perl-5.14.4.tar.bz2 \ && rm perl-5.14.4.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 56bc815..cf688be 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index d0ac9fa..fb5a46e 100644 index d0ac9fa..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -39,7 +39,7 @@ i_libutil='undef' @@ -39,7 +39,7 @@ i_libutil='undef'
@ -111,10 +111,93 @@ index d0ac9fa..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -182,6 +178,49 @@ case "$plibpth" in @@ -182,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index d0ac9fa..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index d0ac9fa..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -202,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -268,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -335,7 +374,7 @@ fi @@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -188,7 +256,7 @@ index d0ac9fa..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -350,30 +389,62 @@ esac @@ -350,30 +303,62 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -268,7 +336,7 @@ index d0ac9fa..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null if echo $libswanted | grep -v pthread >/dev/null
then then
set `echo X "$libswanted "| sed -e 's/ c / pthread c /'` set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -420,16 +491,6 @@ $define|true|[yY]*) @@ -420,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -285,7 +353,7 @@ index d0ac9fa..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -453,7 +514,7 @@ then @@ -453,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -309,15 +377,3 @@ index 13a15b4..a564bb3 100644
print "\nRunning Makefile.PL in $ext_dir\n"; print "\nRunning Makefile.PL in $ext_dir\n";
# Presumably this can be simplified # Presumably this can be simplified
diff --git a/patchlevel.h b/patchlevel.h
index 4d9cd6d..0052d4a 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/D/DA/DAPM/perl-5.14.4.tar.bz2 -o perl-5.14.4.tar.bz2 \
&& echo '3527c9e26f985cba98796439bf555fde8be73cdf *perl-5.14.4.tar.bz2' | sha1sum -c - \ && echo 'eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745 *perl-5.14.4.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.14.4.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.14.4.tar.bz2 -C /usr/src/perl \
&& rm perl-5.14.4.tar.bz2 \ && rm perl-5.14.4.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 439f254..a324604 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index 688c68d..fb5a46e 100644 index 688c68d..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -39,7 +39,7 @@ i_libutil='undef' @@ -39,7 +39,7 @@ i_libutil='undef'
@ -111,10 +111,93 @@ index 688c68d..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -182,6 +178,49 @@ case "$plibpth" in @@ -182,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index 688c68d..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index 688c68d..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -202,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -268,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -335,7 +374,7 @@ fi @@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -188,7 +256,7 @@ index 688c68d..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -350,17 +389,55 @@ esac @@ -350,17 +303,55 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -254,7 +322,7 @@ index 688c68d..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure # This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads. # after it has prompted the user for whether to use threads.
@@ -414,16 +491,6 @@ $define|true|[yY]*) @@ -414,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -271,7 +339,7 @@ index 688c68d..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -447,7 +514,7 @@ then @@ -447,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -280,15 +348,3 @@ index 688c68d..fb5a46e 100644
then then
if ldd $DBLIB | grep pthread >/dev/null if ldd $DBLIB | grep pthread >/dev/null
then then
diff --git a/patchlevel.h b/patchlevel.h
index be508d1..d71558a 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.16.3.tar.bz2 -o perl-5.16.3.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.16.3.tar.bz2 -o perl-5.16.3.tar.bz2 \
&& echo '060bc17cf9f142d043f9bf7b861422ec624875ea *perl-5.16.3.tar.bz2' | sha1sum -c - \ && echo 'bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8 *perl-5.16.3.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.16.3.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.16.3.tar.bz2 -C /usr/src/perl \
&& rm perl-5.16.3.tar.bz2 \ && rm perl-5.16.3.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 439f254..a324604 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index 688c68d..fb5a46e 100644 index 688c68d..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -39,7 +39,7 @@ i_libutil='undef' @@ -39,7 +39,7 @@ i_libutil='undef'
@ -111,10 +111,93 @@ index 688c68d..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -182,6 +178,49 @@ case "$plibpth" in @@ -182,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index 688c68d..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index 688c68d..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -202,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -268,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -335,7 +374,7 @@ fi @@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -188,7 +256,7 @@ index 688c68d..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -350,17 +389,55 @@ esac @@ -350,17 +303,55 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -254,7 +322,7 @@ index 688c68d..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure # This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads. # after it has prompted the user for whether to use threads.
@@ -414,16 +491,6 @@ $define|true|[yY]*) @@ -414,16 +405,6 @@ $define|true|[yY]*)
;; ;;
esac esac
@ -271,7 +339,7 @@ index 688c68d..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially) # If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in. # dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in case "$cc" in
@@ -447,7 +514,7 @@ then @@ -447,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -280,15 +348,3 @@ index 688c68d..fb5a46e 100644
then then
if ldd $DBLIB | grep pthread >/dev/null if ldd $DBLIB | grep pthread >/dev/null
then then
diff --git a/patchlevel.h b/patchlevel.h
index be508d1..d71558a 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.16.3.tar.bz2 -o perl-5.16.3.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.16.3.tar.bz2 -o perl-5.16.3.tar.bz2 \
&& echo '060bc17cf9f142d043f9bf7b861422ec624875ea *perl-5.16.3.tar.bz2' | sha1sum -c - \ && echo 'bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8 *perl-5.16.3.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.16.3.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.16.3.tar.bz2 -C /usr/src/perl \
&& rm perl-5.16.3.tar.bz2 \ && rm perl-5.16.3.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index b707911..2588f0b 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index a148248..fb5a46e 100644 index a148248..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -39,7 +39,7 @@ i_libutil='undef' @@ -39,7 +39,7 @@ i_libutil='undef'
@ -111,10 +111,93 @@ index a148248..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -182,6 +178,49 @@ case "$plibpth" in @@ -182,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index a148248..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index a148248..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -202,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -268,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -335,7 +374,7 @@ fi @@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -188,7 +256,7 @@ index a148248..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -350,17 +389,55 @@ esac @@ -350,17 +303,55 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -254,7 +322,7 @@ index a148248..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure # This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads. # after it has prompted the user for whether to use threads.
@@ -437,7 +514,7 @@ then @@ -437,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -263,15 +331,3 @@ index a148248..fb5a46e 100644
then then
if ldd $DBLIB | grep pthread >/dev/null if ldd $DBLIB | grep pthread >/dev/null
then then
diff --git a/patchlevel.h b/patchlevel.h
index cb033ea..78c727d 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \
&& echo '69c34558a0a939a7adbbc1de48c06ea418d81e27 *perl-5.18.4.tar.bz2' | sha1sum -c - \ && echo '1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5 *perl-5.18.4.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \
&& rm perl-5.18.4.tar.bz2 \ && rm perl-5.18.4.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index b707911..2588f0b 100644
or die "Cannot exec $cpp"; or die "Cannot exec $cpp";
} }
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index a148248..fb5a46e 100644 index a148248..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -39,7 +39,7 @@ i_libutil='undef' @@ -39,7 +39,7 @@ i_libutil='undef'
@ -111,10 +111,93 @@ index a148248..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line set X $plibpth # Collapse all entries on one line
shift shift
@@ -182,6 +178,49 @@ case "$plibpth" in @@ -182,93 +178,50 @@ case "$plibpth" in
;; ;;
esac esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
+# libquadmath is sometimes installed as gcc internal library, +# libquadmath is sometimes installed as gcc internal library,
+# so contrary to our usual policy of *not* looking at gcc internal +# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain +# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index a148248..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
-rm -f try.c a.out
+case "$libc" in +case "$libc" in
+'') +'')
+# If you have glibc, then report the version for ./myconfig bug reporting. +# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index a148248..fb5a46e 100644
+ done + done
+ ;; + ;;
+esac +esac
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -202,7 +241,7 @@ main() {
exit(0); /* succeed (yes, it's ELF) */
}
EOM
-if ${cc:-gcc} try.c >/dev/null 2>&1 && $run ./a.out; then
+if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
cat <<'EOM' >&4
You appear to have ELF support. I'll try to use it for dynamic loading.
@@ -268,7 +307,7 @@ fi
rm -f try.c a.out
-if /bin/sh -c exit; then -if /bin/sh -c exit; then
+if ${sh:-/bin/sh} -c exit; then +if ${sh:-/bin/sh} -c exit; then
echo '' echo ''
echo 'You appear to have a working bash. Good.' echo 'You appear to have a working bash. Good.'
else else
@@ -335,7 +374,7 @@ fi @@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;; #'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac #esac
@ -188,7 +256,7 @@ index a148248..fb5a46e 100644
sparc*) sparc*)
case "$cccdlflags" in case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;; *-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
@@ -350,17 +389,55 @@ esac @@ -350,17 +303,55 @@ esac
# version of -lgdbm which is a bad idea. So if we have 'nm' # version of -lgdbm which is a bad idea. So if we have 'nm'
# make sure it can read the file # make sure it can read the file
# NI-S 2003/08/07 # NI-S 2003/08/07
@ -254,7 +322,7 @@ index a148248..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure # This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads. # after it has prompted the user for whether to use threads.
@@ -437,7 +514,7 @@ then @@ -437,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -263,15 +331,3 @@ index a148248..fb5a46e 100644
then then
if ldd $DBLIB | grep pthread >/dev/null if ldd $DBLIB | grep pthread >/dev/null
then then
diff --git a/patchlevel.h b/patchlevel.h
index cb033ea..78c727d 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \
&& echo '69c34558a0a939a7adbbc1de48c06ea418d81e27 *perl-5.18.4.tar.bz2' | sha1sum -c - \ && echo '1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5 *perl-5.18.4.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \
&& rm perl-5.18.4.tar.bz2 \ && rm perl-5.18.4.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -1,5 +1,5 @@
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index 956adfc..fb5a46e 100644 index 956adfc..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -178,6 +178,23 @@ case "$plibpth" in @@ -178,6 +178,23 @@ case "$plibpth" in
@ -26,7 +26,100 @@ index 956adfc..fb5a46e 100644
case "$libc" in case "$libc" in
'') '')
# If you have glibc, then report the version for ./myconfig bug reporting. # If you have glibc, then report the version for ./myconfig bug reporting.
@@ -497,7 +514,7 @@ then @@ -204,92 +221,6 @@ case "$libc" in
;;
esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
-
-rm -f try.c a.out
-
if ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
@@ -497,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -35,15 +128,3 @@ index 956adfc..fb5a46e 100644
then then
if ldd $DBLIB | grep pthread >/dev/null if ldd $DBLIB | grep pthread >/dev/null
then then
diff --git a/patchlevel.h b/patchlevel.h
index f416602..e8062d1 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \
&& echo 'eedf9e3be3c83bef15911996ed18703cffe4d113 *perl-5.20.3.tar.bz2' | sha1sum -c - \ && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.20.3.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.20.3.tar.bz2 -C /usr/src/perl \
&& rm perl-5.20.3.tar.bz2 \ && rm perl-5.20.3.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -1,5 +1,5 @@
diff --git a/hints/linux.sh b/hints/linux.sh diff --git a/hints/linux.sh b/hints/linux.sh
index 956adfc..fb5a46e 100644 index 956adfc..3f38ea0 100644
--- a/hints/linux.sh --- a/hints/linux.sh
+++ b/hints/linux.sh +++ b/hints/linux.sh
@@ -178,6 +178,23 @@ case "$plibpth" in @@ -178,6 +178,23 @@ case "$plibpth" in
@ -26,7 +26,100 @@ index 956adfc..fb5a46e 100644
case "$libc" in case "$libc" in
'') '')
# If you have glibc, then report the version for ./myconfig bug reporting. # If you have glibc, then report the version for ./myconfig bug reporting.
@@ -497,7 +514,7 @@ then @@ -204,92 +221,6 @@ case "$libc" in
;;
esac
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
-
-rm -f try.c a.out
-
if ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
@@ -497,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so" DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ] if [ -f $DBLIB ]
then then
@ -35,15 +128,3 @@ index 956adfc..fb5a46e 100644
then then
if ldd $DBLIB | grep pthread >/dev/null if ldd $DBLIB | grep pthread >/dev/null
then then
diff --git a/patchlevel.h b/patchlevel.h
index f416602..e8062d1 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -137,6 +137,7 @@ static const char * const local_patches[] = {
,"uncommitted-changes"
#endif
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.3.tar.bz2 -o perl-5.20.3.tar.bz2 \
&& echo 'eedf9e3be3c83bef15911996ed18703cffe4d113 *perl-5.20.3.tar.bz2' | sha1sum -c - \ && echo '1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b *perl-5.20.3.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.20.3.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.20.3.tar.bz2 -C /usr/src/perl \
&& rm perl-5.20.3.tar.bz2 \ && rm perl-5.20.3.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -1,12 +1,97 @@
diff --git a/patchlevel.h b/patchlevel.h diff --git a/hints/linux.sh b/hints/linux.sh
index bfd796b..69d5fb0 100644 index fb5a46e..3f38ea0 100644
--- a/patchlevel.h --- a/hints/linux.sh
+++ b/patchlevel.h +++ b/hints/linux.sh
@@ -137,6 +137,7 @@ static const char * const local_patches[] = { @@ -221,92 +221,6 @@ case "$libc" in
,"uncommitted-changes" ;;
#endif esac
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
-
-rm -f try.c a.out
-
if ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.22.2.tar.bz2 -o perl-5.22.2.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.22.2.tar.bz2 -o perl-5.22.2.tar.bz2 \
&& echo 'e2f465446dcd45a7fa3da696037f9ebe73e78e55 *perl-5.22.2.tar.bz2' | sha1sum -c - \ && echo 'f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058 *perl-5.22.2.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.22.2.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.22.2.tar.bz2 -C /usr/src/perl \
&& rm perl-5.22.2.tar.bz2 \ && rm perl-5.22.2.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -1,12 +1,97 @@
diff --git a/patchlevel.h b/patchlevel.h diff --git a/hints/linux.sh b/hints/linux.sh
index bfd796b..69d5fb0 100644 index fb5a46e..3f38ea0 100644
--- a/patchlevel.h --- a/hints/linux.sh
+++ b/patchlevel.h +++ b/hints/linux.sh
@@ -137,6 +137,7 @@ static const char * const local_patches[] = { @@ -221,92 +221,6 @@ case "$libc" in
,"uncommitted-changes" ;;
#endif esac
PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */
+ ,"Devel::PatchPerl 1.38"
,NULL
};
-# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
-# for this test.
-cat >try.c <<'EOM'
-/* Test for whether ELF binaries are produced */
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-main() {
- char buffer[4];
- int i=open("a.out",O_RDONLY);
- if(i==-1)
- exit(1); /* fail */
- if(read(i,&buffer[0],4)<4)
- exit(1); /* fail */
- if(buffer[0] != 127 || buffer[1] != 'E' ||
- buffer[2] != 'L' || buffer[3] != 'F')
- exit(1); /* fail */
- exit(0); /* succeed (yes, it's ELF) */
-}
-EOM
-if ${cc:-gcc} $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
- cat <<'EOM' >&4
-
-You appear to have ELF support. I'll try to use it for dynamic loading.
-If dynamic loading doesn't work, read hints/linux.sh for further information.
-EOM
-
-else
- cat <<'EOM' >&4
-
-You don't have an ELF gcc. I will use dld if possible. If you are
-using a version of DLD earlier than 3.2.6, or don't have it at all, you
-should probably upgrade. If you are forced to use 3.2.4, you should
-uncomment a couple of lines in hints/linux.sh and restart Configure so
-that shared libraries will be disallowed.
-
-EOM
- lddlflags="-r $lddlflags"
- # These empty values are so that Configure doesn't put in the
- # Linux ELF values.
- ccdlflags=' '
- cccdlflags=' '
- ccflags="-DOVR_DBL_DIG=14 $ccflags"
- so='sa'
- dlext='o'
- nm_so_opt=' '
- ## If you are using DLD 3.2.4 which does not support shared libs,
- ## uncomment the next two lines:
- #ldflags="-static"
- #so='none'
-
- # In addition, on some systems there is a problem with perl and NDBM
- # which causes AnyDBM and NDBM_File to lock up. This is evidenced
- # in the tests as AnyDBM just freezing. Apparently, this only
- # happens on a.out systems, so we disable NDBM for all a.out linux
- # systems. If someone can suggest a more robust test
- # that would be appreciated.
- #
- # More info:
- # Date: Wed, 7 Feb 1996 03:21:04 +0900
- # From: Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp>
- #
- # I tried compiling with DBM support and sure enough things locked up
- # just as advertised. Checking into it, I found that the lockup was
- # during the call to dbm_open. Not *in* dbm_open -- but between the call
- # to and the jump into.
- #
- # To make a long story short, making sure that the *.a and *.sa pairs of
- # /usr/lib/lib{m,db,gdbm}.{a,sa}
- # were perfectly in sync took care of it.
- #
- # This will generate a harmless Whoa There! message
- case "$d_dbm_open" in
- '') cat <<'EOM' >&4
-
-Disabling ndbm. This will generate a Whoa There message in Configure.
-Read hints/linux.sh for further information.
-EOM
- # You can override this with Configure -Dd_dbm_open
- d_dbm_open=undef
- ;;
- esac
-fi
-
-rm -f try.c a.out
-
if ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.22.2.tar.bz2 -o perl-5.22.2.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.22.2.tar.bz2 -o perl-5.22.2.tar.bz2 \
&& echo 'e2f465446dcd45a7fa3da696037f9ebe73e78e55 *perl-5.22.2.tar.bz2' | sha1sum -c - \ && echo 'f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058 *perl-5.22.2.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.22.2.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.22.2.tar.bz2 -C /usr/src/perl \
&& rm perl-5.22.2.tar.bz2 \ && rm perl-5.22.2.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.24.0.tar.bz2 -o perl-5.24.0.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.24.0.tar.bz2 -o perl-5.24.0.tar.bz2 \
&& echo '298fa605138c1a00dab95643130ae0edab369b4d *perl-5.24.0.tar.bz2' | sha1sum -c - \ && echo '62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0 *perl-5.24.0.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.24.0.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.24.0.tar.bz2 -C /usr/src/perl \
&& rm perl-5.24.0.tar.bz2 \ && rm perl-5.24.0.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.24.0.tar.bz2 -o perl-5.24.0.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.24.0.tar.bz2 -o perl-5.24.0.tar.bz2 \
&& echo '298fa605138c1a00dab95643130ae0edab369b4d *perl-5.24.0.tar.bz2' | sha1sum -c - \ && echo '62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0 *perl-5.24.0.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-5.24.0.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-5.24.0.tar.bz2 -C /usr/src/perl \
&& rm perl-5.24.0.tar.bz2 \ && rm perl-5.24.0.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \

View file

@ -1,44 +1,48 @@
releases: releases:
- version: 5.8.9 - version: 5.8.9
sha1: 19843b5a7585cf35d96c07dbcd419bbdd5813617 sha256: 1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79
pause: NWCLARK pause: NWCLARK
extra_flags: "-A ccflags=-fwrapv" extra_flags: "-A ccflags=-fwrapv"
test_parallel: no test_parallel: no
- version: 5.10.1 - version: 5.10.1
sha1: 98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2 sha256: 9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826
pause: DAPM pause: DAPM
extra_flags: "-A ccflags=-fwrapv" extra_flags: "-A ccflags=-fwrapv"
test_parallel: no test_parallel: no
- version: 5.12.5 - version: 5.12.5
sha1: 812139ceef512eb8458af29ffbf46d78ef26c12a sha256: 10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c
pause: DOM pause: DOM
extra_flags: "-A ccflags=-fwrapv" extra_flags: "-A ccflags=-fwrapv"
test_parallel: no test_parallel: no
- version: 5.14.4 - version: 5.14.4
sha1: 3527c9e26f985cba98796439bf555fde8be73cdf sha256: eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745
pause: DAPM pause: DAPM
extra_flags: "-A ccflags=-fwrapv" extra_flags: "-A ccflags=-fwrapv"
test_parallel: no test_parallel: no
- version: 5.16.3 - version: 5.16.3
sha1: 060bc17cf9f142d043f9bf7b861422ec624875ea sha256: bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8
pause: RJBS pause: RJBS
extra_flags: "-A ccflags=-fwrapv" extra_flags: "-A ccflags=-fwrapv"
test_parallel: no test_parallel: no
- version: 5.18.4 - version: 5.18.4
sha1: 69c34558a0a939a7adbbc1de48c06ea418d81e27 sha256: 1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5
pause: RJBS pause: RJBS
extra_flags: "-A ccflags=-fwrapv" extra_flags: "-A ccflags=-fwrapv"
test_parallel: no test_parallel: no
- version: 5.20.3 - version: 5.20.3
sha1: eedf9e3be3c83bef15911996ed18703cffe4d113 sha256: 1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b
pause: SHAY pause: SHAY
- version: 5.22.2 - version: 5.22.2
sha1: e2f465446dcd45a7fa3da696037f9ebe73e78e55 sha256: f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058
pause: SHAY pause: SHAY
- version: 5.24.0
sha256: 62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0
pause: RJBS

View file

@ -13,10 +13,10 @@ The Releases.yaml file must look roughly like:
releases: releases:
- version: 5.20.0 - version: 5.20.0
sha1: asdasdadas sha256: asdasdadas
pause: RJBS pause: RJBS
Where version is the version number of Perl, sha1 is the SHA1 of the Where version is the version number of Perl, sha256 is the SHA256 of the
tar.bz2 file, and pause is the PAUSE account of the release manager. tar.bz2 file, and pause is the PAUSE account of the release manager.
If needed or desired, extra_flags: can be added, which will be passed If needed or desired, extra_flags: can be added, which will be passed
@ -49,7 +49,7 @@ if (! -d "downloads") {
} }
for my $release (@{$yaml->{releases}}) { for my $release (@{$yaml->{releases}}) {
do { die_with_sample unless $release->{$_}} for (qw(version pause sha1)); do { die_with_sample unless $release->{$_}} for (qw(version pause sha256));
die "Bad version: $release->{version}" unless $release->{version} =~ /\A5\.\d+\.\d+\Z/; die "Bad version: $release->{version}" unless $release->{version} =~ /\A5\.\d+\.\d+\Z/;
@ -57,7 +57,7 @@ for my $release (@{$yaml->{releases}}) {
my $file = "perl-$release->{version}.tar.bz2"; my $file = "perl-$release->{version}.tar.bz2";
my $url = "http://www.cpan.org/src/5.0/$file"; my $url = "http://www.cpan.org/src/5.0/$file";
if (-f "downloads/$file" && if (-f "downloads/$file" &&
`sha1sum downloads/$file` =~ /^\Q$release->{sha1}\E\s+\Qdownloads\/$file\E/) { `sha256sum downloads/$file` =~ /^\Q$release->{sha256}\E\s+\Qdownloads\/$file\E/) {
print "Skipping download of $file, already current\n"; print "Skipping download of $file, already current\n";
} else { } else {
print "Downloading $url\n"; print "Downloading $url\n";
@ -88,7 +88,7 @@ for my $release (@{$yaml->{releases}}) {
for my $config (keys %builds) { for my $config (keys %builds) {
my $output = $template; my $output = $template;
$output =~ s/\{\{$_\}\}/$release->{$_}/mg for (qw(version pause extra_flags sha1)); $output =~ s/\{\{$_\}\}/$release->{$_}/mg for (qw(version pause extra_flags sha256));
$output =~ s/\{\{args\}\}/$builds{$config}/mg; $output =~ s/\{\{args\}\}/$builds{$config}/mg;
my $dir = sprintf "%i.%03i.%03i-%s", my $dir = sprintf "%i.%03i.%03i-%s",
@ -143,9 +143,9 @@ each with the following keys:
The actual perl version, such as B<5.20.1>. The actual perl version, such as B<5.20.1>.
=item sha1 =item sha256
The SHA-1 of the C<.tar.bz2> file for that release. The SHA-256 of the C<.tar.bz2> file for that release.
=item pause =item pause
@ -191,7 +191,7 @@ COPY *.patch /usr/src/perl/
WORKDIR /usr/src/perl WORKDIR /usr/src/perl
RUN curl -SL https://cpan.metacpan.org/authors/id/{{pause}}/perl-{{version}}.tar.bz2 -o perl-{{version}}.tar.bz2 \ RUN curl -SL https://cpan.metacpan.org/authors/id/{{pause}}/perl-{{version}}.tar.bz2 -o perl-{{version}}.tar.bz2 \
&& echo '{{sha1}} *perl-{{version}}.tar.bz2' | sha1sum -c - \ && echo '{{sha256}} *perl-{{version}}.tar.bz2' | sha256sum -c - \
&& tar --strip-components=1 -xjf perl-{{version}}.tar.bz2 -C /usr/src/perl \ && tar --strip-components=1 -xjf perl-{{version}}.tar.bz2 -C /usr/src/perl \
&& rm perl-{{version}}.tar.bz2 \ && rm perl-{{version}}.tar.bz2 \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \