Commit 497e3b87 authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release Candidate

parents 093840f5 a866b33f
......@@ -38,9 +38,9 @@ md5sum = 2202b18f269ad606d70e1864857ed93c
# inspired on http://old.aclark.net/team/aclark/blog/a-lamp-buildout-for-wordpress-and-other-php-apps/
recipe = slapos.recipe.cmmi
shared = false
version = 2.4.38
version = 2.4.39
url = https://archive.apache.org/dist/httpd/httpd-${:version}.tar.bz2
md5sum = 4a2b87ca55e42017d21f18724c560084
md5sum = 930e217ba2d71e708a3f1521ecae7ec0
pre-configure =
cp -ar ${apr:location}/apr-${apr:version} srclib/apr/ &&
cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util
......@@ -120,80 +120,6 @@ make-targets =
environment =
PATH=${patch:location}/bin:%(PATH)s
[apache-2.2]
# inspired on http://old.aclark.net/team/aclark/blog/a-lamp-buildout-for-wordpress-and-other-php-apps/
recipe = slapos.recipe.cmmi
shared = false
version = 2.2.34
url = https://archive.apache.org/dist/httpd/httpd-${:version}.tar.bz2
md5sum = c0bf1bdb779a3b5e6e294caf9ca20441
patch-options = -p1
configure-options = --disable-static
--enable-authn-alias
--enable-bucketeer
--enable-cache
--enable-case-filter
--enable-case-filter-in
--enable-cgid
--enable-charset-lite
--enable-disk-cache
--enable-mem-cache
--enable-echo
--enable-exception-hook
--enable-mods-shared=all
--enable-optional-fn-export
--enable-optional-fn-import
--enable-optional-hook-export
--enable-optional-hook-import
--enable-proxy
--enable-proxy-ajp
--enable-proxy-balancer
--enable-proxy-connect
--enable-proxy-ftp
--enable-proxy-http
--enable-proxy-scgi
--enable-dav
--enable-dav-fs
--enable-dav-lock
--enable-so
--enable-ssl
--with-included-apr
--with-ssl=${openssl:location}
--with-z=${zlib:location}
--with-expat=${libexpat:location}
--with-pcre=${pcre:location}
--with-sqlite3=${sqlite3:location}
--with-gdbm=${gdbm:location}
--without-lber
--without-ldap
--without-ndbm
--without-berkeley-db
--without-pgsql
--without-mysql
--without-sqlite2
--without-oracle
--without-freedts
--without-odbc
--without-iconv
environment =
PATH=${patch:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
CPPFLAGS =-I${libuuid:location}/include
LDFLAGS =-Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${openssl:location}/lib -L${libuuid:location}/lib -Wl,-rpath=${libuuid:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${pcre:location}/lib -Wl,-rpath=${sqlite3:location}/lib -Wl,-rpath=${gdbm:location}/lib
[apache-antiloris-apache-2.2]
# Note: Shall react on each build of apache and reinstall itself
recipe = slapos.recipe.cmmi
shared = false
url = http://downloads.sourceforge.net/project/mod-antiloris/mod_antiloris-0.4.tar.bz2
md5sum = 66862bf10e9be3a023e475604a28a0b4
configure-command = ${apache-2.2:location}/bin/apxs
configure-options = -c mod_antiloris.c
make-binary = ${:configure-command}
make-options = -i -a -n antiloris mod_antiloris.la
make-targets =
[template-apache-backend-conf]
recipe = slapos.recipe.build:download
shared = false
......
......@@ -7,8 +7,8 @@ parts = binutils
[mpfr]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.3.tar.xz
md5sum = 6969398cd2fbc56a6af570b5273c56a9
url = http://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz
md5sum = 320fbc4463d4c8cb1e566929d8adc4f8
configure-options =
--with-gmp=${gmp:location}
--disable-static
......@@ -19,8 +19,8 @@ environment =
[mpc]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
md5sum = d6a1d5f8ddea3abd2cc3e98f58352d26
url = http://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
md5sum = 4125404e41e482ec68282a2e687f6c73
configure-options =
--with-gmp=${gmp:location}
--with-mpfr=${mpfr:location}
......@@ -31,8 +31,8 @@ environment =
[isl]
recipe = slapos.recipe.cmmi
shared = true
url = ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
md5sum = ac1f25a0677912952718a51f5bc20f32
url = ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
md5sum = 11436d6b205e516635b666090b94ab32
configure-options =
--with-gmp-prefix=${gmp:location}
--disable-static
......@@ -42,8 +42,8 @@ environment =
[binutils]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2
md5sum = 2869c9bf3e60ee97c74ac2a6bf4e9d68
url = http://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.bz2
md5sum = 64f8ea283e571200f8b2b7f66fe8a0d6
configure-options =
--disable-bootstrap
--with-mpc=${mpc:location}
......
[buildout]
extends =
../../component/golang/buildout.cfg
gowork.cfg
parts =
gowork
caddy
[gowork]
# Caddy 1.x+ uses go modules, for which gowork does not work yet
golang = ${golang1.12:location}
install =
[gowork.goinstall]
command = :
depends =
${caddy:recipe}
github.com/mholt/caddy
[caddy]
# revision and repository can be used to control which caddy version is used
revision = 0c3d90ed21a4df1b5e75ff4d5f908fd3018f902c
repository = github.com/mholt/caddy/caddy
recipe = plone.recipe.command
update-command = ${:command}
stop-on-error = True
# GO111MODULE=on enables go modules support
# the chmod is needed as modules are fetched with u-w
command =
. ${gowork:env.sh} &&
cd ${gowork:directory} &&
export GO111MODULE=on &&
go get ${:repository}@${:revision} &&
chmod -R u+w .
recipe = slapos.recipe.cmmi
path = ${go_github.com_mholt_caddy:location}
go = ${gowork:golang}/bin/go
configure-command = :
make-targets =
make-binary = cd ${:path}/caddy && ${:go} install -v
environment =
PATH=${pkgconfig:location}/bin:${gowork:golang}/bin:${buildout:bin-directory}:%(PATH)s
GOPATH=${gowork:directory}
output = ${gowork:bin}/caddy
location = ${:output}
# Code generated by gowork-snapshot; DO NOT EDIT.
# list of go git repositories to fetch
[gowork.goinstall]
depends_gitfetch =
${go_github.com_mholt_caddy:recipe}
[go_github.com_mholt_caddy]
<= go-git-package
go.importpath = github.com/mholt/caddy
repository = https://lab.nexedi.com/nexedi/caddy.git
revision = nxd-v0.11.5-4-g9d3151db
......@@ -9,8 +9,8 @@ parts =
[coreutils]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.23.tar.xz
md5sum = abed135279f87ad6762ce57ff6d89c41
url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.30.tar.xz
md5sum = ab06d68949758971fe744db66b572816
environment =
PATH=${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
LDFLAGS=-Wl,--as-needed -L${gmp:location}/lib -Wl,-rpath=${gmp:location}/lib
......
......@@ -4,6 +4,7 @@
extends =
../gettext/buildout.cfg
../gmp/buildout.cfg
../patch/buildout.cfg
../perl/buildout.cfg
../tar/buildout.cfg
../xz-utils/buildout.cfg
......@@ -19,6 +20,9 @@ url = http://ftp.gnu.org/gnu/gcc/gcc-5.5.0/gcc-5.5.0.tar.gz
md5sum = 781bc0195edeb0ceaace8428f63ae63d
# make install does not work when several core are used
make-targets = install -j1
patch-options = -p1
patches =
${:_profile_base_location_}/libsanitizer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch#1e5f33e89f9fe1ca3e406eabcc621762
[gcc]
<= gcc-common
......
From 15f0e921f47a9b81c4a30295c8685ad37d3ff4e0 Mon Sep 17 00:00:00 2001
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 24 May 2018 19:52:32 +0000
Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux
Cherry-pick compiler-rt revision 333213:
<sys/ustat.h> has been removed from glibc 2.28 by:
commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Sun Mar 18 11:28:59 2018 +0800
Deprecate ustat syscall interface
This patch uses pre-computed size of struct ustat for Linux.
PR sanitizer/85835
* sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
include <sys/ustat.h> for Linux.
(SIZEOF_STRUCT_USTAT): New.
(struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260684 138bc75d-0d04-0410-961f-82ee72b054a4
---
libsanitizer/ChangeLog | 8 ++++++++
.../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++--
2 files changed, 21 insertions(+), 2 deletions(-)
# Hunk commented-out as this does not apply on gcc 5.5 .
#diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
#index 2ec1a9a..286b789 100644
#--- a/libsanitizer/ChangeLog
#+++ b/libsanitizer/ChangeLog
#@@ -1,3 +1,11 @@
#+2018-05-24 H.J. Lu <hongjiu.lu@intel.com>
#+
#+ PR sanitizer/85835
#+ * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
#+ include <sys/ustat.h> for Linux.
#+ (SIZEOF_STRUCT_USTAT): New.
#+ (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
#+
# 2018-04-26 Hans-Peter Nilsson <hp@axis.com>
#
# * configure.tgt <mips*-*-linux*>: Enable build, excluding
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 858bb21..de18e56 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <sys/ustat.h>
#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
@@ -250,7 +249,19 @@ namespace __sanitizer {
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned struct_ustat_sz = sizeof(struct ustat);
+ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
+ // has been removed from glibc 2.28.
+#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
+ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
+ || defined(__x86_64__)
+#define SIZEOF_STRUCT_USTAT 32
+#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
+ || defined(__powerpc__) || defined(__s390__)
+#define SIZEOF_STRUCT_USTAT 20
+#else
+#error Unknown size of struct ustat
+#endif
+ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
--
2.9.3
......@@ -64,8 +64,8 @@ environment-extra =
[golang1.12]
<= golang-common
url = https://dl.google.com/go/go1.12.3.src.tar.gz
md5sum = 648486d1bab417e6517bc5ed9be766ce
url = https://dl.google.com/go/go1.12.4.src.tar.gz
md5sum = edb6bac6dc1ce0afc931d9e41ef3d2ef
# go1.11 needs go1.4 to bootstrap
environment-extra =
......
......@@ -7,7 +7,7 @@ parts =
[gzip]
recipe = slapos.recipe.cmmi
shared = true
url = ftp://ftp.gnu.org/pub/gnu/gzip/gzip-1.8.tar.xz
md5sum = f7caabb65cddc1a4165b398009bd05b9
url = https://ftp.gnu.org/pub/gnu/gzip/gzip-1.10.tar.xz
md5sum = 691b1221694c3394f1c537df4eee39d3
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
......@@ -8,8 +8,8 @@ parts = logrotate
[logrotate]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/logrotate/logrotate/releases/download/3.11.0/logrotate-3.11.0.tar.xz
md5sum = 3a9280e4caeb837427a2d54518fbcdac
url = https://github.com/logrotate/logrotate/releases/download/3.15.0/logrotate-3.15.0.tar.xz
md5sum = 320046f0b9fc38337e8827d4c5a866a0
# BBB this is only for backward-compatibility.
post-install =
ln -nsf . @@LOCATION@@/usr
......
......@@ -3,6 +3,7 @@
[buildout]
extends =
../binutils/buildout.cfg
../bzip2/buildout.cfg
../cmake/buildout.cfg
../groonga/buildout.cfg
......@@ -108,7 +109,7 @@ patches =
pre-build =
sed -i -e "s,${mariadb:location}/include,$(pwd)/fake_mariadb_source/include,g" Makefile */Makefile
environment =
PATH=${groonga:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${binutils:location}/bin:${groonga:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
CPPFLAGS=-I${groonga:location}/include/groonga
LDFLAGS=-L${groonga:location}/lib
PKG_CONFIG_PATH=${groonga:location}/lib/pkgconfig:${groonga-normalizer-mysql:location}/lib/pkgconfig
From b2cb17719c9233fbc9040ced04418be051c91c14 Mon Sep 17 00:00:00 2001
From: Sawyer X <xsawyerx@cpan.org>
Date: Fri, 27 Apr 2018 20:35:42 +0300
Subject: Storable: fix for strawberry build failures:
Provided by Graham @haarg Knop.
Origin: upstream, https://perl5.git.perl.org/perl.git/commit/3f4cad1bbe7c6238adba5abb2415775a74eded4d
Patch-Name: fixes/storable-probing/prereq1.diff
---
dist/Storable/Makefile.PL | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dist/Storable/Makefile.PL b/dist/Storable/Makefile.PL
index 697750566..4f0213277 100644
--- a/dist/Storable/Makefile.PL
+++ b/dist/Storable/Makefile.PL
@@ -14,10 +14,12 @@ use File::Spec;
unlink "lib/Storable/Limit.pm";
+my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
+
my $pm = { 'Storable.pm' => '$(INST_ARCHLIB)/Storable.pm' };
unless ($ENV{PERL_CORE}) {
# the core Makefile takes care of this for core builds
- $pm->{"lib/Storable/Limit.pm"} = '$(INST_ARCHLIB)/Storable/Limit.pm';
+ $pm->{$limit_pm} = '$(INST_ARCHLIB)/Storable/Limit.pm';
}
WriteMakefile(
@@ -91,7 +93,6 @@ sub depend {
$extra_deps = ' Storable.pm';
}
my $linktype = uc($_[0]->{LINKTYPE});
- my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
"
$limit_pm : stacksize \$(INST_$linktype)$extra_deps
\$(MKPATH) \$(INST_LIB)
@@ -111,7 +112,7 @@ sub test {
my $out = $self->SUPER::test(%attr);
if ($ENV{PERL_CORE}) {
- $out =~ s!^(test(?:db)?_(?:static|dynamic)\b.*)!$1 lib/Storable/Limit.pm!gm;
+ $out =~ s!^(test(?:db)?_(?:static|dynamic)\b.*)!$1 $limit_pm!gm;
}
$out;
From cece912f1d5e5e80dc8d64364b0ddc4bf729bd85 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Mon, 30 Jul 2018 21:00:52 +1000
Subject: (perl #133411) don't try to load Storable with -Dusecrosscompile
Origin: https://perl5.git.perl.org/perl.git/commit/edf639fce3e8c8852ee4179ab902b357b1deba98
Bug: https://rt.perl.org/Public/Bug/Display.html?id=133411
Patch-Name: fixes/storable-probing/prereq2.diff
---
dist/Storable/Makefile.PL | 9 ++++++++-
dist/Storable/stacksize | 10 +++++++---
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/dist/Storable/Makefile.PL b/dist/Storable/Makefile.PL
index 4f0213277..69efc8294 100644
--- a/dist/Storable/Makefile.PL
+++ b/dist/Storable/Makefile.PL
@@ -92,11 +92,18 @@ sub depend {
# blib.pm needs arch/lib
$extra_deps = ' Storable.pm';
}
+ my $whichperl;
+ if ($Config::Config{usecrosscompile}) {
+ $whichperl = '$(PERLRUN)';
+ }
+ else {
+ $whichperl = '$(FULLPERLRUNINST)';
+ }
my $linktype = uc($_[0]->{LINKTYPE});
"
$limit_pm : stacksize \$(INST_$linktype)$extra_deps
\$(MKPATH) \$(INST_LIB)
- \$(FULLPERLRUNINST) stacksize $options
+ $whichperl stacksize $options
release : dist
git tag \$(VERSION)
diff --git a/dist/Storable/stacksize b/dist/Storable/stacksize
index 7abd3a84c..14e073973 100644
--- a/dist/Storable/stacksize
+++ b/dist/Storable/stacksize
@@ -7,6 +7,9 @@ use Cwd;
use File::Spec;
use strict;
+-d "lib" or mkdir "lib";
+-d "lib/Storable" or mkdir "lib/Storable";
+
my $fn = "lib/Storable/Limit.pm";
my $ptrsize = $Config{ptrsize};
my ($bad1, $bad2) = (65001, 25000);
@@ -29,6 +32,10 @@ sub is_miniperl {
}
if (is_miniperl()) {
+ if ($Config{usecrosscompile}) {
+ write_limits(500, 265);
+ exit;
+ }
die "Should not run during miniperl\n";
}
my $prefix = "";
@@ -68,9 +75,6 @@ if ($ENV{PERL_CORE}) {
}
}
--d "lib" or mkdir "lib";
--d "lib/Storable" or mkdir "lib/Storable";
-
if ($^O eq "MSWin32") {
require Win32;
my ($str, $major, $minor) = Win32::GetOSVersion();
From 8685a1be32d2d900ee599dc3102f334b93314512 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Tue, 4 Dec 2018 15:11:17 +1100
Subject: (perl #133708) remove build-time probing for stack limits for
Storable
Backported for Debian 5.28 by Niko Tyni
Origin: backport, https://perl5.git.perl.org/perl.git/commit/2a0bbd31bbcc94c7c511f9575df619c5fdf3164c
Bug: https://rt.perl.org/Public/Bug/Display.html?id=133708
Bug-Debian: https://bugs.debian.org/914133
Patch-Name: fixes/storable-probing/disable-probing.diff
---
Makefile.SH | 25 ------------
dist/Storable/Makefile.PL | 40 ------------------
dist/Storable/__Storable__.pm | 12 +++---
dist/Storable/stacksize | 77 ++++++++---------------------------
dist/Storable/t/recurse.t | 4 +-
win32/GNUmakefile | 12 +-----
win32/Makefile | 10 +----
win32/makefile.mk | 15 +------
8 files changed, 31 insertions(+), 164 deletions(-)
diff --git a/Makefile.SH b/Makefile.SH
index 48151bce6..084924dab 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -173,15 +173,11 @@ esac
: is Cwd static or dynamic
static_cwd='define'
-storable_limit_dep=''
-storable_type=''
list_util_dep='$(PERL_EXE)'
for f in $dynamic_ext; do
case $f in
Cwd) static_cwd='undef' ;;
List/Util) list_util_dep=lib/auto/List/Util/Util.$dlext ;;
- Storable) storable_limit_dep=lib/auto/Storable/Storable.$dlext
- storable_type='dynamic' ;;
esac
done
@@ -218,7 +214,6 @@ for f in $static_ext; do
$this_target: lib/auto/List/Util/Util\$(LIB_EXT)" ;;
Unicode/Normalize) extra_dep="$extra_dep
$this_target: uni.data" ;;
- Storable) storable_type='static' ;;
esac
done
@@ -1155,26 +1150,6 @@ no_install no-install: install-notify
install: install-all
!NO!SUBS!
-if test "$storable_type" != "" ; then
-
-case "$static_cwd" in
-undef) storable_limit_dep="$storable_limit_dep lib/auto/Cwd/Cwd.$dlext" ;;
-esac
-
-$spitshell >>$Makefile <<EOT
-
-dist/Storable/lib/Storable/Limit.pm : \$(PERL_EXE) dist/Storable/stacksize $storable_limit_dep
- cd dist/Storable ; \$(LDLIBPTH) \$(MAKE) lib/Storable/Limit.pm
-
-lib/Storable/Limit.pm : dist/Storable/lib/Storable/Limit.pm
- test -d lib/Storable || mkdir lib/Storable
- cp dist/Storable/lib/Storable/Limit.pm lib/Storable/Limit.pm
-EOT
-
-common_build_deps="$common_build_deps lib/Storable/Limit.pm"
-
-fi
-
for name in all notify silent strip verbose; do
flags="--$name";
flags=`echo $flags | sed -e 's/--all//'`
diff --git a/dist/Storable/Makefile.PL b/dist/Storable/Makefile.PL
index 69efc8294..60af5d256 100644
--- a/dist/Storable/Makefile.PL
+++ b/dist/Storable/Makefile.PL
@@ -12,15 +12,7 @@ use Config;
use File::Copy qw(move copy);
use File::Spec;
-unlink "lib/Storable/Limit.pm";
-
-my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
-
my $pm = { 'Storable.pm' => '$(INST_ARCHLIB)/Storable.pm' };
-unless ($ENV{PERL_CORE}) {
- # the core Makefile takes care of this for core builds
- $pm->{$limit_pm} = '$(INST_ARCHLIB)/Storable/Limit.pm';
-}
WriteMakefile(
NAME => 'Storable',
@@ -83,27 +75,7 @@ sub xlinkext {
}
sub depend {
- my $extra_deps = "";
- my $options = "";
- if ($ENV{PERL_CORE}) {
- $options = "--core";
- }
- else {
- # blib.pm needs arch/lib
- $extra_deps = ' Storable.pm';
- }
- my $whichperl;
- if ($Config::Config{usecrosscompile}) {
- $whichperl = '$(PERLRUN)';
- }
- else {
- $whichperl = '$(FULLPERLRUNINST)';
- }
- my $linktype = uc($_[0]->{LINKTYPE});
"
-$limit_pm : stacksize \$(INST_$linktype)$extra_deps
- \$(MKPATH) \$(INST_LIB)
- $whichperl stacksize $options
release : dist
git tag \$(VERSION)
@@ -113,18 +85,6 @@ release : dist
"
}
-sub test {
- my ($self, %attr) = @_;
-
- my $out = $self->SUPER::test(%attr);
-
- if ($ENV{PERL_CORE}) {
- $out =~ s!^(test(?:db)?_(?:static|dynamic)\b.*)!$1 $limit_pm!gm;
- }
-
- $out;
-}
-
sub postamble {
'
all :: Storable.pm
diff --git a/dist/Storable/__Storable__.pm b/dist/Storable/__Storable__.pm
index 71c669daa..e5a655ecd 100644
--- a/dist/Storable/__Storable__.pm
+++ b/dist/Storable/__Storable__.pm
@@ -32,8 +32,6 @@ our $VERSION = '3.08';
our $recursion_limit;
our $recursion_limit_hash;
-do "Storable/Limit.pm";
-
$recursion_limit = 512
unless defined $recursion_limit;
$recursion_limit_hash = 256
@@ -941,13 +939,13 @@ There are a few things you need to know, however:
=item *
-Since Storable 3.05 we probe for the stack recursion limit for references,
+From Storable 3.05 to 3.13 we probed for the stack recursion limit for references,
arrays and hashes to a maximal depth of ~1200-35000, otherwise we might
fall into a stack-overflow. On JSON::XS this limit is 512 btw. With
references not immediately referencing each other there's no such
limit yet, so you might fall into such a stack-overflow segfault.
-This probing and the checks performed have some limitations:
+This probing and the checks we performed have some limitations:
=over
@@ -955,7 +953,9 @@ This probing and the checks performed have some limitations:
the stack size at build time might be different at run time, eg. the
stack size may have been modified with ulimit(1). If it's larger at
-run time Storable may fail the freeze() or thaw() unnecessarily.
+run time Storable may fail the freeze() or thaw() unnecessarily. If
+it's larger at build time Storable may segmentation fault when
+processing a deep structure at run time.
=item *
@@ -970,6 +970,8 @@ stack without triggering Storable's recursion protection.
=back
+So these now have simple defaults rather than probing at build-time.
+
You can control the maximum array and hash recursion depths by
modifying C<$Storable::recursion_limit> and
C<$Storable::recursion_limit_hash> respectively. Either can be set to
diff --git a/dist/Storable/stacksize b/dist/Storable/stacksize
index 14e073973..f93eccce1 100644
--- a/dist/Storable/stacksize
+++ b/dist/Storable/stacksize
@@ -1,21 +1,17 @@
#!/usr/bin/perl
# binary search maximum stack depth for arrays and hashes
-# and store it in lib/Storable/Limit.pm
+# and report it to stdout as code to set the limits
use Config;
use Cwd;
use File::Spec;
use strict;
--d "lib" or mkdir "lib";
--d "lib/Storable" or mkdir "lib/Storable";
-
-my $fn = "lib/Storable/Limit.pm";
my $ptrsize = $Config{ptrsize};
my ($bad1, $bad2) = (65001, 25000);
sub QUIET () {
(defined $ENV{MAKEFLAGS} and $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/
- and !defined($ENV{TRAVIS}))
+ and !defined($ENV{TRAVIS})) || @ARGV && $ARGV[0] eq "-q"
? 1 : 0
}
sub PARALLEL () {
@@ -32,11 +28,7 @@ sub is_miniperl {
}
if (is_miniperl()) {
- if ($Config{usecrosscompile}) {
- write_limits(500, 265);
- exit;
- }
- die "Should not run during miniperl\n";
+ die "Should not run using miniperl\n";
}
my $prefix = "";
if ($^O eq "MSWin32") {
@@ -51,58 +43,28 @@ elsif (system("ulimit -c 0 ;") == 0) {
# try to prevent core dumps
$prefix = "ulimit -c 0 ; ";
}
-if (@ARGV and $ARGV[0] eq '--core') {
- $ENV{PERL_CORE} = 1;
-}
my $PERL = $^X;
-if ($ENV{PERL_CORE}) {
- my $path;
- my $ldlib = $Config{ldlibpthname};
- if (-d 'dist/Storable') {
- chdir 'dist/Storable';
- $PERL = "../../$PERL" unless $PERL =~ m|^/|;
- }
- if ($ldlib) {
- $path = getcwd()."/../..";
- }
- if ($^O eq 'MSWin32' and -d '../dist/Storable') {
- chdir '..\dist\Storable';
- $PERL = "..\\..\\$PERL" unless $PERL =~ /^[A-Za-z]:\\/;
- }
- $PERL = "\"$PERL\"" if $PERL =~ / /;
- if ($ldlib and $ldlib ne 'PATH') {
- $PERL = "$ldlib=$path $PERL";
- }
-}
-
if ($^O eq "MSWin32") {
require Win32;
my ($str, $major, $minor) = Win32::GetOSVersion();
if ($major < 6 || $major == 6 && $minor < 1) {
- print "Using defaults for older Win32\n";
+ print "# Using defaults for older Win32\n";
write_limits(500, 256);
exit;
}
}
my ($n, $good, $bad, $found) =
(65000, 100, $bad1, undef);
-print "probe for max. stack sizes...\n" unless QUIET;
+print "# probe for max. stack sizes...\n" unless QUIET;
# -I. since we're run before pm_to_blib (which is going to copy the
# file we create) and need to load our Storable.pm, not the already
# installed Storable.pm
-my $mblib = '-Mblib -I.';
-if ($ENV{PERL_CORE}) {
- if ($^O eq 'MSWin32') {
- $mblib = '-I..\..\lib\auto -I..\..\lib';
- } else {
- $mblib = '-I../../lib/auto -I../../lib';
- }
+my $mblib = '';
+if (-d 'blib') {
+ $mblib = '-Mblib -I.';
}
-if (PARALLEL) {
- # problem with parallel builds. wait for INST_DYNAMIC linking to be done.
- # the problem is the RM_F INST_DYNAMIC race.
- print "parallel build race - wait for linker ...\n" unless QUIET;
- sleep(2.0);
+elsif (-f "Configure") {
+ $mblib = '-Ilib';
}
sub cmd {
@@ -117,7 +79,7 @@ sub cmd {
sub good {
my $i = shift; # this passed
my $j = $i + abs(int(($bad - $i) / 2));
- print "Storable: determining recursion limit: $i passed, try more $j ...\n" unless QUIET;
+ print "# Storable: determining recursion limit: $i passed, try more $j ...\n" unless QUIET;
$good = $i;
if ($j <= $i) {
$found++;
@@ -128,7 +90,7 @@ sub good {
sub bad {
my $i = shift; # this failed
my $j = $i - abs(int(($i - $good) / 2));
- print "Storable: determining recursion limit: $i too big, try less $j ...\n" unless QUIET;
+ print "# Storable: determining recursion limit: $i too big, try less $j ...\n" unless QUIET;
$bad = $i;
if ($j >= $i) {
$j = $good;
@@ -162,7 +124,7 @@ while (!$found) {
$n = bad($n);
}
}
-print "MAX_DEPTH = $n\n" unless QUIET;
+print "# MAX_DEPTH = $n\n" unless QUIET;
my $max_depth = $n;
($n, $good, $bad, $found) =
@@ -186,13 +148,13 @@ if ($max_depth == $bad1-1
and $n == $bad2-1)
{
# more likely the shell. travis docker ubuntu, mingw e.g.
- print "Error: Apparently your system(SHELLSTRING) cannot catch stack overflows\n"
+ print "# Apparently your system(SHELLSTRING) cannot catch stack overflows\n"
unless QUIET;
$max_depth = 512;
$n = 256;
print "MAX_DEPTH = $max_depth\n" unless QUIET;
}
-print "MAX_DEPTH_HASH = $n\n" unless QUIET;
+print "# MAX_DEPTH_HASH = $n\n" unless QUIET;
my $max_depth_hash = $n;
# Previously this calculation was done in the macro, calculate it here
@@ -203,7 +165,7 @@ my $max_depth_hash = $n;
# several apparently random failures here, eg. working in one
# configuration, but not in a very similar configuration.
$max_depth = int(0.6 * $max_depth);
-$max_depth_hash = int(0.6 * $max_depth);
+$max_depth_hash = int(0.6 * $max_depth_hash);
my $stack_reserve = $^O eq "MSWin32" ? 32 : 16;
if ($] ge "5.016" && !($^O eq "cygwin" && $ptrsize == 8)) {
@@ -221,16 +183,11 @@ write_limits($max_depth, $max_depth_hash);
sub write_limits {
my ($max_depth, $max_depth_hash) = @_;
- my $f;
- open $f, ">", $fn or die "$fn $!";
- print $f <<EOS;
+ print <<EOS;
# bisected by stacksize
\$Storable::recursion_limit = $max_depth
unless defined \$Storable::recursion_limit;
\$Storable::recursion_limit_hash = $max_depth_hash
unless defined \$Storable::recursion_limit_hash;
-1;
EOS
- close $f
- or die "Failed to close $fn: $!\n";
}
diff --git a/dist/Storable/t/recurse.t b/dist/Storable/t/recurse.t
index 63fde90fd..b5967a072 100644
--- a/dist/Storable/t/recurse.t
+++ b/dist/Storable/t/recurse.t
@@ -318,9 +318,11 @@ is($refcount_ok, 1, "check refcount");
# Small 64bit systems fail with 1200 (c++ debugging), with gcc 3000.
# Optimized 64bit allows up to 33.000 recursion depth.
# with asan the limit is 255 though.
+
+local $Storable::recursion_limit = 30;
+local $Storable::recursion_limit_hash = 20;
sub MAX_DEPTH () { Storable::stack_depth() }
sub MAX_DEPTH_HASH () { Storable::stack_depth_hash() }
-sub OVERFLOW () { 35000 }
{
my $t;
print "# max depth ", MAX_DEPTH, "\n";
diff --git a/win32/GNUmakefile b/win32/GNUmakefile
index 05193a1f2..afc18ec8a 100644
--- a/win32/GNUmakefile
+++ b/win32/GNUmakefile
@@ -1168,7 +1168,7 @@ CFG_VARS = \
.PHONY: all info
-all : info rebasePE Extensions_nonxs $(PERLSTATIC) PostExt
+all : info rebasePE Extensions_nonxs $(PERLSTATIC)
info :
@echo # CCTYPE=$(CCTYPE)
@@ -1612,16 +1612,6 @@ Extensions_clean :
Extensions_realclean :
-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
-PostExt : ..\lib\Storable\Limit.pm
-
-# we need the exe, perl(ver).dll, and the Exporter, Storable, Win32 extensions
-# rebasePE most of that, including adjustment for static builds, so we
-# just need non-xs extensions
-..\lib\Storable\Limit.pm : rebasePE Extensions_nonxs
- $(PLMAKE) -C ..\dist\Storable lib\Storable\Limit.pm
- if not exist ..\lib\Storable mkdir ..\lib\Storable
- copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
-
# all PE files need to be built by the time this target runs, PP files can still
# be running in parallel like UNIDATAFILES, this target a placeholder for the
# future
diff --git a/win32/Makefile b/win32/Makefile
index 1e245f712..a4776dd22 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -939,7 +939,7 @@ CFG_VARS = \
#
all : .\config.h ..\git_version.h $(GLOBEXE) $(CONFIGPM) \
- $(UNIDATAFILES) MakePPPort $(PERLEXE) Extensions_nonxs Extensions PostExt \
+ $(UNIDATAFILES) MakePPPort $(PERLEXE) Extensions_nonxs Extensions \
$(PERLSTATIC)
@echo Everything is up to date. '$(MAKE_BARE) test' to run test suite.
@@ -1225,13 +1225,6 @@ Extensions_clean:
Extensions_realclean:
-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
-PostExt: ..\lib\Storable\Limit.pm
-
-..\lib\Storable\Limit.pm: $(PERLEXE) Extensions
- cd ..\dist\Storable && $(MAKE) lib\Storable\Limit.pm
- if not exist ..\lib\Storable mkdir ..\lib\Storable
- copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
-
#-------------------------------------------------------------------------------
doc: $(PERLEXE) ..\pod\perltoc.pod
@@ -1310,7 +1303,6 @@ distclean: realclean
-del /f $(LIBDIR)\Time\HiRes.pm
-del /f $(LIBDIR)\Unicode\Normalize.pm
-del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
- -del /f $(LIBDIR)\Storable.pm $(LIBDIR)\Storable\Limit.pm
-del /f $(LIBDIR)\Win32.pm
-del /f $(LIBDIR)\Win32CORE.pm
-del /f $(LIBDIR)\Win32API\File.pm
diff --git a/win32/makefile.mk b/win32/makefile.mk
index a6072a95a..15b148d15 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -1139,7 +1139,7 @@ CFG_VARS = \
# Top targets
#
-all : CHECKDMAKE rebasePE Extensions_nonxs $(PERLSTATIC) PostExt
+all : CHECKDMAKE rebasePE Extensions_nonxs $(PERLSTATIC)
..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h
@@ -1563,17 +1563,6 @@ rebasePE : Extensions $(PERLDLL) $(NORMALIZE_DYN) $(PERLEXE)
.ENDIF
$(NOOP)
-PostExt : ..\lib\Storable\Limit.pm
- $(NOOP)
-
-# we need the exe, perl(ver).dll, and the Exporter, Storable, Win32 extensions
-# rebasePE most of that, including adjustment for static builds, so we
-# just need non-xs extensions
-..\lib\Storable\Limit.pm : rebasePE Extensions_nonxs
- cd ..\dist\Storable && $(MAKE) lib\Storable\Limit.pm
- if not exist ..\lib\Storable mkdir ..\lib\Storable
- copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
-
#-------------------------------------------------------------------------------
@@ -1648,7 +1637,7 @@ distclean: realclean
-del /f $(LIBDIR)\Time\HiRes.pm
-del /f $(LIBDIR)\Unicode\Normalize.pm
-del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
- -del /f $(LIBDIR)\Storable.pm $(LIBDIR)\Storable\Limit.pm
+ -del /f $(LIBDIR)\Storable.pm
-del /f $(LIBDIR)\Win32.pm
-del /f $(LIBDIR)\Win32CORE.pm
-del /f $(LIBDIR)\Win32API\File.pm
......@@ -16,6 +16,9 @@ patch-options = -p1
patches =
${:_profile_base_location_}/perl-keep-linker-flags-in-ldflags.patch#4e8e0c59d7176eafb0c7402dea17bef1
${:_profile_base_location_}/0001-Fix-missing-build-dependency-for-pods.patch#85aff81f3bea34fcd6ce9a611ee1cdb2
${:_profile_base_location_}/0002-prereq1.patch#c9bf3b521a39134d044eaa2c2312174f
${:_profile_base_location_}/0003-prereq2.patch#5268ff6dd06718cff34e6fb758045996
${:_profile_base_location_}/0004-disable-probing.patch#e68446ccd155c2282639e495a5be612b
configure-command =
sh Configure -des \
-Dprefix=${buildout:parts-directory}/${:_buildout_section_name_} \
......
......@@ -14,12 +14,13 @@ parts =
[wget]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.lz
md5sum = 4ee511011a15f4207bea8b2993c343ee
url = http://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.lz
md5sum = 3bc242eb69165247b1793dd0b794ff52
configure-options =
--enable-ipv6
--enable-opie
--disable-iri
--disable-pcre2
--with-ssl=openssl
--with-libssl-prefix=${openssl:location}
--with-zlib-lib=${zlib:location}
......
......@@ -1708,8 +1708,11 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
verify=self.ca_certificate_file)
self.assertEqual(httplib.CREATED, auth.status_code)
data = self.customdomain_ca_certificate_pem + \
self.customdomain_ca_key_pem + 'some garbage'
_, ca_key_pem, csr, _ = createCSR(
parameter_dict['domain'])
_, ca_certificate_pem = self.ca.signCSR(csr)
data = ca_certificate_pem + ca_key_pem + 'some garbage'
upload = requests.put(
upload_url + auth.text,
data=data,
......@@ -1718,10 +1721,16 @@ http://apachecustomhttpsaccepted.example.com:%%(http_port)s {
self.assertEqual(httplib.CREATED, upload.status_code)
self.runKedifaUpdater()
with self.assertRaises(requests.exceptions.SSLError):
self.fakeHTTPSResult(
result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path')
self.assertEqual(
ca_certificate_pem,
der2pem(result.peercert)
)
self.assertEqualResultJson(result, 'Path', '/test-path')
certificate_file_list = glob.glob(os.path.join(
self.instance_path, '*', 'srv', 'autocert',
'_ssl_ca_crt_garbage.pem'))
......@@ -4666,6 +4675,10 @@ class TestSlaveSlapOSMasterCertificateCompatibility(
'customdomainsslcrtsslkeysslcacrt.example.com')
_, cls.customdomain_ca_certificate_pem = cls.ca.signCSR(csr)
_, cls.sslcacrtgarbage_ca_key_pem, csr, _ = createCSR(
'sslcacrtgarbage.example.com')
_, cls.sslcacrtgarbage_ca_certificate_pem = cls.ca.signCSR(csr)
_, cls.ssl_from_slave_ca_key_pem, csr, _ = createCSR(
'sslfromslave.example.com')
_, cls.ssl_from_slave_ca_certificate_pem = cls.ca.signCSR(csr)
......@@ -4729,8 +4742,8 @@ class TestSlaveSlapOSMasterCertificateCompatibility(
},
'ssl_ca_crt_garbage': {
'url': cls.backend_url,
'ssl_crt': cls.customdomain_ca_certificate_pem,
'ssl_key': cls.customdomain_ca_key_pem,
'ssl_crt': cls.sslcacrtgarbage_ca_certificate_pem,
'ssl_key': cls.sslcacrtgarbage_ca_key_pem,
'ssl_ca_crt': 'some garbage',
},
'ssl_ca_crt_does_not_match': {
......@@ -4923,7 +4936,7 @@ class TestSlaveSlapOSMasterCertificateCompatibility(
reference = 'ssl_from_slave'
parameter_dict = self.parseSlaveParameterDict(reference)
self.assertLogAccessUrlWithPop(parameter_dict)
generate_auth, upload_url = self.assertKedifaKeysWithPop(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict)
hostname = reference.translate(None, '_-')
self.assertEqual(
......@@ -5345,10 +5358,16 @@ class TestSlaveSlapOSMasterCertificateCompatibility(
parameter_dict
)
with self.assertRaises(requests.exceptions.SSLError):
self.fakeHTTPSResult(
result = self.fakeHTTPSResult(
parameter_dict['domain'], parameter_dict['public-ipv4'], 'test-path')
self.assertEqual(
self.sslcacrtgarbage_ca_certificate_pem,
der2pem(result.peercert)
)
self.assertEqualResultJson(result, 'Path', '/test-path')
def test_ssl_ca_crt_does_not_match(self):
parameter_dict = self.parseSlaveParameterDict('ssl_ca_crt_does_not_match')
self.assertLogAccessUrlWithPop(parameter_dict)
......
......@@ -25,7 +25,6 @@ extends =
../component/poppler/buildout.cfg
../component/python-2.7/buildout.cfg
../component/rdiff-backup/buildout.cfg
../component/stunnel/buildout.cfg
../component/xorg/buildout.cfg
versions = versions
......@@ -36,7 +35,6 @@ parts =
[stack-cloudooo-buildout]
parts =
libreoffice-bin
stunnel
dcron
install-plone-recipe-command
......
......@@ -41,7 +41,6 @@ extends =
../../component/scikit-learn/buildout.cfg
../../component/scikit-image/buildout.cfg
../../component/PyWavelets/buildout.cfg
../../component/stunnel/buildout.cfg
../../component/subversion/buildout.cfg
../../component/tesseract/buildout.cfg
../../component/w3m/buildout.cfg
......@@ -81,7 +80,6 @@ parts +=
graphviz
haproxy
jsl
stunnel
w3m
poppler
libpng
......@@ -288,7 +286,6 @@ context =
key sixtunnel_location 6tunnel:location
key template_run_zelenium template-run-zelenium:target
key egg_interpreter eggs:interpreter
key stunnel_location stunnel:location
key template_apache_conf template-apache-backend-conf:target
key template_balancer template-balancer:target
key template_erp5 template-erp5:target
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment