Commit 7819f1e7 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 77cc1483
......@@ -33,6 +33,8 @@ recipe = slapos.recipe.cmmi
shared = true
url = https://ftp.gnu.org/gnu/aspell/aspell-0.60.7.tar.gz
md5sum = 8ef2252609c511cd2bb26f3a3932ef28
configure-options =
--enable-curses="-lncursesw -ltinfow"
environment =
PATH=${patch:location}/bin:${perl:location}/bin:%(PATH)s
CPPFLAGS=-I${ncurses:location}/include
......
......@@ -27,8 +27,6 @@ patches =
${:patch-prefix}-010#d78ad19986c0355a8d67c9a0e82ad4aa
${:patch-prefix}-011#2416386b5ee94e499ccbf71f6fd4aebd
${:patch-prefix}-012#879b2d8a03162faebb7234c4cd57c5cd
configure-options =
--with-curses
environment =
CPPFLAGS=-I${ncurses:location}/include
LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib
......
......@@ -9,8 +9,8 @@ parts =
[coreutils]
recipe = slapos.recipe.cmmi
shared = true
url = https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz
md5sum = 0d79ae8a6124546e3b94171375e5e5d0
url = https://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz
md5sum = 459e9546074db2834eefe5421f250025
configure-options =
--disable-libcap
--without-selinux
......
......@@ -9,6 +9,7 @@ extends =
../xz-utils/buildout.cfg
../zstd/buildout.cfg
../zlib/buildout.cfg
../libidn/buildout.cfg
../nghttp2/buildout.cfg
../ngtcp2/buildout.cfg
../nghttp3/buildout.cfg
......@@ -52,7 +53,7 @@ configure-options =
--without-libssh2
--without-libssh
--without-librtmp
--without-libidn2
--with-libidn2=${libidn2:location}
--with-nghttp2=${nghttp2:location}
--without-ngtcp2
--without-nghttp3
......@@ -72,8 +73,8 @@ WITH =
environment =
PATH=${perl:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:OPENSSL}/lib/pkgconfig:${nghttp2:location}/lib/pkgconfig${:PKG_CONFIG_PATH}
LDFLAGS=-Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${:OPENSSL}/lib -Wl,-rpath=${nghttp2:location}/lib -Wl,-rpath=${zstd:location}/lib ${:LDFLAGS}
PKG_CONFIG_PATH=${:OPENSSL}/lib/pkgconfig:${nghttp2:location}/lib/pkgconfig:${libidn2:location}/lib/pkgconfig${:PKG_CONFIG_PATH}
LDFLAGS=-Wl,-rpath=${libidn2:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${:OPENSSL}/lib -Wl,-rpath=${nghttp2:location}/lib -Wl,-rpath=${zstd:location}/lib ${:LDFLAGS}
[curl-http3]
<= curl
......
......@@ -7,8 +7,8 @@ parts = dash-output
[dash]
recipe = slapos.recipe.cmmi
shared = true
url = http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.tar.gz
md5sum = 027236e48b9202607b1418fee42c473e
url = http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.12.tar.gz
md5sum = 57222b768b84003ea4b801e5d5e0e52b
configure-options =
--disable-static
--disable-fnmatch
......
......@@ -17,6 +17,7 @@ init =
python = self.buildout[options['part']]
for x in 'location', 'executable', 'version':
options[x] = python[x]
options.barrier()
update =
import os
path, os.environ['PYTHON'] = os.path.split(options['executable'])
......@@ -65,7 +66,6 @@ init =
break
else:
options['prefix'] = self.buildout[options['part']]['location']
options.barrier()
update =
if 'part' in options:
import os
......
[buildout]
extends =
../coreutils/buildout.cfg
../xz-utils/buildout.cfg
parts =
findutils-output
[findutils]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.debian.org/debian/pool/main/f/findutils/findutils_4.8.0.orig.tar.xz
md5sum = eeefe2e6380931a77dfa6d9350b43186
url = http://ftp.debian.org/debian/pool/main/f/findutils/findutils_4.9.0.orig.tar.xz
md5sum = 4a4a547e888a944b2f3af31d789a1137
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
[findutils-output]
# Shared binary location to ease migration
......
......@@ -6,6 +6,7 @@ extends =
../libyaml/buildout.cfg
../openssl/buildout.cfg
../patch/buildout.cfg
../zlib/buildout.cfg
[fluent-bit]
recipe = slapos.recipe.cmmi
......@@ -18,9 +19,10 @@ configure-options =
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DFLB_LIBYAML_DIR=${libyaml:location}
-DOPENSSL_ROOT_DIR=${openssl:location}
-DZLIB_LIBRARY=${zlib:location}/lib/libz.so
environment =
PATH=${bison:location}/bin:${flex:location}/bin:%(PATH)s
LDFLAGS=-Wl,-rpath=${libyaml:location}/lib -Wl,-rpath=${openssl:location}/lib
LDFLAGS=-Wl,-rpath=${libyaml:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${zlib:location}/lib
patch-options = -p1
patches =
${:_profile_base_location_}/0001-slapos-don-t-try-to-install-system-startup-script.patch#7bf6e1b53c371db918dcc3778c6b28ed
......
......@@ -7,6 +7,7 @@ extends =
../libpng/buildout.cfg
../pkgconfig/buildout.cfg
../zlib/buildout.cfg
../xz-utils/buildout.cfg
parts =
freetype
......@@ -24,7 +25,7 @@ configure-options =
--without-brotli
--without-librsvg
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CPPFLAGS=-I${bzip2:location}/include -I${zlib:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
......@@ -5,9 +5,9 @@ parts =
[gdbm]
recipe = slapos.recipe.cmmi
shared = true
version = 1.22
version = 1.23
url = http://ftp.gnu.org/gnu/gdbm/gdbm-${:version}.tar.gz
md5sum = 0bbd38f12656e4728e2f7c4708aec014
md5sum = 8551961e36bf8c70b7500d255d3658ec
configure-options =
--disable-static
--enable-libgdbm-compat
......
......@@ -11,8 +11,8 @@ extends =
[gettext]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.lz
md5sum = 65c9a4d0a2d180e3c2afc2b3440382ef
url = https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.3.tar.lz
md5sum = 9f4f1b1432fec4aab29fea004347c9b4
configure-options =
--disable-static
......
......@@ -2,9 +2,11 @@
extends =
../fontconfig/buildout.cfg
../freetype/buildout.cfg
../libidn/buildout.cfg
../libjpeg/buildout.cfg
../libtiff/buildout.cfg
../libxml2/buildout.cfg
../patch/buildout.cfg
../pkgconfig/buildout.cfg
../tesseract/buildout.cfg
../xz-utils/buildout.cfg
......@@ -16,24 +18,24 @@ recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10020/ghostscript-10.02.0.tar.xz
md5sum = 80c1cdfada72f2eb5987dc0d590ea5b2
pkg_config_depends = ${libtiff:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}
pkg_config_depends = ${libidn:location}/lib/pkgconfig:${libtiff:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}
# XXX --with-tessdata work arounds a slaprunner bug of having softwares installed in a path containing //
configure-options =
--disable-cups
--disable-threadsafe
--with-system-libtiff
--without-libidn
--without-so
--without-x
--with-drivers=FILES
--with-tessdata=$(python -c 'print("""${:tessdata-location}""".replace("//", "/"))')
environment =
PATH=${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${patch:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CFLAGS=-I${libjpeg:location}/include
LDFLAGS=-Wl,-rpath=${fontconfig:location}/lib -Wl,-rpath=${freetype:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib
LD_LIBRARY_PATH=${fontconfig:location}/lib:${freetype:location}/lib:${libtiff:location}/lib:${libxml2:location}/lib
LDFLAGS=-Wl,-rpath=${libidn:location}/lib -Wl,-rpath=${fontconfig:location}/lib -Wl,-rpath=${freetype:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib
LD_LIBRARY_PATH=${libidn:location}/lib:${fontconfig:location}/lib:${freetype:location}/lib:${libtiff:location}/lib:${libxml2:location}/lib
patches =
https://github.com/ArtifexSoftware/ghostpdl/commit/f8a4030a319705b9402b386a0ada8dd00b8181d3.patch#7b6dcda1cf19e639994921713fb41277
patch-options = -p1
# configure gives priority to local jpeg library and refuse mixing local libjpeg with "system" libtiff.
# We remove this local jpeg library source folder so that configure picks up the slapos versions of these libraries.
pre-configure = rm -r jpeg
......
......@@ -9,9 +9,9 @@ parts =
[gmp]
recipe = slapos.recipe.cmmi
shared = true
version = 6.2.1
version = 6.3.0
url = https://gmplib.org/download/gmp/gmp-${:version}.tar.xz
md5sum = 0b82665c4a92fd2ade7440c13fcaa42b
md5sum = 956dc04e864001a9c22429f761f2c283
configure-options =
--disable-assembly
--host=none-pc-linux-gnu
......
......@@ -59,7 +59,7 @@ configure-options =
--with-freetype
--with-icu
environment =
PATH=${glib:location}/bin:${freetype:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:${glib:location}/bin:${freetype:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
LDFLAGS=-Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${icu4c:location}/lib -Wl,-rpath=${glib:location}/lib
......@@ -71,6 +71,8 @@ md5sum = 1b767c259c3cd8e0c8496970f63c22dc
configure-options =
--enable-shared
--disable-static
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
[pango]
recipe = slapos.recipe.cmmi
......
......@@ -7,7 +7,7 @@ parts =
[gzip]
recipe = slapos.recipe.cmmi
shared = true
url = https://ftp.gnu.org/pub/gnu/gzip/gzip-1.12.tar.xz
md5sum = 9608e4ac5f061b2a6479dc44e917a5db
url = https://ftp.gnu.org/pub/gnu/gzip/gzip-1.13.tar.xz
md5sum = d5c9fc9441288817a4a0be2da0249e29
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
[buildout]
extends =
../bison/buildout.cfg
../m4/buildout.cfg
../openssl/buildout.cfg
parts =
kerberos
......@@ -18,4 +20,6 @@ configure-options =
--without-tcl
--without-keyutils
environment =
PATH=${bison:location}/bin:%(PATH)s
PATH=${m4:location}/bin:${bison:location}/bin:%(PATH)s
CPPFLAGS=-I${openssl:location}/include
LDFLAGS=-Wl,-rpath=${openssl:location}/lib -L${openssl:location}/lib
......@@ -7,8 +7,8 @@ parts =
[libexpat]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/libexpat/libexpat/releases/download/R_2_2_10/expat-2.2.10.tar.lz
md5sum = 074cab91a2f27dc8cd6c282effaa8ffd
url = https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.lz
md5sum = 4add8675872d4b923d9b7871dc0f24d3
configure-options =
--disable-static
--without-xmlwf
......
......@@ -10,8 +10,8 @@ parts =
[libfastjson]
recipe = slapos.recipe.cmmi
url = https://github.com/rsyslog/libfastjson/archive/v0.99.9.tar.gz
md5sum = 3c45e6efc838cd364588d6d1822c4ea8
url = https://github.com/rsyslog/libfastjson/archive/refs/tags/v1.2304.0.tar.gz
md5sum = 87f7752570bb8f878faafa5367df9b15
shared = true
pre-configure =
autoreconf -fvi -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal -I ${automake:location}/share/aclocal
......
# GNU Libidn is a fully documented implementation of the Stringprep,
# Punycode and IDNA 2003 specifications
[libidn]
recipe = slapos.recipe.cmmi
shared = true
url = https://ftp.gnu.org/gnu/libidn/libidn-1.41.tar.gz
md5sum = 2cbff2f75f904328ac507af576b07197
[libidn2]
recipe = slapos.recipe.cmmi
shared = true
url = https://ftp.gnu.org/gnu/libidn/libidn2-2.3.4.tar.gz
md5sum = a12109804fc9c5d7fb31f068c66655b8
......@@ -7,8 +7,8 @@ parts = libtool
[libtool]
recipe = slapos.recipe.cmmi
shared = true
md5sum = 1bfb9b923f2c1339b4d2ce1807064aa5
url = http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz
md5sum = 2fc0b6ddcd66a89ed6e45db28fa44232
url = https://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.xz
configure-options =
--disable-static
environment =
......
......@@ -5,6 +5,7 @@
extends =
../perl/buildout.cfg
../zlib/buildout.cfg
../xz-utils/buildout.cfg
parts =
libxml2
......@@ -20,5 +21,5 @@ configure-options =
--without-lzma
--with-zlib=${zlib:location}
environment =
PATH=${perl:location}/bin:%(PATH)s
PATH=${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
LDFLAGS=-Wl,-rpath=${zlib:location}/lib
......@@ -2,6 +2,7 @@
extends =
../libxml2/buildout.cfg
../zlib/buildout.cfg
../xz-utils/buildout.cfg
parts =
libxslt
......@@ -22,3 +23,4 @@ configure-options =
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
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.18.1/logrotate-3.18.1.tar.xz
md5sum = 07d5aba26c350f9ab5730c25a7277751
url = https://github.com/logrotate/logrotate/releases/download/3.21.0/logrotate-3.21.0.tar.xz
md5sum = 6c15f45efc3475a576c4f7e6cc481b2c
# BBB this is only for backward-compatibility.
configure-options =
--with-selinux=no
......
......@@ -8,8 +8,8 @@ parts =
[lua]
recipe = slapos.recipe.cmmi
shared = true
url = http://www.lua.org/ftp/lua-5.4.3.tar.gz
md5sum = ef63ed2ecfb713646a7fcc583cf5f352
url = http://www.lua.org/ftp/lua-5.4.6.tar.gz
md5sum = 25a429319dff20dfbfb9956c2b5be911
configure-command = true
make-options =
"$(uname -sr 2>/dev/null|grep -Eq '^Linux' && echo linux || echo posix)"
......
......@@ -6,6 +6,6 @@ parts =
[lz4]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/lz4/lz4/archive/v1.9.3.tar.gz
md5sum = 3a1ab1684e14fc1afc66228ce61b2db3
url = https://github.com/lz4/lz4/releases/download/v1.9.4/lz4-1.9.4.tar.gz
md5sum = e9286adb64040071c5e23498bf753261
configure-command = true
......@@ -5,13 +5,16 @@ parts =
[ncurses]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
md5sum = e812da327b1c2214ac1aed440ea3ae8d
url = http://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz
md5sum = 5a62487b5d4ac6b132fe2bf9f8fad29b
configure-options =
--prefix=%(location)s
--enable-pc-files
--disable-termcap
--with-pkg-config-libdir=%(location)s/lib/pkgconfig
--with-shared
--with-termlib
--with-versioned-syms
--without-ada
--without-manpages
--without-tests
......@@ -28,6 +31,7 @@ post-install =
mv ncursesw/* .
rm -r ncurses ncursesw
ln -s . ncursesw
echo 'GROUP( libtinfo.so )' > %(location)s/lib/libtermcap.so
# pass dummy LDCONFIG to skip needless calling of ldconfig by non-root user
environment =
LDCONFIG=/bin/echo
......
[buildout]
extends =
../defaults.cfg
../automake/buildout.cfg
../libtool/buildout.cfg
../pkgconfig/buildout.cfg
......@@ -10,11 +11,12 @@ parts =
[nghttp2]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/nghttp2/nghttp2/archive/v1.40.0.tar.gz
md5sum = ef3c6983e0de2f16b523460c812fe598
url = https://github.com/nghttp2/nghttp2/releases/download/v1.57.0/nghttp2-1.57.0.tar.xz
md5sum = 1525d4966622500f119017dc057c76c8
pre-configure =
autoreconf -fisv -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal
automake
autoconf
environment =
PATH=${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:${m4:location}/bin:%(PATH)s
PATH=${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:${m4:location}/bin:${xz-utils:location}/bin:%(PATH)s
PYTHON=${python3:executable}
......@@ -7,8 +7,8 @@ extends =
[nghttp3]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/ngtcp2/nghttp3/archive/refs/tags/v0.9.0.tar.gz
md5sum = e0eb54109d0d511268b9e2cf6aec4044
url = https://github.com/ngtcp2/nghttp3/archive/refs/tags/v0.15.0.tar.gz
md5sum = b9af99d8db0d48f91fc075dcbd837019
pre-configure =
autoreconf -fisv -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal
automake
......
......@@ -11,8 +11,8 @@ parts = nginx-output
[nginx-common]
recipe = slapos.recipe.cmmi
shared = true
url = https://nginx.org/download/nginx-1.22.1.tar.gz
md5sum = 8296d957561aeed0261d9be4d3decaec
url = https://nginx.org/download/nginx-1.25.2.tar.gz
md5sum = e0fc592d9721b7fccc2c959b45008ade
[nginx]
<= nginx-common
......@@ -61,8 +61,8 @@ mime = ${nginx:location}/conf/mime.types
[nginx-push-stream-module]
recipe = slapos.recipe.build:download-unpacked
shared = true
url = https://github.com/wandenberg/nginx-push-stream-module/archive/0.5.5.tar.gz
md5sum = 9bb5237a93c957130aaf7033ed3c0989
url = https://github.com/wandenberg/nginx-push-stream-module/archive/8c02220d484d7848bc8e3a6d9b1c616987e86f66.tar.gz
md5sum = c8f18a4a7f7c871291c823aace50e1f9
[nginx-push-stream]
<= nginx-common
......
......@@ -33,7 +33,6 @@ npm_config_tarball = ${nodejs-headers:target}
[nodejs-16.19.0]
<= nodejs-base
openssl_location = ${openssl:location}
version = v16.19.0
md5sum = e72b698681aff62bf17146ad70dc9425
patches =
......@@ -52,7 +51,6 @@ md5sum = e7bfbf135ae54d1dcca63bf17be84818
[nodejs-18.18.0]
<= nodejs-base
openssl_location = ${openssl:location}
version = v18.18.0
md5sum = a1ce8df7e6b9df9f4ba3ff1d4e2173d2
......@@ -64,51 +62,55 @@ md5sum = c5ab3e98977dfd639d830625d79eff52
[nodejs-14.16.0]
<= nodejs-base
openssl_location = ${openssl:location}
version = v14.16.0
md5sum = 7dc3666f407bf4e12a01ce1be2883d31
[nodejs-12.18.3]
<= nodejs-base
openssl_location = ${openssl:location}
version = v12.18.3
md5sum = 28bf6a4d98b238403fa58a0805f4a979
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
configure-command = ./configure
[nodejs-8.9.4]
<= nodejs-base
version = v8.9.4
md5sum = 4ddc1daff327d7e6f63da57fdfc24f55
openssl-location = ${openssl-1.0:location}
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
configure-command = ./configure
[nodejs-8.12.0]
<= nodejs-base
version = v8.12.0
md5sum = 5690333b77964edf81945fc724f6ea85
openssl-location = ${openssl-1.0:location}
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
configure-command = ./configure
[nodejs-base]
# Server-side Javascript.
version =
md5sum =
openssl_location = ${openssl-1.0:location}
openssl-location = ${openssl:location}
recipe = slapos.recipe.cmmi
shared = true
url = https://nodejs.org/dist/${:version}/node-${:version}.tar.gz
configure-command = python3 configure
configure-options =
--prefix=%(location)s
--shared-openssl
--shared-openssl-includes=${:openssl_location}/include
--shared-openssl-libpath=${:openssl_location}/lib
PATH = ${pkgconfig:location}/bin:%(PATH)s
--shared-openssl-includes=${:openssl-location}/include
--shared-openssl-libpath=${:openssl-location}/lib
PATH = ${python3:location}/bin:${pkgconfig:location}/bin:%(PATH)s
environment =
HOME=@@LOCATION@@
PATH=${:PATH}
PKG_CONFIG_PATH=${:openssl_location}/lib/pkgconfig/
PKG_CONFIG_PATH=${:openssl-location}/lib/pkgconfig/
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-Wl,-rpath=${:openssl_location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LD_LIBRARY_PATH=${:openssl_location}/lib
LDFLAGS=-Wl,-rpath=${:openssl-location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LD_LIBRARY_PATH=${:openssl-location}/lib
[nodejs-headers-base]
recipe = slapos.recipe.build:download
......
......@@ -19,6 +19,10 @@ md5sum = c2e9938f082b027110fba538de76684c
patch-options = -p1
patches =
${:_profile_base_location_}/ipv6_bugfix.patch#355bec02adee4ea73ff5a56ba6971ad2
pre-configure =
# remove old FindPython3 which does not know about python > 3.8 to
# use FindPython3 bundled with slapos' cmake
rm tools/cmake/FindPython3.cmake tools/cmake/FindPython/Support.cmake
configure-command =
${cmake:location}/bin/cmake
configure-options =
......@@ -30,5 +34,5 @@ configure-options =
-DUA_NAMESPACE_ZERO=REDUCED
post-install =
cp src/pubsub/*.h deps/open62541_queue.h @@LOCATION@@/include
environement =
environment =
PATH=${python3:location}/bin:${patch:location}/bin:%(PATH)s
......@@ -16,9 +16,9 @@ parts =
[openssh]
recipe = slapos.recipe.cmmi
shared = true
md5sum = 8ce5f390958baeeab635aafd0ef41453
md5sum = 3d29a7394816deeb57186899d7f7662c
location = @@LOCATION@@
url = https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
url = https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz
patch-binary = ${patch:location}/bin/patch
patch-options = -p1
patches =
......
......@@ -6,6 +6,7 @@ extends =
../libffi/buildout.cfg
../libtasn1/buildout.cfg
../pkgconfig/buildout.cfg
../xz-utils/buildout.cfg
[p11-kit]
recipe = slapos.recipe.cmmi
......@@ -18,5 +19,5 @@ configure-options =
--disable-doc-html
--without-trust-paths
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libffi:location}/lib/pkgconfig:${libtasn1:location}/lib/pkgconfig
......@@ -5,7 +5,7 @@ parts =
[popt]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18.tar.gz
md5sum = 450f2f636e6a3aa527de803d0ae76c5a
url = http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.19.tar.gz
md5sum = eaa2135fddb6eb03f2c87ee1823e5a78
configure-options =
--disable-static
......@@ -30,6 +30,8 @@ exe = ${buildout:bin-directory}/gpython
# python-interpreter provides python interpreter with all specified eggs.
# eggs default to pygolang, but can be overwritten or changed in inherited section.
# if eggs are changes, they must still have pygolang.
#
# ${python-interpreter:exe} is where buildout installs the interpreter.
[python-interpreter]
recipe = zc.recipe.egg:scripts
eggs = ${pygolang:egg}
......@@ -47,8 +49,7 @@ initialization =
# NOTE with scripts=ø interpreter is not handled, so we use `scripts=python` as
# a workaround.
scripts = ${:interpreter}
# this is where buildout installs the interpreter
exe = ${buildout:bin-directory}/${:interpreter}
exe = ${buildout:bin-directory}/${:interpreter}
# pyprog provides macro recipe to build python programs.
......@@ -104,7 +105,6 @@ init =
<= python-interpreter
eggs += %(eggs)s
interpreter = $${:_buildout_section_name_}
exe = $${buildout:bin-directory}/$${:interpreter}
""" % locals())
......
......@@ -45,7 +45,6 @@ patches =
configure-options =
--enable-multibyte
--disable-static
--with-curses
environment =
CPPFLAGS=-I${ncurses:location}/include
LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib
......
......@@ -26,4 +26,4 @@ location = ${:output}
<= go-git-package
go.importpath = github.com/restic/restic
repository = https://github.com/restic/restic
revision = v0.14.0-0-g1bc87e17
revision = v0.16.1-0-gbaca3f630
......@@ -10,8 +10,8 @@ extends =
[rsyslogd]
recipe = slapos.recipe.cmmi
url = https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2110.0.tar.gz
md5sum = 2d2b9d4a70a6e2fd4a7e806a5782c56b
url = https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2310.0.tar.gz
md5sum = e492884a5f64d2a069684fcb21171114
shared = true
configure-options =
--disable-klog
......
......@@ -44,23 +44,23 @@ configure-options +=
make-options +=
DESTDIR=${buildout:destdir}
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
[intltool]
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
[autoconf]
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
[automake]
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
[firewalld]
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
[dbus]
......@@ -97,7 +97,7 @@ make-options +=
INSTALL_PREFIX=${buildout:destdir}
DESTDIR=${buildout:destdir}
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
[gobject-introspection]
pre-configure =
......@@ -105,7 +105,7 @@ pre-configure =
configure-options +=
--enable-shared
environment +=
PERL5LIB=${perl:location}/lib/5.28.1/
PERL5LIB=${perl:location}/lib/5.38.0/
post-install =
sed -i 's#!${python:location}/bin/python${python:version}#!/opt/slapos/parts/python${python:version}/bin/python${python:version}#' ${python:location}/bin/python${python:version}-config
......@@ -121,14 +121,14 @@ environment +=
[perl-CPAN-package]
perl-PERL5LIB=${perl:location}/lib/5.28.1/
perl-PERL5LIB=${perl:location}/lib/5.38.0/
pre-configure =
sed -i "s#'/opt/slapos/parts/perl#'${perl:location}#" ${perl:location}/lib/5.28.1/*-linux-thread-multi/Config.pm
sed -i "s#'/opt/slapos/parts/site_perl#'${buildout:destdir}/parts/site_perl#" ${perl:location}/lib/5.28.1/*-linux-thread-multi/Config.pm
sed -i "s#'/opt/slapos/parts/perl#'${perl:location}#" ${perl:location}/lib/5.38.0/*-linux-thread-multi/Config.pm
sed -i "s#'/opt/slapos/parts/site_perl#'${buildout:destdir}/parts/site_perl#" ${perl:location}/lib/5.38.0/*-linux-thread-multi/Config.pm
post-install =
sed -i "s#'${perl:location}#'/opt/slapos/parts/perl#" ${perl:location}/lib/5.28.1/*-linux-thread-multi/Config.pm
sed -i "s#'${buildout:destdir}/parts/site_perl#'/opt/slapos/parts/site_perl#" ${perl:location}/lib/5.28.1/*-linux-thread-multi/Config.pm
sed -i "s#'${perl:location}#'/opt/slapos/parts/perl#" ${perl:location}/lib/5.38.0/*-linux-thread-multi/Config.pm
sed -i "s#'${buildout:destdir}/parts/site_perl#'/opt/slapos/parts/site_perl#" ${perl:location}/lib/5.38.0/*-linux-thread-multi/Config.pm
[perl]
configure-command =
......
[buildout]
extends =
../readline/buildout.cfg
../tcl/buildout.cfg
../zlib/buildout.cfg
parts =
sqlite3
......@@ -8,14 +9,17 @@ parts =
[sqlite3]
recipe = slapos.recipe.cmmi
shared = true
url = https://sqlite.org/2022/sqlite-autoconf-3370200.tar.gz
md5sum = 683cc5312ee74e71079c14d24b7a6d27
pre-configure = sed -i 's/-ltinfo//g;s/-ltermcap//g;s/ termcap//;s/ curses//' configure
# Some options need the canonical source code (i.e. not as an amalgamation).
url = https://deb.debian.org/debian/pool/main/s/sqlite3/sqlite3_3.40.1.orig.tar.xz
md5sum = 79f2507907721b770cbec98195cecece
configure-options =
--disable-static
--disable-tcl
--enable-readline
# Increase MAX_VARIABLE_NUMBER like many os. For example:
# https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sqlite
# NEO needs SQLITE_ENABLE_UPDATE_DELETE_LIMIT to drop partitions.
environment =
CPPFLAGS=-I${readline:location}/include -I${ncurses:location}/include -I${zlib:location}/include -DSQLITE_MAX_VARIABLE_NUMBER=250000
CPPFLAGS=-I${readline:location}/include -I${ncurses:location}/include -I${zlib:location}/include -DSQLITE_MAX_VARIABLE_NUMBER=250000 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
LDFLAGS=-L@@LOCATION@@ -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
PATH=${tcl:location}/bin:%(PATH)s
......@@ -5,13 +5,14 @@ parts = tcl
[tcl]
recipe = slapos.recipe.cmmi
url = http://prdownloads.sourceforge.net/tcl/tcl8.6.11-src.tar.gz
md5sum = 8a4c004f48984a03a7747e9ba06e4da4
url = https://prdownloads.sourceforge.net/tcl/tcl8.6.13-src.tar.gz
md5sum = 0e4358aade2f5db8a8b6f2f6d9481ec2
shared = true
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
configure-command = ./unix/configure
pre-configure = rm -r pkgs/*/
configure-command = unix/configure
configure-options =
--prefix=@@LOCATION@@
--prefix=%(location)s
--with-encoding=utf-8
......@@ -24,8 +24,8 @@ min_version = 8
[trafficserver]
recipe = slapos.recipe.cmmi
url = https://dlcdn.apache.org/trafficserver/trafficserver-9.2.2.tar.bz2
md5sum = 994247ed0f50e6dfcfb8d7200dcad6ea
url = https://dlcdn.apache.org/trafficserver/trafficserver-9.2.3.tar.bz2
md5sum = 5e37ec924667052d655de2ebab98ad3f
shared = true
patch-options = -p1
configure-options =
......
......@@ -7,8 +7,8 @@ extends =
[util-linux]
recipe = slapos.recipe.cmmi
shared = true
url = https://www.kernel.org/pub/linux/utils/util-linux/v2.37/util-linux-2.37.2.tar.xz
md5sum = d659bf7cd417d93dc609872f6334b019
url = https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.2.tar.xz
md5sum = 2feb3e7c306f336a3d22a182dfffc942
configure-options =
--disable-static
--enable-libuuid
......@@ -67,4 +67,4 @@ configure-options =
--without-audit
environment =
PATH=${perl:location}/bin:%(PATH)s
PATH=${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
......@@ -21,7 +21,6 @@ url = https://salsa.debian.org/debian/w3m/-/archive/${:version}/w3m-${:version}.
configure-options =
--with-gc=${garbage-collector:location}
--with-ssl=${openssl:location}
--with-termlib=ncurses
--disable-nls
--disable-image
--disable-dict
......
......@@ -379,7 +379,7 @@ configure-options =
--with-xkb-config-root=${:xkeyboard-config-location}
environment =
PKG_CONFIG_PATH=${libxkbfile:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${xorgproto:location}/share/pkgconfig:${libxcb:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xorg-util-macros:location}/share/pkgconfig:${libXau:location}/lib/pkgconfig
PATH=${pkgconfig:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:${pkgconfig:location}/bin:%(PATH)s
LDFLAGS=-L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -L${libxkbfile:location}/lib -Wl,-rpath=${libxkbfile:location}/lib
[renderext]
......@@ -579,7 +579,7 @@ recipe = slapos.recipe.cmmi
url = https://www.x.org/releases/individual/app/xdpyinfo-1.3.3.tar.xz
md5sum = f67116760888f2e06486ee3d179875d2
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${xorg-util-macros:location}/share/pkgconfig:${libX11:location}/lib/pkgconfig:${xextproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libXext:location}/lib/pkgconfig:${libXtst:location}/lib/pkgconfig:${recordproto:location}/lib/pkgconfig:${xorgproto:location}/share/pkgconfig:${libXi:location}/lib/pkgconfig:${libXi:pkg_config_depends}
CPPFLAGS=-I${libXt:location}/include
LDFLAGS=-L${libX11:location}/lib -Wl,-rpath=${libX11:location}/lib -Wl,-rpath=${libXi:location}/lib -Wl,-rpath=${libXtst:location}/lib -Wl,-rpath=${libXext:location}/lib -Wl,-rpath=${libXau:location}/lib -Wl,-rpath=${libXdmcp:location}/lib -Wl,-rpath=${libxcb:location}/lib
......@@ -608,7 +608,7 @@ configure-options =
environment =
PKG_CONFIG_PATH=${pixman:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig:${xorg-util-macros:location}/share/pkgconfig:${xorgproto:location}/share/pkgconfig:${damageproto:location}/lib/pkgconfig:${xcmiscproto:location}/lib/pkgconfig:${xtrans:location}/share/pkgconfig:${bigreqsproto:location}/lib/pkgconfig:${xorgproto:pkg_config_depends}:${xorgproto:location}/share/pkgconfig:${renderproto:location}/lib/pkgconfig:${presentproto:location}/lib/pkgconfig:${xextproto:location}/lib/pkgconfig:${inputproto:location}/lib/pkgconfig:${fontsproto:location}/lib/pkgconfig:${videoproto:location}/lib/pkgconfig:${recordproto:location}/lib/pkgconfig:${resourceproto:location}/lib/pkgconfig:${xineramaproto:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig:${libxkbfile:location}/lib/pkgconfig:${libXfont:location}/lib/pkgconfig:${libXfont2:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libxcb:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${libfontenc:location}/lib/pkgconfig:${freetype:pkg_config_depends}:${freetype:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${libxcvt:location}/lib/pkgconfig
CPPFLAGS=-I${bzip2:location}/include -I${libgcrypt:location}/include -I${libgpg-error:location}/include -I${zlib:location}/include
PATH=${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${libgcrypt:location}/lib -Wl,-rpath=${libgcrypt:location}/lib -L${libgpg-error:location}/lib -Wl,-rpath=${libgpg-error:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
[libXi]
......
......@@ -5,7 +5,7 @@ parts =
[xz-utils]
recipe = slapos.recipe.cmmi
shared = true
url = https://tukaani.org/xz/xz-5.2.5.tar.bz2
md5sum = 33ab3ef79aa1146b83b778210e7b0a54
url = https://tukaani.org/xz/xz-5.4.4.tar.bz2
md5sum = fbb849a27e266964aefe26bad508144f
configure-options =
--disable-static
......@@ -5,7 +5,7 @@ parts =
[zlib]
recipe = slapos.recipe.cmmi
shared = true
url = https://zlib.net/fossils/zlib-1.2.12.tar.gz
md5sum = 5fc414a9726be31427b440b434d05f78
url = https://zlib.net/fossils/zlib-1.3.tar.gz
md5sum = 60373b133d630f74f4a1f94c1185a53f
environment =
CFLAGS=-fPIC
......@@ -10,8 +10,8 @@ parts =
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/facebook/zstd/releases/download/v${:version}/zstd-${:version}.tar.gz
version = 1.4.9
md5sum = eb718b8aae0302cabe20f968e500534d
version = 1.5.5
md5sum = 63251602329a106220e0a5ad26ba656f
location = @@LOCATION@@
configure-command = :
environment =
......
......@@ -18,7 +18,7 @@ md5sum = 458870b70c33a1621b68961ae2372ad5
[template-nginx-configuration]
filename = template-nginx.cfg.in
md5sum = fc4f258e3ae56e0c9596484d736ccfed
md5sum = 3edea04f8e7c79f3363b7a849ae6c7eb
[template-dcron-service]
filename = template-dcron-service.sh.in
......
......@@ -51,9 +51,8 @@ http {
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen [$${nginx-configuration:ip}]:$${nginx-configuration:port};
listen [$${nginx-configuration:ip}]:$${nginx-configuration:port} ssl;
ssl on;
ssl_certificate $${nginx-configuration:ssl_crt};
ssl_certificate_key $${nginx-configuration:ssl_key};
......
......@@ -113,7 +113,7 @@ url = ${:_profile_base_location_}/${:filename}
recipe = slapos.recipe.template:jinja2
output = ${buildout:directory}/instance.cfg
url = ${:_profile_base_location_}/${:filename}
python-bin = ${buildout:bin-directory}/${python-interpreter:interpreter}
python-bin = ${python-interpreter:exe}
type = beremiz
context =
key autoconf_location autoconf:location
......
......@@ -78,6 +78,7 @@ eggs = click
opcua
${beremiz:egg}
${Twisted:egg}
sslpsk
[instance-profile]
recipe = slapos.recipe.template:jinja2
......@@ -127,3 +128,4 @@ opcua = 0.98.13
trollius = 2.2.1
futures = 3.3.0
cycler = 0.10.0
sslpsk = 1.0.0
......@@ -103,6 +103,10 @@
"null"
]
},
"nofile": {
"description": "Set open file descriptors soft limit to hard limit",
"type": "boolean"
},
"family-override": {
"description": "Family-wide options, possibly overriding global options",
"default": {},
......
......@@ -32,6 +32,7 @@ import glob
import http.client
import json
import os
import resource
import shutil
import socket
import sqlite3
......@@ -1100,3 +1101,36 @@ class TestNEO(ZopeSkinsMixin, CrontabMixin, ERP5InstanceTestCase):
'var',
'log',
f))
class TestNofileParameter(ERP5InstanceTestCase, TestPublishedURLIsReachableMixin):
"""Test setting the nofile parameter sets the open fd soft limit to the hard limit.
"""
__partition_reference__ = 'nofile'
@classmethod
def getInstanceParameterDict(cls):
return {'_': json.dumps({'nofile': True})}
def test_nofile(self):
with self.slap.instance_supervisor_rpc as supervisor:
all_process_info = supervisor.getAllProcessInfo()
_, current_hard_limit = resource.getrlimit(resource.RLIMIT_NOFILE)
process_info, = (p for p in all_process_info if p['name'].startswith('zope-'))
self.assertEqual(
resource.prlimit(process_info['pid'], resource.RLIMIT_NOFILE),
(current_hard_limit, current_hard_limit))
class TestUnsetNofileParameter(ERP5InstanceTestCase, TestPublishedURLIsReachableMixin):
"""Test not setting the nofile parameter doesn't change the soft limit of erp5
"""
__partition_reference__ = 'unsetnofile'
def test_unset_nofile(self):
with self.slap.instance_supervisor_rpc as supervisor:
all_process_info = supervisor.getAllProcessInfo()
limit = resource.getrlimit(resource.RLIMIT_NOFILE)
process_info, = (p for p in all_process_info if p['name'].startswith('zope-'))
self.assertEqual(
resource.prlimit(process_info['pid'], resource.RLIMIT_NOFILE), limit)
......@@ -50,7 +50,7 @@ md5sum = d56e2cfab274cbbbe5b387f2f6e417df
[template-backend-haproxy-configuration]
_update_hash_filename_ = templates/backend-haproxy.cfg.in
md5sum = 6457064905f818f21e3733eb4278a580
md5sum = 629f4cc34dd7512eb61f10eac4e62d7a
[template-empty]
_update_hash_filename_ = templates/empty.in
......
......@@ -128,7 +128,7 @@ backend {{ slave_instance['slave_reference'] }}-{{ scheme }}
{{ active_check_option }}
{%- endfor %}
{%- if path %}
http-request set-path {{ path }}%[path]
http-request set-path {{ path }}%[path,regsub('^/$','')]
{%- endif %}
{%- endif %}
{%- endif %}
......@@ -175,7 +175,7 @@ backend {{ slave_instance['slave_reference'] }}-{{ scheme }}-failover
timeout server {{ slave_instance['request-timeout'] }}s
retries {{ slave_instance['backend-connect-retries'] }}
{%- if path %}
http-request set-path {{ path }}%[path]
http-request set-path {{ path }}%[path,regsub('^/$','')]
{%- endif %}
{%- endif %}
{%- endif %}
......
......@@ -1654,6 +1654,12 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin, AtsMixin):
# authenticating to http backend shall be no-op
'authenticate-to-backend': True,
},
'url-trailing-slash-absent': {
'url': cls.backend_url + 'index.html',
},
'url-trailing-slash-present': {
'url': cls.backend_url + 'index.html/',
},
'url-netloc-list': {
'url': cls.backend_url,
'url-netloc-list': '%(ip)s:%(port_a)s %(ip)s:%(port_b)s' % {
......@@ -2123,9 +2129,9 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin, AtsMixin):
'monitor-base-url': 'https://[%s]:8401' % self.master_ipv6,
'backend-client-caucase-url': 'http://[%s]:8990' % self.master_ipv6,
'domain': 'example.com',
'accepted-slave-amount': '62',
'accepted-slave-amount': '64',
'rejected-slave-amount': '0',
'slave-amount': '62',
'slave-amount': '64',
'rejected-slave-dict': {
},
'warning-slave-dict': {
......@@ -2462,6 +2468,30 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin, AtsMixin):
j['Incoming Headers']['x-forwarded-for']
)
def test_url_trailing_slash_absent(self):
parameter_dict = self.assertSlaveBase('url-trailing-slash-absent')
self.assertEqual(
fakeHTTPSResult(parameter_dict['domain'], '').json()['Path'],
'/index.html')
self.assertEqual(
fakeHTTPSResult(parameter_dict['domain'], 'path').json()['Path'],
'/index.html/path')
self.assertEqual(
fakeHTTPSResult(parameter_dict['domain'], 'path/').json()['Path'],
'/index.html/path/')
def test_url_trailing_slash_present(self):
parameter_dict = self.assertSlaveBase('url-trailing-slash-present')
self.assertEqual(
fakeHTTPSResult(parameter_dict['domain'], '').json()['Path'],
'/index.html')
self.assertEqual(
fakeHTTPSResult(parameter_dict['domain'], 'path').json()['Path'],
'/index.html/path')
self.assertEqual(
fakeHTTPSResult(parameter_dict['domain'], 'path/').json()['Path'],
'/index.html/path/')
def test_url_netloc_list(self):
parameter_dict = self.assertSlaveBase('url-netloc-list')
result = fakeHTTPSResult(parameter_dict['domain'], 'path')
......
......@@ -182,6 +182,12 @@ T-2/var/log/httpd/_type-zope_frontend_log
T-2/var/log/httpd/_url-netloc-list_access_log
T-2/var/log/httpd/_url-netloc-list_backend_log
T-2/var/log/httpd/_url-netloc-list_frontend_log
T-2/var/log/httpd/_url-trailing-slash-absent_access_log
T-2/var/log/httpd/_url-trailing-slash-absent_backend_log
T-2/var/log/httpd/_url-trailing-slash-absent_frontend_log
T-2/var/log/httpd/_url-trailing-slash-present_access_log
T-2/var/log/httpd/_url-trailing-slash-present_backend_log
T-2/var/log/httpd/_url-trailing-slash-present_frontend_log
T-2/var/log/httpd/_url_https-url_access_log
T-2/var/log/httpd/_url_https-url_backend_log
T-2/var/log/httpd/_url_https-url_frontend_log
......
......@@ -182,6 +182,12 @@ T-2/var/log/httpd/_type-zope_frontend_log
T-2/var/log/httpd/_url-netloc-list_access_log
T-2/var/log/httpd/_url-netloc-list_backend_log
T-2/var/log/httpd/_url-netloc-list_frontend_log
T-2/var/log/httpd/_url-trailing-slash-absent_access_log
T-2/var/log/httpd/_url-trailing-slash-absent_backend_log
T-2/var/log/httpd/_url-trailing-slash-absent_frontend_log
T-2/var/log/httpd/_url-trailing-slash-present_access_log
T-2/var/log/httpd/_url-trailing-slash-present_backend_log
T-2/var/log/httpd/_url-trailing-slash-present_frontend_log
T-2/var/log/httpd/_url_https-url_access_log
T-2/var/log/httpd/_url_https-url_backend_log
T-2/var/log/httpd/_url_https-url_frontend_log
......
......@@ -182,6 +182,12 @@ T-2/var/log/httpd/_type-zope_frontend_log
T-2/var/log/httpd/_url-netloc-list_access_log
T-2/var/log/httpd/_url-netloc-list_backend_log
T-2/var/log/httpd/_url-netloc-list_frontend_log
T-2/var/log/httpd/_url-trailing-slash-absent_access_log
T-2/var/log/httpd/_url-trailing-slash-absent_backend_log
T-2/var/log/httpd/_url-trailing-slash-absent_frontend_log
T-2/var/log/httpd/_url-trailing-slash-present_access_log
T-2/var/log/httpd/_url-trailing-slash-present_backend_log
T-2/var/log/httpd/_url-trailing-slash-present_frontend_log
T-2/var/log/httpd/_url_https-url_access_log
T-2/var/log/httpd/_url_https-url_backend_log
T-2/var/log/httpd/_url_https-url_frontend_log
......
......@@ -14,7 +14,7 @@
# not need these here).
[template-erp5]
filename = instance-erp5.cfg.in
md5sum = 2491969d49f8bf9b172e89b1c0e9d98e
md5sum = 577f9f137e81cd6d59db834f065884ff
[template-balancer]
filename = instance-balancer.cfg.in
......
......@@ -303,6 +303,7 @@ config-longrequest-logger-interval = {{ dumps(zope_parameter_dict.get('longreque
config-longrequest-logger-timeout = {{ dumps(zope_parameter_dict.get('longrequest-logger-timeout', 1)) }}
config-large-file-threshold = {{ dumps(zope_parameter_dict.get('large-file-threshold', "10MB")) }}
config-port-base = {{ dumps(zope_parameter_dict.get('port-base', 2200)) }}
config-nofile = {{ dumps(slapparameter_dict.get('nofile', false)) }}
{# BBB: zope_parameter_dict used to contain 'webdav', so fallback to it -#}
config-webdav = {{ dumps(current_zope_family_override_dict.get('webdav', zope_parameter_dict.get('webdav', False))) }}
config-publisher-timeout = {{ dumps(current_zope_family_override_dict.get('publisher-timeout', global_publisher_timeout)) }}
......
[buildout]
extends =
../../software/erp5/software.cfg
../../software/wendelin/software.cfg
buildout.hash.cfg
parts +=
vifib-fix-products-paths
[erp5-defaults]
wcfs-enable-default = true
[local-bt5-repository]
# Same as bt5-repository, but only local repository.
# Used to generate bt5lists.
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 ${erp5-doc:location}/bt5 ${vifib:location}/master/bt5 ${wendelin:location}/bt5
list += ${vifib:location}/master/bt5
[erp5_repository_list]
repository_id_list = erp5 erp5-bin erp5-doc wendelin vifib/master
repository_id_list += vifib/master
[erp5]
branch = erp5-vifib
......@@ -31,19 +27,6 @@ branch = master
repository = https://lab.nexedi.com/nexedi/slapos-bin.git
branch = master
[wendelin]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
repository = https://lab.nexedi.com/nexedi/wendelin.git
branch = master
[vifib-fix-products-paths]
recipe = plone.recipe.command
stop-on-error = true
command =
for DIR in "${vifib:location}/master"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
update-command = ${:command}
[eggs]
eggs +=
slapos.core
......@@ -55,7 +38,6 @@ dummy +=
extra-paths +=
${vifib:location}/master
${slapos-bin:location}
${wendelin:location}
### Overwrite recipes to introduce customized changes
......
......@@ -284,14 +284,34 @@ entry-points =
python2=${:eggs}:ignored
python2.7=${:eggs}:ignored
python3=${:eggs}:ignored
python3.5=${:eggs}:ignored
python3.6=${:eggs}:ignored
python3.7=${:eggs}:ignored
python3.8=${:eggs}:ignored
python3.9=${:eggs}:ignored
python3.10=${:eggs}:ignored
python3.11=${:eggs}:ignored
python3.12=${:eggs}:ignored
python3.13=${:eggs}:ignored
python3.14=${:eggs}:ignored
scripts =
python
python2
python2.7
python3
python3.5
python3.6
python3.7
python3.8
python3.9
python3.10
python3.11
python3.12
python3.13
python3.14
initialization =
import sys
print("Error: attempt to use system python", file=sys.stderr)
print("Error: attempt to use system python. Executed with: %s" % sys.argv, file=sys.stderr)
sys.exit(2)
[recurls-repository]
......
......@@ -74,8 +74,7 @@ setup = ${slapcache-repository:location}
[erp5.util-setup]
<= setup-develop-egg
# XXX erp5.util does not have `test` extra require, but has a `testnode` extra require with same dependencies
egg = erp5.util[testnode]
egg = erp5.util[test]
setup = ${erp5.util-repository:location}
depends = ${slapos.core-setup:egg}
......
......@@ -138,7 +138,7 @@ needs-these-eggs-scripts-in-path =
[python-for-buildout-languageserver]
<= python-interpreter
interpreter = ${:_buildout_section_name_}
executable = ${buildout:bin-directory}/${:interpreter}
executable = ${:exe}
eggs +=
zc.buildout.languageserver
......
......@@ -63,8 +63,11 @@ repository_id_list += wendelin
list += ${wendelin:location}/bt5
# Jupyter is by default enabled in Wendelin
# and also the soft limit of open file descriptors is set
# to the hard limit.
[erp5-defaults]
jupyter-enable-default = true
nofile-enable-default = true
[wendelin]
recipe = slapos.recipe.build:gitclone
......
......@@ -230,7 +230,7 @@ context =
key unixodbc_location unixodbc:location
key wget_location wget:location
key extra_path_list eggs:extra-paths
key python_executable_for_kernel erp5-python-interpreter-jupyter:interpreter_path
key python_executable_for_kernel erp5-python-interpreter-jupyter:exe
key erp5_kernel_location erp5-kernel:location
key erp5_kernel_filename erp5-kernel:filename
key kernel_json_location kernel-json:location
......@@ -493,7 +493,6 @@ extra-paths += ${eggs:extra-paths}
[erp5-python-interpreter-jupyter]
<= erp5-python-interpreter
interpreter = pythonwitheggs_jupyter
interpreter_path = ${buildout:directory}/bin/${:interpreter}
eggs +=
jupyter_client
jupyter_core
......
......@@ -185,6 +185,7 @@ context =
key instance_common_cfg instance-common:output
key jupyter_enable_default erp5-defaults:jupyter-enable-default
key wcfs_enable_default erp5-defaults:wcfs-enable-default
key nofile_enable_default erp5-defaults:nofile-enable-default
key kumo_location kumo:location
key local_bt5_repository local-bt5-repository:list
key logrotate_location logrotate:location
......@@ -232,7 +233,7 @@ context =
key unixodbc_location unixodbc:location
key wget_location wget:location
key extra_path_list eggs:extra-paths
key python_executable_for_kernel erp5-python-interpreter-jupyter:interpreter_path
key python_executable_for_kernel erp5-python-interpreter-jupyter:exe
key erp5_kernel_location erp5-kernel:location
key erp5_kernel_filename erp5-kernel:filename
key kernel_json_location kernel-json:location
......@@ -338,6 +339,8 @@ cloudooo-connection-url-list =
jupyter-enable-default = false
# WCFS is by default disabled in ERP5
wcfs-enable-default = false
# nofile option of zopewsgi is disabled in ERP5
nofile-enable-default = false
[erp5]
recipe = slapos.recipe.build:gitclone
......@@ -495,7 +498,6 @@ extra-paths += ${eggs:extra-paths}
[erp5-python-interpreter-jupyter]
<= erp5-python-interpreter
interpreter = pythonwitheggs_jupyter
interpreter_path = ${buildout:directory}/bin/${:interpreter}
eggs +=
jupyter_client
jupyter_core
......
......@@ -50,7 +50,7 @@ md5sum = f928b9dc99f7f970caadfe7dd6f95d34
[template-postfix]
filename = instance-postfix.cfg.in
md5sum = 8f7bfca893a01c390df7a3dc9c2410e1
md5sum = b1cdeb8fe02d47c093658b50afa7d6b9
[template-postfix-master-cf]
filename = postfix_master.cf.in
......@@ -70,11 +70,11 @@ md5sum = b95084ae9eed95a68eada45e28ef0c04
[template]
filename = instance.cfg.in
md5sum = 3f7b28085ceff321a3cb785db60f7c3e
md5sum = 4d4d1accdec116141d8c07d47eb18161
[template-erp5]
filename = instance-erp5.cfg.in
md5sum = 098e1d02159aeca9b36f2a0726b7b230
md5sum = 631d49d494721c8aabc9f1f061ac4d39
[template-zeo]
filename = instance-zeo.cfg.in
......@@ -86,7 +86,7 @@ md5sum = 0ac4b74436f554cd677f19275d18d880
[template-zope]
filename = instance-zope.cfg.in
md5sum = 9e6440425167a506bd473a3697eaa9e6
md5sum = e8e5e0bbfb4d4ceb98ef1eac35ec5178
[template-balancer]
filename = instance-balancer.cfg.in
......
......@@ -11,6 +11,7 @@
{% set jupyter_zope_family = jupyter_dict.get('zope-family', '') -%}
{% set wcfs_dict = slapparameter_dict.get('wcfs', {}) -%}
{% set wcfs_enable = wcfs_dict.get('enable', wcfs_enable_default.lower() in ('true', 'yes')) -%}
{% set nofile_enable = slapparameter_dict.get('nofile', nofile_enable_default.lower() in ('true', 'yes')) %}
{% set test_runner_enabled = slapparameter_dict.get('test-runner', {}).get('enabled', True) -%}
{% set test_runner_node_count = slapparameter_dict.get('test-runner', {}).get('node-count', 3) -%}
{% set test_runner_extra_database_count = slapparameter_dict.get('test-runner', {}).get('extra-database-count', 3) -%}
......@@ -311,6 +312,7 @@ config-longrequest-logger-interval = {{ dumps(zope_parameter_dict.get('longreque
config-longrequest-logger-timeout = {{ dumps(zope_parameter_dict.get('longrequest-logger-timeout', 1)) }}
config-large-file-threshold = {{ dumps(zope_parameter_dict.get('large-file-threshold', "10MB")) }}
config-port-base = {{ dumps(zope_parameter_dict.get('port-base', 2200)) }}
config-nofile = {{ dumps(nofile_enable) }}
{# BBB: zope_parameter_dict used to contain 'webdav', so fallback to it -#}
config-webdav = {{ dumps(current_zope_family_override_dict.get('webdav', zope_parameter_dict.get('webdav', False))) }}
config-publisher-timeout = {{ dumps(current_zope_family_override_dict.get('publisher-timeout', global_publisher_timeout)) }}
......
......@@ -104,7 +104,7 @@ output = ${directory:etc-postfix}/sasl_passwd
{% if relay -%}
inline = {{ "{{ host }} {{ sasl_credential }}" }}
{%- else -%}
inline =
inline = {{ dumps("# empty") }}
{%- endif %}
context =
key host configuration:relayhost
......
{% from "instance_zodb_base" import zodb_dict with context %}
{% set webdav = slapparameter_dict['webdav'] -%}
{% set nofile = slapparameter_dict['nofile'] -%}
{% set thread_amount = slapparameter_dict['thread-amount'] %}
{% set use_ipv6 = slapparameter_dict.get('use-ipv6', False) -%}
{% set ports = itertools.count(slapparameter_dict['port-base']) -%}
......@@ -346,6 +347,7 @@ wrapped-command-line =
--access-log-file={{ '${' ~ conf_parameter_name ~ ':z2-log}' }}
{% if longrequest_logger_interval > 0 %} --long-request-log-file={{ '${' ~ conf_parameter_name ~ ':longrequest-logger-file}' }} {% endif %}
{% if webdav %}-w{% endif %}
{% if nofile %}--nofile{% endif %}
{{ ipv4 }}:${:port}
{% if timerserver_interval %}--timerserver-interval={{ timerserver_interval }}{% endif %}
'${:configuration-file}'
......
......@@ -43,6 +43,7 @@ init =
default-cloudooo-url-list = ${default-cloudooo-url-list:url-list}
jupyter-enable-default = {{ jupyter_enable_default }}
wcfs-enable-default = {{ wcfs_enable_default }}
nofile-enable-default = {{ nofile_enable_default }}
local-bt5-repository = {{ ' '.join(local_bt5_repository.split()) }}
[context]
......@@ -58,6 +59,7 @@ extra-context =
key default_cloudooo_url_list dynamic-template-erp5-parameters:default-cloudooo-url-list
key jupyter_enable_default dynamic-template-erp5-parameters:jupyter-enable-default
key wcfs_enable_default dynamic-template-erp5-parameters:wcfs-enable-default
key nofile_enable_default dynamic-template-erp5-parameters:nofile-enable-default
key local_bt5_repository dynamic-template-erp5-parameters:local-bt5-repository
key openssl_location :openssl-location
import re re
......
......@@ -369,6 +369,7 @@ importlib-metadata = 1.7.0:whl
itsdangerous = 0.24
Jinja2 = 2.11.3
jsonschema = 3.0.2:whl
MarkupSafe = 1.0
packaging = 16.8
pyparsing = 2.2.0
pyrsistent = 0.16.1
......@@ -382,9 +383,6 @@ Werkzeug = 1.0.1
wheel = 0.35.1:whl
zipp = 1.2.0:whl
[versions:sys.version_info < (3,8)]
MarkupSafe = 1.0
[networkcache]
download-cache-url = http://shacache.nxdcdn.com
......
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