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";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index ac264c3..fb5a46e 100644
index ac264c3..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -13,11 +13,14 @@
@ -123,10 +123,37 @@ index ac264c3..fb5a46e 100644
ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1.
@@ -143,6 +150,77 @@ case "$optimize" in
@@ -143,93 +150,78 @@ case "$optimize" 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} 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
+# (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
@ -142,10 +169,16 @@ index ac264c3..fb5a46e 100644
+# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc
+else
else
- cat <<'EOM' >&4
+ gcc=gcc
+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
+'') 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:/$::'`
@ -154,7 +187,54 @@ index ac264c3..fb5a46e 100644
+ plibpth="$*"
+ ;;
+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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -171,7 +251,8 @@ index ac264c3..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -197,29 +278,13 @@ index ac264c3..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -296,7 +374,7 @@ fi
@@ -296,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -228,7 +293,7 @@ index ac264c3..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -302,7 +367,7 @@ index ac264c3..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -319,7 +384,7 @@ index ac264c3..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -408,7 +514,7 @@ then
@@ -408,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
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
index 82e5538..b9e02fe 100644
--- a/perl.c

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.8.9.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 6f20c5e..684f369 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index ac264c3..fb5a46e 100644
index ac264c3..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -13,11 +13,14 @@
@ -123,10 +123,37 @@ index ac264c3..fb5a46e 100644
ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1.
@@ -143,6 +150,77 @@ case "$optimize" in
@@ -143,93 +150,78 @@ case "$optimize" 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} 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
+# (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
@ -142,10 +169,16 @@ index ac264c3..fb5a46e 100644
+# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc
+else
else
- cat <<'EOM' >&4
+ gcc=gcc
+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
+'') 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:/$::'`
@ -154,7 +187,54 @@ index ac264c3..fb5a46e 100644
+ plibpth="$*"
+ ;;
+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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -171,7 +251,8 @@ index ac264c3..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -197,29 +278,13 @@ index ac264c3..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -296,7 +374,7 @@ fi
@@ -296,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -228,7 +293,7 @@ index ac264c3..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -302,7 +367,7 @@ index ac264c3..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -319,7 +384,7 @@ index ac264c3..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -408,7 +514,7 @@ then
@@ -408,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
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
index 82e5538..b9e02fe 100644
--- a/perl.c

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.8.9.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -92,7 +92,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
}
diff --git a/hints/linux.sh b/hints/linux.sh
index c88f157..fb5a46e 100644
index c88f157..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -13,11 +13,14 @@
@ -176,10 +176,37 @@ index c88f157..fb5a46e 100644
ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1.
@@ -146,6 +150,77 @@ case "$optimize" in
@@ -146,93 +150,78 @@ case "$optimize" 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} 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
+# (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
@ -195,10 +222,16 @@ index c88f157..fb5a46e 100644
+# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc
+else
else
- cat <<'EOM' >&4
+ gcc=gcc
+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
+'') 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:/$::'`
@ -207,7 +240,54 @@ index c88f157..fb5a46e 100644
+ plibpth="$*"
+ ;;
+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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -224,7 +304,8 @@ index c88f157..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -250,29 +331,13 @@ index c88f157..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -299,7 +374,7 @@ fi
@@ -299,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -281,7 +346,7 @@ index c88f157..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -361,7 +426,7 @@ index c88f157..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -378,7 +443,7 @@ index c88f157..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -417,7 +514,7 @@ then
@@ -417,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -486,18 +551,6 @@ index 22a97eb..6eac035 100644
print "\nRunning Makefile.PL in $ext_dir\n";
# 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
index 94f2b13..5f30040 100644
--- a/perl.c
@ -512,9 +565,7 @@ index 94f2b13..5f30040 100644
# ifdef OS2
diff --git a/t/op/hash.t b/t/op/hash.t
old mode 100755
new mode 100644
index 9bde518..45eb782
index 9bde518..45eb782 100755
--- a/t/op/hash.t
+++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.10.1.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -92,7 +92,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
}
diff --git a/hints/linux.sh b/hints/linux.sh
index c88f157..fb5a46e 100644
index c88f157..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -13,11 +13,14 @@
@ -176,10 +176,37 @@ index c88f157..fb5a46e 100644
ppc*)
# on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
# with -O2 ; so downgrade to -O1.
@@ -146,6 +150,77 @@ case "$optimize" in
@@ -146,93 +150,78 @@ case "$optimize" 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} 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
+# (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
@ -195,10 +222,16 @@ index c88f157..fb5a46e 100644
+# plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then
+ gcc=/usr/bin/gcc
+else
else
- cat <<'EOM' >&4
+ gcc=gcc
+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
+'') 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:/$::'`
@ -207,7 +240,54 @@ index c88f157..fb5a46e 100644
+ plibpth="$*"
+ ;;
+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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -224,7 +304,8 @@ index c88f157..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -250,29 +331,13 @@ index c88f157..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -299,7 +374,7 @@ fi
@@ -299,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -281,7 +346,7 @@ index c88f157..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -361,7 +426,7 @@ index c88f157..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -378,7 +443,7 @@ index c88f157..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -417,7 +514,7 @@ then
@@ -417,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -486,18 +551,6 @@ index 22a97eb..6eac035 100644
print "\nRunning Makefile.PL in $ext_dir\n";
# 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
index 94f2b13..5f30040 100644
--- a/perl.c
@ -512,9 +565,7 @@ index 94f2b13..5f30040 100644
# ifdef OS2
diff --git a/t/op/hash.t b/t/op/hash.t
old mode 100755
new mode 100644
index 9bde518..45eb782
index 9bde518..45eb782 100755
--- a/t/op/hash.t
+++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.10.1.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -117,7 +117,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
}
diff --git a/hints/linux.sh b/hints/linux.sh
index 0519eca..fb5a46e 100644
index 0519eca..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -13,11 +13,14 @@
@ -215,10 +215,93 @@ index 0519eca..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -171,6 +178,49 @@ case "$plibpth" in
@@ -171,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -235,7 +318,8 @@ index 0519eca..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -261,29 +345,13 @@ index 0519eca..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -324,7 +374,7 @@ fi
@@ -324,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -292,7 +360,7 @@ index 0519eca..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -372,7 +440,7 @@ index 0519eca..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -389,7 +457,7 @@ index 0519eca..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -442,7 +514,7 @@ then
@@ -442,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -472,22 +540,8 @@ index de26d84..52b0492 100644
print "\nRunning Makefile.PL in $ext_dir\n";
# 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
old mode 100755
new mode 100644
index 9bde518..45eb782
index 9bde518..45eb782 100755
--- a/t/op/hash.t
+++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.12.5.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -117,7 +117,7 @@ index f8ca492..204bba0 100644
+ $self->{LIBS}->[0] .= ' -lgdbm_compat' if -e $_.'/libgdbm_compat.so';
}
diff --git a/hints/linux.sh b/hints/linux.sh
index 0519eca..fb5a46e 100644
index 0519eca..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -13,11 +13,14 @@
@ -215,10 +215,93 @@ index 0519eca..fb5a46e 100644
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -171,6 +178,49 @@ case "$plibpth" in
@@ -171,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -235,7 +318,8 @@ index 0519eca..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -261,29 +345,13 @@ index 0519eca..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -324,7 +374,7 @@ fi
@@ -324,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -292,7 +360,7 @@ index 0519eca..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -372,7 +440,7 @@ index 0519eca..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -389,7 +457,7 @@ index 0519eca..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -442,7 +514,7 @@ then
@@ -442,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -472,22 +540,8 @@ index de26d84..52b0492 100644
print "\nRunning Makefile.PL in $ext_dir\n";
# 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
old mode 100755
new mode 100644
index 9bde518..45eb782
index 9bde518..45eb782 100755
--- a/t/op/hash.t
+++ b/t/op/hash.t
@@ -39,22 +39,36 @@ use constant THRESHOLD => 14;

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.12.5.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 56bc815..cf688be 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index d0ac9fa..fb5a46e 100644
index d0ac9fa..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -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:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +178,49 @@ case "$plibpth" in
@@ -182,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index d0ac9fa..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index d0ac9fa..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -335,7 +374,7 @@ fi
@@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -188,7 +256,7 @@ index d0ac9fa..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -268,7 +336,7 @@ index d0ac9fa..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -285,7 +353,7 @@ index d0ac9fa..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -453,7 +514,7 @@ then
@@ -453,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -309,15 +377,3 @@ index 13a15b4..a564bb3 100644
print "\nRunning Makefile.PL in $ext_dir\n";
# 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
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 \
&& rm perl-5.14.4.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 56bc815..cf688be 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index d0ac9fa..fb5a46e 100644
index d0ac9fa..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -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:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +178,49 @@ case "$plibpth" in
@@ -182,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index d0ac9fa..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index d0ac9fa..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -335,7 +374,7 @@ fi
@@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -188,7 +256,7 @@ index d0ac9fa..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -268,7 +336,7 @@ index d0ac9fa..fb5a46e 100644
if echo $libswanted | grep -v pthread >/dev/null
then
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
@ -285,7 +353,7 @@ index d0ac9fa..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -453,7 +514,7 @@ then
@@ -453,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -309,15 +377,3 @@ index 13a15b4..a564bb3 100644
print "\nRunning Makefile.PL in $ext_dir\n";
# 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
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 \
&& rm perl-5.14.4.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 439f254..a324604 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index 688c68d..fb5a46e 100644
index 688c68d..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -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:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +178,49 @@ case "$plibpth" in
@@ -182,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index 688c68d..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index 688c68d..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -335,7 +374,7 @@ fi
@@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -188,7 +256,7 @@ index 688c68d..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -254,7 +322,7 @@ index 688c68d..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure
# 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
@ -271,7 +339,7 @@ index 688c68d..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -447,7 +514,7 @@ then
@@ -447,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -280,15 +348,3 @@ index 688c68d..fb5a46e 100644
then
if ldd $DBLIB | grep pthread >/dev/null
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
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 \
&& rm perl-5.16.3.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index 439f254..a324604 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index 688c68d..fb5a46e 100644
index 688c68d..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -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:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +178,49 @@ case "$plibpth" in
@@ -182,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index 688c68d..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index 688c68d..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -335,7 +374,7 @@ fi
@@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -188,7 +256,7 @@ index 688c68d..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -254,7 +322,7 @@ index 688c68d..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure
# 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
@ -271,7 +339,7 @@ index 688c68d..fb5a46e 100644
# If using g++, the Configure scan for dlopen() and (especially)
# dlerror() might fail, easier just to forcibly hint them in.
case "$cc" in
@@ -447,7 +514,7 @@ then
@@ -447,7 +428,7 @@ then
DBLIB="$DBDIR/libdb.so"
if [ -f $DBLIB ]
then
@ -280,15 +348,3 @@ index 688c68d..fb5a46e 100644
then
if ldd $DBLIB | grep pthread >/dev/null
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
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 \
&& rm perl-5.16.3.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index b707911..2588f0b 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index a148248..fb5a46e 100644
index a148248..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -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:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +178,49 @@ case "$plibpth" in
@@ -182,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index a148248..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index a148248..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -335,7 +374,7 @@ fi
@@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -188,7 +256,7 @@ index a148248..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -254,7 +322,7 @@ index a148248..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure
# 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"
if [ -f $DBLIB ]
then
@ -263,15 +331,3 @@ index a148248..fb5a46e 100644
then
if ldd $DBLIB | grep pthread >/dev/null
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
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 \
&& rm perl-5.18.4.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -40,7 +40,7 @@ index b707911..2588f0b 100644
or die "Cannot exec $cpp";
}
diff --git a/hints/linux.sh b/hints/linux.sh
index a148248..fb5a46e 100644
index a148248..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -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:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +178,49 @@ case "$plibpth" in
@@ -182,93 +178,50 @@ case "$plibpth" 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} 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,
+# so contrary to our usual policy of *not* looking at gcc internal
+# directories we now *do* look at them, in case they contain
@ -131,7 +214,8 @@ index a148248..fb5a46e 100644
+ done
+ ;;
+esac
+
-rm -f try.c a.out
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
@ -157,29 +241,13 @@ index a148248..fb5a46e 100644
+ done
+ ;;
+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 ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
else
@@ -335,7 +374,7 @@ fi
@@ -335,7 +288,7 @@ fi
#'osfmach3ppc') ccdlflags='-Wl,-E' ;;
#esac
@ -188,7 +256,7 @@ index a148248..fb5a46e 100644
sparc*)
case "$cccdlflags" in
*-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'
# make sure it can read the file
# NI-S 2003/08/07
@ -254,7 +322,7 @@ index a148248..fb5a46e 100644
# This script UU/usethreads.cbu will get 'called-back' by Configure
# 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"
if [ -f $DBLIB ]
then
@ -263,15 +331,3 @@ index a148248..fb5a46e 100644
then
if ldd $DBLIB | grep pthread >/dev/null
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
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 \
&& rm perl-5.18.4.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -1,5 +1,5 @@
diff --git a/hints/linux.sh b/hints/linux.sh
index 956adfc..fb5a46e 100644
index 956adfc..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -178,6 +178,23 @@ case "$plibpth" in
@ -26,7 +26,100 @@ index 956adfc..fb5a46e 100644
case "$libc" in
'')
# 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"
if [ -f $DBLIB ]
then
@ -35,15 +128,3 @@ index 956adfc..fb5a46e 100644
then
if ldd $DBLIB | grep pthread >/dev/null
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
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 \
&& rm perl-5.20.3.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -1,5 +1,5 @@
diff --git a/hints/linux.sh b/hints/linux.sh
index 956adfc..fb5a46e 100644
index 956adfc..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -178,6 +178,23 @@ case "$plibpth" in
@ -26,7 +26,100 @@ index 956adfc..fb5a46e 100644
case "$libc" in
'')
# 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"
if [ -f $DBLIB ]
then
@ -35,15 +128,3 @@ index 956adfc..fb5a46e 100644
then
if ldd $DBLIB | grep pthread >/dev/null
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
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 \
&& rm perl-5.20.3.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -1,12 +1,97 @@
diff --git a/patchlevel.h b/patchlevel.h
index bfd796b..69d5fb0 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
};
diff --git a/hints/linux.sh b/hints/linux.sh
index fb5a46e..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -221,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.'

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.22.2.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -1,12 +1,97 @@
diff --git a/patchlevel.h b/patchlevel.h
index bfd796b..69d5fb0 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
};
diff --git a/hints/linux.sh b/hints/linux.sh
index fb5a46e..3f38ea0 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -221,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.'

View file

@ -10,7 +10,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-5.22.2.tar.bz2 \
&& 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
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 \
&& rm perl-5.24.0.tar.bz2 \
&& 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
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 \
&& rm perl-5.24.0.tar.bz2 \
&& cat *.patch | patch -p1 \

View file

@ -1,44 +1,48 @@
releases:
- version: 5.8.9
sha1: 19843b5a7585cf35d96c07dbcd419bbdd5813617
sha256: 1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79
pause: NWCLARK
extra_flags: "-A ccflags=-fwrapv"
test_parallel: no
- version: 5.10.1
sha1: 98b762b5cd4fb76dd354dfa5ba0d21bc2acacaf2
sha256: 9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826
pause: DAPM
extra_flags: "-A ccflags=-fwrapv"
test_parallel: no
- version: 5.12.5
sha1: 812139ceef512eb8458af29ffbf46d78ef26c12a
sha256: 10749417fd3010aae320a34181ad4cd6a4855c1fc63403b87fa4d630b18e966c
pause: DOM
extra_flags: "-A ccflags=-fwrapv"
test_parallel: no
- version: 5.14.4
sha1: 3527c9e26f985cba98796439bf555fde8be73cdf
sha256: eece8c2b0d491bf6f746bd1f4f1bb7ce26f6b98e91c54690c617d7af38964745
pause: DAPM
extra_flags: "-A ccflags=-fwrapv"
test_parallel: no
- version: 5.16.3
sha1: 060bc17cf9f142d043f9bf7b861422ec624875ea
sha256: bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8
pause: RJBS
extra_flags: "-A ccflags=-fwrapv"
test_parallel: no
- version: 5.18.4
sha1: 69c34558a0a939a7adbbc1de48c06ea418d81e27
sha256: 1fb4d27b75cd244e849f253320260efe1750641aaff4a18ce0d67556ff1b96a5
pause: RJBS
extra_flags: "-A ccflags=-fwrapv"
test_parallel: no
- version: 5.20.3
sha1: eedf9e3be3c83bef15911996ed18703cffe4d113
sha256: 1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b
pause: SHAY
- version: 5.22.2
sha1: e2f465446dcd45a7fa3da696037f9ebe73e78e55
sha256: f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058
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:
- version: 5.20.0
sha1: asdasdadas
sha256: asdasdadas
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.
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}}) {
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/;
@ -57,7 +57,7 @@ for my $release (@{$yaml->{releases}}) {
my $file = "perl-$release->{version}.tar.bz2";
my $url = "http://www.cpan.org/src/5.0/$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";
} else {
print "Downloading $url\n";
@ -88,7 +88,7 @@ for my $release (@{$yaml->{releases}}) {
for my $config (keys %builds) {
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;
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>.
=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
@ -191,7 +191,7 @@ COPY *.patch /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 \
&& 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 \
&& rm perl-{{version}}.tar.bz2 \
&& cat *.patch | patch -p1 \