Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
107
Merge Requests
107
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
8c273006
Commit
8c273006
authored
Oct 29, 2020
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Update Release Candidate
parents
41d4bcc6
094aa984
Changes
46
Hide whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
223 additions
and
311 deletions
+223
-311
component/cmake/buildout.cfg
component/cmake/buildout.cfg
+2
-2
component/cuneiform/buildout.cfg
component/cuneiform/buildout.cfg
+0
-24
component/defaults.cfg
component/defaults.cfg
+1
-1
component/gcc/buildout.cfg
component/gcc/buildout.cfg
+4
-10
component/gcc/glibc-2.31-libsanitizer-1.patch
component/gcc/glibc-2.31-libsanitizer-1.patch
+0
-37
component/gcc/glibc-2.31-libsanitizer-2.patch
component/gcc/glibc-2.31-libsanitizer-2.patch
+0
-73
component/golang/buildout.cfg
component/golang/buildout.cfg
+2
-2
component/h2o/buildout.cfg
component/h2o/buildout.cfg
+1
-1
component/inkscape/buildout.cfg
component/inkscape/buildout.cfg
+1
-2
component/libzip/buildout.cfg
component/libzip/buildout.cfg
+9
-10
component/llvm/buildout.cfg
component/llvm/buildout.cfg
+26
-0
component/mariadb/buildout.cfg
component/mariadb/buildout.cfg
+6
-14
component/proftpd/buildout.cfg
component/proftpd/buildout.cfg
+2
-1
component/rust/buildout.cfg
component/rust/buildout.cfg
+12
-12
component/snappy/buildout.cfg
component/snappy/buildout.cfg
+2
-4
component/srslte/buildout.cfg
component/srslte/buildout.cfg
+5
-11
component/yaml-cpp/buildout.cfg
component/yaml-cpp/buildout.cfg
+5
-7
setup.py
setup.py
+1
-1
slapos/recipe/erp5testnode/__init__.py
slapos/recipe/erp5testnode/__init__.py
+0
-1
slapos/recipe/erp5testnode/template/erp5testnode.cfg.in
slapos/recipe/erp5testnode/template/erp5testnode.cfg.in
+1
-0
slapos/recipe/switch_softwaretype.py
slapos/recipe/switch_softwaretype.py
+54
-20
software/caddy-frontend/buildout.hash.cfg
software/caddy-frontend/buildout.hash.cfg
+2
-6
software/caddy-frontend/instance-apache-replicate.cfg.in
software/caddy-frontend/instance-apache-replicate.cfg.in
+4
-3
software/caddy-frontend/software.cfg
software/caddy-frontend/software.cfg
+0
-7
software/caddy-frontend/templates/apache-custom-slave-list.cfg.in
.../caddy-frontend/templates/apache-custom-slave-list.cfg.in
+12
-12
software/caddy-frontend/templates/caddy-backend-url-validator.in
...e/caddy-frontend/templates/caddy-backend-url-validator.in
+0
-4
software/erp5testnode/buildout.hash.cfg
software/erp5testnode/buildout.hash.cfg
+1
-1
software/erp5testnode/instance-default.cfg
software/erp5testnode/instance-default.cfg
+22
-4
software/proftpd/software.cfg
software/proftpd/software.cfg
+2
-0
software/proftpd/test/test.py
software/proftpd/test/test.py
+15
-15
software/repman/buildout.hash.cfg
software/repman/buildout.hash.cfg
+3
-3
software/repman/instance-mariadb.cfg.jinja2.in
software/repman/instance-mariadb.cfg.jinja2.in
+1
-1
software/repman/instance-repman.cfg.jinja2.in
software/repman/instance-repman.cfg.jinja2.in
+1
-1
software/repman/instance.cfg.in
software/repman/instance.cfg.in
+1
-0
software/repman/software.cfg
software/repman/software.cfg
+3
-0
software/slapos-master/buildout.hash.cfg
software/slapos-master/buildout.hash.cfg
+1
-1
software/slapos-master/instance-balancer.cfg.in
software/slapos-master/instance-balancer.cfg.in
+0
-3
software/slapos-sr-testing/software-py3.cfg
software/slapos-sr-testing/software-py3.cfg
+2
-0
software/slapos-sr-testing/software.cfg
software/slapos-sr-testing/software.cfg
+0
-2
software/slapos-testing/buildout.hash.cfg
software/slapos-testing/buildout.hash.cfg
+1
-1
software/slapos-testing/instance.cfg
software/slapos-testing/instance.cfg
+5
-1
software/slapos-testing/software.cfg
software/slapos-testing/software.cfg
+10
-0
stack/erp5/buildout.hash.cfg
stack/erp5/buildout.hash.cfg
+1
-1
stack/erp5/instance-balancer.cfg.in
stack/erp5/instance-balancer.cfg.in
+0
-3
stack/lamp/buildout.cfg
stack/lamp/buildout.cfg
+0
-7
stack/slapos.cfg
stack/slapos.cfg
+2
-2
No files found.
component/cmake/buildout.cfg
View file @
8c273006
...
...
@@ -9,8 +9,8 @@ parts =
[cmake]
recipe = slapos.recipe.cmmi
shared = true
url = https://cmake.org/files/v3.
7/cmake-3.7.2
.tar.gz
md5sum =
79bd7e65cd81ea3aa2619484ad6ff25a
url = https://cmake.org/files/v3.
18/cmake-3.18.4
.tar.gz
md5sum =
0380beaee1c39a22455db02651abe7be
environment =
CMAKE_INCLUDE_PATH=${ncurses:location}/include:${openssl:location}/include
CMAKE_LIBRARY_PATH=${ncurses:location}/lib:${openssl:location}/lib
component/cuneiform/buildout.cfg
deleted
100644 → 0
View file @
41d4bcc6
[buildout]
extends =
../cmake/buildout.cfg
../imagemagick/buildout.cfg
parts = cuneiform
[cuneiform]
recipe = slapos.recipe.cmmi
url = http://launchpad.net/cuneiform-linux/1.0/1.0/+download/cuneiform-linux-1.0.0.tar.bz2
md5sum = 785232ffffad7d82446fbac08a1c3ef9
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_RPATH=${:location}/lib64:${:location}/lib \
-DCMAKE_INSTALL_PREFIX=${:location} \
-DNO_SYSTEM_ENVIRONMENT_PATH=ON \
-DCMAKE_INCLUDE_PATH=${imagemagick:location}/include \
-DCMAKE_LIBRARY_PATH=${imagemagick:location}/lib \
-DCMAKE_INSTALL_RPATH=${:location}/lib64:${:location}/lib:${imagemagick:location}/lib \
-DCMAKE_BUILD_TYPE=release \
..
make-binary =
cd build && make
component/defaults.cfg
View file @
8c273006
...
...
@@ -34,7 +34,7 @@ depends =
${patch:recipe}
recipe = slapos.recipe.build
# Latest version provided by SlapOS.
part = gcc-8.
2
part = gcc-8.
4
# Minimum version for all components that might be required for
# slapos.rebootstrap (see https://bugs.python.org/issue34112 about Python 3.7+).
min_version = 5.4
...
...
component/gcc/buildout.cfg
View file @
8c273006
...
...
@@ -10,7 +10,7 @@ extends =
../binutils/buildout.cfg
parts =
gcc-8.
2
gcc-8.
4
[gcc-common]
recipe = slapos.recipe.cmmi
...
...
@@ -65,16 +65,10 @@ patch-options = -p1
patches =
${:_profile_base_location_}/libsanitizer_Use_pre-computed_size_of_struct_ustat_for_Linux.patch#1e5f33e89f9fe1ca3e406eabcc621762
[gcc-8.
2
]
[gcc-8.
4
]
<= gcc-common
version = 8.2.0
md5sum = 4ab282f414676496483b3e1793d07862
patch-binary = ${patch:location}/bin/patch
patch-options = -p1
# glibc-2.31-libsanitizer comes from https://github.com/spack/spack/pull/15403
patches =
${:_profile_base_location_}/glibc-2.31-libsanitizer-1.patch
${:_profile_base_location_}/glibc-2.31-libsanitizer-2.patch
version = 8.4.0
md5sum = bb815a8e3b7be43c4a26fa89dbbd9795
[gcc-minimal]
<= gcc-5.5
...
...
component/gcc/glibc-2.31-libsanitizer-1.patch
deleted
100644 → 0
View file @
41d4bcc6
From ce9568e9e9cf6094be30e748821421e703754ffc Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Fri, 8 Nov 2019 19:53:18 +0100
Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
bootstrap due to libsanitizer)
Backported from mainline
2019-10-22 Tamar Christina <tamar.christina@arm.com>
PR sanitizer/92154
* sanitizer_common/sanitizer_platform_limits_posix.cc:
Cherry-pick compiler-rt revision r375220.
From-SVN: r277981
---
libsanitizer/ChangeLog | 9 +++++++++
.../sanitizer_common/sanitizer_platform_limits_posix.cc | 6 +++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 6cd4a5bac8b0..06a605ff4670 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1156,8 +1156,12 @@
CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
+#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
+ !defined(__arm__)
/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
+/* On Arm glibc 2.31 and later provide a different mode field, this field is
+ never used by libsanitizer so we can simply ignore this assert for all glibc
+ versions. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
component/gcc/glibc-2.31-libsanitizer-2.patch
deleted
100644 → 0
View file @
41d4bcc6
From 75003cdd23c310ec385344e8040d490e8dd6d2be Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Fri, 20 Dec 2019 17:58:35 +0100
Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
bootstrap due to libsanitizer)
Backported from mainline
2019-11-26 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/92154
* sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick
llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce.
* sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
From-SVN: r279653
---
libsanitizer/ChangeLog | 10 ++++++++++
.../sanitizer_platform_limits_posix.cc | 9 +++------
.../sanitizer_platform_limits_posix.h | 15 +--------------
3 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
index 06a605ff4670..d823a12190c0 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
@@ -1156,12 +1156,9 @@
CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
-#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
- !defined(__arm__)
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
-/* On Arm glibc 2.31 and later provide a different mode field, this field is
- never used by libsanitizer so we can simply ignore this assert for all glibc
- versions. */
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
+ on many architectures. */
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
#endif
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index 73af92af1e8f..6a673a7c9959 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -211,26 +211,13 @@
namespace __sanitizer {
u64 __unused1;
u64 __unused2;
#elif defined(__sparc__)
-#if defined(__arch64__)
unsigned mode;
- unsigned short __pad1;
-#else
- unsigned short __pad1;
- unsigned short mode;
unsigned short __pad2;
-#endif
unsigned short __seq;
unsigned long long __unused1;
unsigned long long __unused2;
-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
- unsigned int mode;
- unsigned short __seq;
- unsigned short __pad1;
- unsigned long __unused1;
- unsigned long __unused2;
#else
- unsigned short mode;
- unsigned short __pad1;
+ unsigned int mode;
unsigned short __seq;
unsigned short __pad2;
#if defined(__x86_64__) && !defined(_LP64)
component/golang/buildout.cfg
View file @
8c273006
...
...
@@ -52,8 +52,8 @@ environment-extra =
[golang1.14]
<= golang-common
url = https://golang.org/dl/go1.14.
9
.src.tar.gz
md5sum =
6f6dd1377421d27ca4bb607283b31738
url = https://golang.org/dl/go1.14.
10
.src.tar.gz
md5sum =
c0b485e8ac8b1978b5164e3e200150fa
# go1.14 needs go1.4 to bootstrap
environment-extra =
...
...
component/h2o/buildout.cfg
View file @
8c273006
...
...
@@ -14,7 +14,7 @@ recipe = slapos.recipe.cmmi
shared = True
url = https://github.com/h2o/h2o/archive/v2.2.6.tar.gz
md5sum = 075283f92347fcb7b2f87dcc5251b922
configure-command = ${cmake:location}/bin/cmake
.
configure-command = ${cmake:location}/bin/cmake
configure-options =
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DWITH_MRUBY=on
...
...
component/inkscape/buildout.cfg
View file @
8c273006
...
...
@@ -41,11 +41,10 @@ recipe = slapos.recipe.cmmi
shared = true
url = https://inkscape.org/gallery/item/13330/inkscape-0.92.4_A6N0YOn.tar.bz2
md5sum = ac30f6d5747fd9c620c00dad500f414f
location = @@LOCATION@@
pkg_config_depends = ${freetype:location}/lib/pkgconfig:${gtkmm:location}/lib/pkgconfig:${gtkmm:pkg_config_depends}:${gsl:location}/lib/pkgconfig:${popt:location}/lib/pkgconfig:${garbage-collector:location}/lib/pkgconfig:${libxslt:location}/lib/pkgconfig
configure-command = ${cmake:location}/bin/cmake
configure-options =
-DCMAKE_INSTALL_PREFIX=
${:location}
-DCMAKE_INSTALL_PREFIX=
@@LOCATION@@
-DENABLE_POPPLER=OFF
-DWITH_GNOME_VFS=OFF
-DWITH_IMAGE_MAGICK=OFF
...
...
component/libzip/buildout.cfg
View file @
8c273006
...
...
@@ -13,17 +13,16 @@ shared = true
url = https://libzip.org/download/libzip-1.5.2.tar.xz
md5sum = f9dd38d273bcdec5d3d1498fe6684f42
location = @@LOCATION@@
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${:location} \
-DCMAKE_INCLUDE_PATH=${zlib:location}/include:${bzip2:location}/include \
-DCMAKE_LIBRARY_PATH=${zlib:location}/lib:${bzip2:location}/lib \
..
make-binary =
cd build && make
configure-command = cmake
configure-options =
-Bbuild
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=${:location}
-DCMAKE_INCLUDE_PATH=${zlib:location}/include:${bzip2:location}/include
-DCMAKE_LIBRARY_PATH=${zlib:location}/lib:${bzip2:location}/lib
make-options = -C build
environment =
PATH=${cmake:location}/bin:%(PATH)s
CMAKE_INCLUDE_PATH=${zlib:location}/include:${bzip2:location}/include
CMAKE_LIBRARY_PATH=${zlib:location}/lib:${bzip2:location}/lib
LDFLAGS=-
L${:location}/lib -
Wl,-rpath=${:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib
LDFLAGS=-Wl,-rpath=${:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib
component/llvm/buildout.cfg
0 → 100644
View file @
8c273006
[buildout]
extends =
../cmake/buildout.cfg
../git/buildout.cfg
parts = llvm
[llvm]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/llvm/llvm-project/releases/download/llvmorg-${:version}/llvm-${:version}.src.tar.xz
version = 11.0.0
md5sum = 85844102335b2e01b3c64b6734fb56f2
configure-command = ${cmake:location}/bin/cmake
configure-options =
-Bbuild
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DCMAKE_BUILD_TYPE=Release
-DLLVM_INSTALL_UTILS=ON
-DCMAKE_C_FLAGS="${:CMAKE_CFLAGS}"
-DCMAKE_CXX_FLAGS="${:CMAKE_CFLAGS}"
make-options = -C build
CMAKE_CFLAGS = -I${libxml2:location}/include/libxml2 -I${ncurses:location}/include -I${zlib:location}/include
environment =
PATH=${git:location}/bin:%(PATH)s
LDFLAGS=-L${libxml2:location}/lib -L${ncurses:location}/lib -L${zlib:location}/lib -Wl,-rpath=${libxml2:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${zlib:location}/lib
component/mariadb/buildout.cfg
View file @
8c273006
...
...
@@ -26,10 +26,10 @@ extends =
parts =
mariadb
[mariadb]
[mariadb
-10.4
]
recipe = slapos.recipe.cmmi
shared = true
url = https://
downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http%3A//fr.mirror.babylon.network/mariadb/?serve
url = https://
archive.mariadb.org//mariadb-${:version}/source/mariadb-${:version}.tar.gz
version = 10.4.14
md5sum = 9801120ae8acb33904ab4a3366a7714f
location = @@LOCATION@@
...
...
@@ -129,9 +129,9 @@ environment =
### XXX keep using mariadb 10.3.22 because 10.4 cause crash
### (we just override here for easier revert)
[mariadb]
[mariadb-10.3]
<= mariadb-10.4
version = 10.3.22
url = https://downloads.mariadb.org/f/mariadb-10.3.22/source/mariadb-10.3.22.tar.gz/from/http%3A//ftp.hosteurope.de/mirror/archive.mariadb.org/?serve
md5sum = f712a5e6fde038d0c9c6d2a2cd88b84e
pre-configure =
set -e '\bSET(PLUGIN_AUTH_PAM YES)' cmake/build_configurations/mysql_release.cmake
...
...
@@ -145,14 +145,6 @@ post-install =
mkdir -p ${:location}/include/wsrep &&
cp -p wsrep/wsrep_api.h ${:location}/include/wsrep
[mroonga-mariadb]
pre-configure =
rm -rf fake_mariadb_source
mkdir -p fake_mariadb_source
cd fake_mariadb_source
ln -s ${mariadb:location}/wsrep-lib
cp -a ${mariadb:location}/include/mysql/server include
cp -a include/private sql
chmod -R a+w include sql # so that buildout can delete this compile-dir after install
mkdir -p ${:plugin-dir}
[mariadb]
location = ${mariadb-10.3:location}
### /XXX keep using mariadb 10.3.22 because 10.4 cause crash
component/proftpd/buildout.cfg
View file @
8c273006
...
...
@@ -32,7 +32,8 @@ configure-options =
--disable-cap
--with-modules=mod_sftp:mod_ban
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
environment =
environment =
CFLAGS=-DPR_RUN_DIR=\"/proc/self/cwd/var\"
CPPFLAGS=-I${zlib:location}/include -I${openssl:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib
install_user=${proftpd-environment:USER}
...
...
component/rust/buildout.cfg
View file @
8c273006
[buildout]
parts =
rustc
extends =
../cmake/buildout.cfg
../curl/buildout.cfg
../git/buildout.cfg
../llvm/buildout.cfg
../openssl/buildout.cfg
../pkgconfig/buildout.cfg
parts = rustc
[rustc]
recipe = slapos.recipe.cmmi
shared = true
url = https://static.rust-lang.org/dist/rustc-1.4
5.2
-src.tar.gz
md5sum =
1c67d7c3f211e49e12e7c20abab08e70
url = https://static.rust-lang.org/dist/rustc-1.4
7.0
-src.tar.gz
md5sum =
a460bed79b92f6a7833ba6e6390ee6ae
# --sysconfdir is a workaround for https://github.com/rust-lang/rust/issues/63915
configure-options = --enable-extended --sysconfdir=@@LOCATION@@/etc/
environment =
PATH=${cmake:location}/bin/:${curl:location}/bin/:${git:location}/bin/:${pkgconfig:location}/bin/:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig:
configure-options =
--enable-extended
--llvm-config=${llvm:location}/bin/llvm-config
--sysconfdir=@@LOCATION@@/etc
environment =
PATH=${curl:location}/bin/:${git:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
RUSTFLAGS=-C link-arg=-Wl,-rpath=${openssl:location}/lib -C link-arg=-L${libxml2:location}/lib -C link-arg=-L${ncurses:location}/lib -C link-arg=-L${zlib:location}/lib -C link-arg=-Wl,-rpath=${libxml2:location}/lib -C link-arg=-Wl,-rpath=${ncurses:location}/lib -C link-arg=-Wl,-rpath=${zlib:location}/lib
component/snappy/buildout.cfg
View file @
8c273006
...
...
@@ -9,10 +9,8 @@ recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/google/snappy/archive/1.1.8.tar.gz
md5sum = 70e48cba7fecf289153d009791c9977f
location = @@LOCATION@@
configure-command = ${cmake:location}/bin/cmake
configure-options =
-DCMAKE_INSTALL_PREFIX=${:location}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DBUILD_SHARED_LIBS=ON
environment =
CMAKE_PROGRAM_PATH=${cmake:location}/bin
component/srslte/buildout.cfg
View file @
8c273006
...
...
@@ -15,28 +15,22 @@ parts =
recipe = slapos.recipe.cmmi
url = https://github.com/srsLTE/srsLTE/archive/release_18_09.zip
md5sum = d9007ff9bd03ba67c6ed8acfd9bf2a7a
pre-configure =
mkdir -p build
configure-command = cd build && ${cmake:location}/bin/cmake ../
make-binary =
make-targets= cd build &&
make DESTDIR=@@LOCATION@@ -j1 install
configure-options =
configure-command = cmake
configure-options =
-Bbuild
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DCMAKE_C_FLAGS="${:CMAKE_CFLAGS}"
-DCMAKE_CXX_FLAGS="${:CMAKE_CFLAGS}"
-DCMAKE_INSTALL_RPATH=${:CMAKE_LIBRARY_PATH}
-DCMAKE_INCLUDE_PATH=${mbedtls:location}/include
-DCMAKE_LIBRARY_PATH=${mbedtls:location}/lib
make-options = -C build
CMAKE_CFLAGS = -I${bzip2:location}/include -I${fftw3:location}/include -I${mbedtls:location}/include -I${lksctp-tools:location}/include -I${libconfig:location}/include -I${boost-lib:location}/include
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${mbedtls:location}/lib:${lksctp-tools:location}/lib:${libconfig:location}/lib:${boost-lib:location}/lib:${fftw3:location}/lib
environment =
CMAKE_INSTALL_PREFIX=${buildout:directory}/bin
CMAKE_PROGRAM_PATH=${cmake:location}/bin
CMAKE_INCLUDE_PATH=${bzip2:location}/include:${mbedtls:location}/include:${lksctp-tools:location}/include:${libconfig:location}/include:${boost-lib:location}/include:${fftw3:location}/include
CMAKE_LIBRARY_PATH=${:CMAKE_LIBRARY_PATH}
CPPFLAGS=${:CMAKE_CFLAGS}
...
...
component/yaml-cpp/buildout.cfg
View file @
8c273006
...
...
@@ -10,11 +10,9 @@ recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.6.3.tar.gz
md5sum = b45bf1089a382e81f6b661062c10d0c2
location = @@LOCATION@@
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DYAML_BUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=${:location} \
..
configure-command = ${cmake:location}/bin/cmake
configure-options =
-Bbuild
-DYAML_BUILD_SHARED_LIBS=ON
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
make-options = -C build
setup.py
View file @
8c273006
...
...
@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
import
glob
import
os
version
=
'1.0.1
52
'
version
=
'1.0.1
67
'
name
=
'slapos.cookbook'
long_description
=
open
(
"README.rst"
).
read
()
...
...
slapos/recipe/erp5testnode/__init__.py
View file @
8c273006
...
...
@@ -58,7 +58,6 @@ class Recipe(GenericBaseRecipe):
"
\
n
path_list = %s"
%
","
.
join
(
software_path_list
)
CONFIG
[
'computer_id'
]
=
self
.
buildout
[
'slap-connection'
][
'computer-id'
]
CONFIG
[
'server_url'
]
=
self
.
buildout
[
'slap-connection'
][
'server-url'
]
CONFIG
[
'frontend_url'
]
=
self
.
buildout
[
'testnode-frontend'
][
'connection-secure_access'
]
configuration_file
=
self
.
createFile
(
self
.
options
[
'configuration-file'
],
self
.
substituteTemplate
(
...
...
slapos/recipe/erp5testnode/template/erp5testnode.cfg.in
View file @
8c273006
...
...
@@ -20,6 +20,7 @@ httpd_software_access_port = %(httpd_software_access_port)s
computer_id = %(computer_id)s
server_url = %(server_url)s
frontend_url = %(frontend_url)s
log_frontend_url = %(log_frontend_url)s
keep_log_days = %(keep_log_days)s
# Binaries
...
...
slapos/recipe/switch_softwaretype.py
View file @
8c273006
...
...
@@ -25,8 +25,45 @@
#
##############################################################################
import
os
,
subprocess
,
sys
import
six
from
zc.buildout.buildout
import
Buildout
class
SubBuildout
(
Buildout
):
"""Run buildout in buildout, partially copied from infrae.buildout
"""
def
__init__
(
self
,
main_buildout
,
config
,
options
,
**
kwargs
):
# Use same logger
self
.
_logger
=
main_buildout
.
_logger
self
.
_log_level
=
main_buildout
.
_log_level
# Use same options
for
opt
in
(
'offline'
,
'verbosity'
,
'newest'
,
'directory'
,
'eggs-directory'
,
'develop-eggs-directory'
,
):
if
opt
in
main_buildout
[
'buildout'
]:
options
.
append
((
'buildout'
,
opt
,
main_buildout
[
'buildout'
][
opt
],
))
# Use same slap connection
for
k
,
v
in
main_buildout
[
"slap-connection"
].
items
():
options
.
append
((
'slap-connection'
,
k
,
v
))
Buildout
.
__init__
(
self
,
config
,
options
,
**
kwargs
)
def
_setup_logging
(
self
):
"""We don't want to setup any logging, since it's already done
by the main buildout.
"""
pass
class
Recipe
:
...
...
@@ -39,26 +76,23 @@ class Recipe:
self
.
base
=
self
.
buildout
[
section
][
key
]
def
install
(
self
):
# XXX-Antoine: We gotta find a better way to do this. I tried to check
# out how slapgrid-cp was running buildout. But it is worse than that.
args
=
sys
.
argv
[:]
for
x
in
six
.
iteritems
(
self
.
buildout
[
"slap-connection"
]):
args
.
append
(
"slap-connection:%s=%s"
%
x
)
for
x
in
"directory"
,
"eggs-directory"
,
"develop-eggs-directory"
:
args
.
append
(
"buildout:%s=%s"
%
(
x
,
self
.
buildout
[
"buildout"
][
x
]))
args
.
append
(
"buildout:installed=.installed-%s.cfg"
%
self
.
name
)
# Options.get (from zc.buildout) should deserialize.
options
=
[(
"buildout"
,
"installed"
,
".installed-%s.cfg"
%
self
.
name
)]
profile
=
self
.
base
try
:
override
=
self
.
options
[
"override"
][
self
.
software_type
]
# XXX this assume using slapos.buildout, which serializes arbitrary python objects for options
extended_profile
=
self
.
options
[
"override"
][
self
.
software_type
]
except
(
KeyError
,
TypeError
):
buildout
=
self
.
base
pass
else
:
# unfortunately, buildout:extends does not work when given at command line
buildout
=
os
.
path
.
join
(
self
.
buildout
[
"buildout"
][
"parts-directory"
],
self
.
name
+
".cfg"
)
with
open
(
override
)
as
src
,
open
(
buildout
,
"w"
,
0
)
as
dst
:
dst
.
write
(
"[buildout]
\
n
extends = %s
\
n
\
n
"
%
self
.
base
+
src
.
read
())
subprocess
.
check_call
(
args
+
[
"-oc"
,
buildout
])
return
[]
options
.
append
([
"buildout"
,
"extends"
,
profile
])
profile
=
extended_profile
sub_buildout
=
SubBuildout
(
self
.
buildout
,
profile
,
options
,
)
sub_buildout
.
install
([])
update
=
install
software/caddy-frontend/buildout.hash.cfg
View file @
8c273006
...
...
@@ -26,11 +26,11 @@ md5sum = e7d7e1448b6420657e953026573311ca
[profile-caddy-replicate]
filename = instance-apache-replicate.cfg.in
md5sum =
59f3a67999f5fb3e595486e2b801af08
md5sum =
b70f9ce80dd927ead51b4526997b75ed
[profile-slave-list]
_update_hash_filename_ = templates/apache-custom-slave-list.cfg.in
md5sum =
64d57678c12f539247fe2532c5b8d6b8
md5sum =
ab143bfa2e20725aa35940c9033fa0ee
[profile-replicate-publish-slave-information]
_update_hash_filename_ = templates/replicate-publish-slave-information.cfg.in
...
...
@@ -40,10 +40,6 @@ md5sum = de268251dafa5ad83ebf5b20636365d9
_update_hash_filename_ = templates/Caddyfile.in
md5sum = 2503056e35463e045db3329bb8b6fae8
[caddy-backend-url-validator]
filename = templates/caddy-backend-url-validator.in
md5sum = 0979a03476e86bf038516c9565dadc17
[template-not-found-html]
_update_hash_filename_ = templates/notfound.html
md5sum = 88af61e7abbf30dc99a1a2526161128d
...
...
software/caddy-frontend/instance-apache-replicate.cfg.in
View file @
8c273006
...
...
@@ -164,7 +164,7 @@ context =
{% for url_key in ['url', 'https-url'] %}
{% if url_key in slave %}
{% set url = (slave[url_key] or '').strip() %}
{% if
subprocess_module.call([software_parameter_dict['caddy_backend_url_validator'], url]) == 1 or
not validators.url(url) %}
{% if not validators.url(url) %}
{% do slave_error_list.append('slave %s %r invalid' % (url_key, url)) %}
{% elif url != slave[url_key] %}
{% do slave_warning_list.append('slave %s %r has been converted to %r' % (url_key, slave[url_key], url)) %}
...
...
@@ -769,8 +769,9 @@ recipe = plone.recipe.command
{#- Can be stopped on error, as does not rely on self provided service #}
stop-on-error = True
file = ${directory:var}/nginx-rejected.htpasswd
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} ${rejected-slave-password:user} ${rejected-slave-password:passwd}
update-command = ${:command}
{#- update-command is not needed, as if the ${:password} would change, the whole part will be recalculated #}
password = ${rejected-slave-password:passwd}
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} ${rejected-slave-password:user} ${:password}
[rejected-slave-template]
recipe = slapos.recipe.template:jinja2
...
...
software/caddy-frontend/software.cfg
View file @
8c273006
...
...
@@ -115,7 +115,6 @@ template_trafficserver_records_config = ${template-trafficserver-records-config:
template_trafficserver_storage_config = ${template-trafficserver-storage-config:target}
template_validate_script = ${template-validate-script:target}
template_wrapper = ${template-wrapper:output}
caddy_backend_url_validator = ${caddy-backend-url-validator:output}
# directories
bin_directory = ${buildout:bin-directory}
...
...
@@ -154,12 +153,6 @@ recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-apache-frontend.cfg.in
mode = 0644
[caddy-backend-url-validator]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/caddy-backend-url-validator
mode = 0750
[profile-caddy-replicate]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-apache-replicate.cfg.in
...
...
software/caddy-frontend/templates/apache-custom-slave-list.cfg.in
View file @
8c273006
...
...
@@ -95,12 +95,13 @@ context =
{%- set slave_publish_dict = {} %}
{%- set slave_configuration_section_name = 'slave-instance-%s-configuration' % slave_reference %}
{%- set slave_logrotate_section = slave_reference + "-logs" %}
{%- set slave_log_directory_section = slave_reference + "-log-directory" %}
{%- set slave_password_section = slave_reference + "-password" %}
{%- set slave_htpasswd_section = slave_reference + "-htpasswd" %}
{%- set slave_ln_section = slave_reference + "-ln" %}
{#- extend parts #}
{%- do part_list.extend([slave_ln_section]) %}
{%- do part_list.extend([slave_
logrotate_section, slave_
section_title]) %}
{%- do part_list.extend([slave_section_title]) %}
{%- set slave_log_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-logs" %}
{#- Pass HTTP2 switch #}
{%- do slave_instance.__setitem__('enable_http2_by_default', configuration['enable-http2-by-default']) %}
...
...
@@ -151,11 +152,15 @@ context =
{{ slave_reference }} = {{ '${' + slave_htpasswd_section + ':file}' }}
{#- Set slave logrotate entry #}
[{{slave_log_directory_section}}]
recipe = slapos.cookbook:mkdirectory
log-directory = {{ '${slave-log-directory-dict:' + slave_reference.lower() + '}' }}
[{{slave_logrotate_section}}]
<= logrotate-entry-base
name = ${:_buildout_section_name_}
log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}} {{slave_parameter_dict.get('backend_log')}}
backup = {{
slave_log_folder
}}
backup = {{
'${' + slave_log_directory_section + ':log-directory}'
}}
rotate-num = {{ dumps('' ~ configuration['rotate-num']) }}
# disable delayed compression, as log filenames shall be stable
delaycompress =
...
...
@@ -165,8 +170,8 @@ delaycompress =
[{{slave_ln_section}}]
recipe = plone.recipe.command
stop-on-error = false
update-command = ${:command
}
command = ln -sf {{slave_parameter_dict.get('error_log')}}
{{ slave_log_folder }}/error.log && ln -sf {{slave_parameter_dict.get('access_log')}} {{ slave_log_folder }}/access.log && ln -sf {{slave_parameter_dict.get('backend_log')}} {{ slave_log_folder }
}/backend.log
log-directory = {{ '${' + slave_logrotate_section + ':backup}' }
}
command = ln -sf {{slave_parameter_dict.get('error_log')}}
${:log-directory}/error.log && ln -sf {{slave_parameter_dict.get('access_log')}} ${:log-directory}/access.log && ln -sf {{slave_parameter_dict.get('backend_log')}} ${:log-directory
}/backend.log
{#- Set password for slave #}
...
...
@@ -180,8 +185,9 @@ recipe = plone.recipe.command
{#- Can be stopped on error, as does not rely on self provided service #}
stop-on-error = True
file = {{ caddy_configuration_directory }}/.{{ slave_reference }}.htpasswd
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} {{ slave_reference.lower() }} {{ '${' + slave_password_section + ':passwd}' }}
update-command = ${:command}
{#- update-command is not needed, as if the ${:password} would change, the whole part will be recalculated #}
password = {{ '${' + slave_password_section + ':passwd}' }}
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} {{ slave_reference.lower() }} ${:password}
{#- ################################################## #}
{#- Set Slave Certificates if needed #}
...
...
@@ -301,12 +307,6 @@ recipe = slapos.cookbook:publish
{%- endif %}
{%- endfor %} {# Slave iteration ends for slave_instance in slave_instance_list #}
[slave-log-directories]
<= slave-log-directory-dict
recipe = slapos.cookbook:mkdirectory
{%- do part_list.append('slave-log-directories') %}
{%- do part_list.append('caddy-log-access') %}
{%- do part_list.append('slave-introspection') %}
{#- ############################################## #}
...
...
software/caddy-frontend/templates/caddy-backend-url-validator.in
deleted
100644 → 0
View file @
41d4bcc6
#!${dash:location}/bin/dash
config="https://example.com {\n proxy / $1 {\n }\n}"
echo -e $config | ${caddy:output} -conf stdin -validate > /dev/null 2>&1
software/erp5testnode/buildout.hash.cfg
View file @
8c273006
...
...
@@ -18,4 +18,4 @@ md5sum = 307663d73ef3ef94b02567ecd322252e
[template-default]
filename = instance-default.cfg
md5sum =
40364ff26e9284cea97a58f3cd8c75e3
md5sum =
e553b582cd51db90fcd5634bd055f042
software/erp5testnode/instance-default.cfg
View file @
8c273006
...
...
@@ -23,6 +23,7 @@ parts =
recipe = slapos.cookbook:publish
url = $${shellinabox-frontend:url}
frontend-url = $${testnode-frontend:connection-secure_access}
log-frontend-url = $${testnode-log-frontend:connection-secure_access}
[pwgen]
recipe = slapos.cookbook:generate.password
...
...
@@ -63,6 +64,8 @@ httpd-log-directory = $${basedirectory:log}
httpd-software-directory = $${directory:software}
httpd-cert-file = $${rootdirectory:etc}/httpd-public.crt
httpd-key-file = $${rootdirectory:etc}/httpd-private.key
frontend-url = $${testnode-frontend:connection-secure_access}
log-frontend-url = $${testnode-log-frontend:connection-secure_access}
configuration-file = $${rootdirectory:etc}/erp5testnode.cfg
log-file = $${basedirectory:log}/erp5testnode.log
...
...
@@ -212,22 +215,31 @@ recipe = collective.recipe.template
input = inline: **
output = $${directory:srv}/exporter.exclude
[
testnode
-frontend]
[
request-shared
-frontend]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Test Node Frontend $${testnode:test-node-title}
# XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
slave = true
config-url = https://[$${testnode:httpd-ip}]:$${testnode:httpd-software-access-port}
config-https-only = true
#software-type = custom-personal
return = domain secure_access
[testnode-frontend]
<= request-shared-frontend
name = Test Node Frontend $${testnode:test-node-title}
config-url = https://[$${testnode:httpd-ip}]:$${testnode:httpd-software-access-port}
[testnode-log-frontend]
<= request-shared-frontend
name = Test Node Logs Frontend $${testnode:test-node-title}
config-url = https://[$${testnode:httpd-ip}]:$${testnode:httpd-port}
[promises]
recipe =
instance-promises =
$${shellinabox-frontend-listen-promise:name}
$${testnode-log-frontend-promise:name}
[shellinabox-frontend-listen-promise]
<= monitor-promise-base
...
...
@@ -236,6 +248,12 @@ name = $${:_buildout_section_name_}.py
config-hostname = $${shellinabox-frontend:hostname}
config-port = $${shellinabox-frontend:port}
[testnode-log-frontend-promise]
<= monitor-promise-base
module = check_url_available
name = $${:_buildout_section_name_}.py
config-url = $${testnode-log-frontend:connection-secure_access}
[slap-parameter]
node-quantity = 1
test-suite-master-url =
...
...
software/proftpd/software.cfg
View file @
8c273006
...
...
@@ -12,6 +12,8 @@ parts =
proftpd-config-file
instance-profile
[python]
part = python3
[download-file-base]
recipe = slapos.recipe.build:download
...
...
software/proftpd/test/test.py
View file @
8c273006
...
...
@@ -27,9 +27,9 @@
import
os
import
shutil
import
urlparse
from
urllib.parse
import
urlparse
import
tempfile
import
StringIO
import
io
import
subprocess
import
pysftp
...
...
@@ -58,7 +58,7 @@ class ProFTPdTestCase(SlapOSInstanceTestCase):
cnopts
.
hostkeys
=
None
parameter_dict
=
self
.
computer_partition
.
getConnectionParameterDict
()
sftp_url
=
urlparse
.
urlparse
(
parameter_dict
[
'url'
])
sftp_url
=
urlparse
(
parameter_dict
[
'url'
])
return
pysftp
.
Connection
(
hostname
or
sftp_url
.
hostname
,
...
...
@@ -95,7 +95,7 @@ class TestSFTPOperations(ProFTPdTestCase):
def
test_simple_sftp_session
(
self
):
with
self
.
_getConnection
()
as
sftp
:
# put a file
with
tempfile
.
NamedTemporaryFile
()
as
f
:
with
tempfile
.
NamedTemporaryFile
(
mode
=
'w'
)
as
f
:
f
.
write
(
"Hello FTP !"
)
f
.
flush
()
sftp
.
put
(
f
.
name
,
remotepath
=
'testfile'
)
...
...
@@ -117,14 +117,14 @@ class TestSFTPOperations(ProFTPdTestCase):
def
test_uploaded_file_not_visible_until_fully_uploaded
(
self
):
test_self
=
self
class
PartialFile
(
StringIO
.
StringIO
):
class
PartialFile
(
io
.
StringIO
):
def
read
(
self
,
*
args
):
# file is not visible yet
test_self
.
assertNotIn
(
'destination'
,
os
.
listdir
(
test_self
.
upload_dir
))
# it's just a hidden file
test_self
.
assertEqual
(
[
'.in.destination.'
],
os
.
listdir
(
test_self
.
upload_dir
))
return
StringIO
.
StringIO
.
read
(
self
,
*
args
)
return
super
().
read
(
*
args
)
with
self
.
_getConnection
()
as
sftp
:
sftp
.
sftp_client
.
putfo
(
PartialFile
(
"content"
),
"destination"
)
...
...
@@ -136,7 +136,7 @@ class TestSFTPOperations(ProFTPdTestCase):
test_self
=
self
with
self
.
_getConnection
()
as
sftp
:
class
ErrorFile
(
StringIO
.
StringIO
):
class
ErrorFile
(
io
.
StringIO
):
def
read
(
self
,
*
args
):
# at this point, file is already created on server
test_self
.
assertEqual
(
...
...
@@ -152,17 +152,17 @@ class TestSFTPOperations(ProFTPdTestCase):
def
test_user_cannot_escape_home
(
self
):
with
self
.
_getConnection
()
as
sftp
:
with
self
.
assertRaises
Regexp
(
IOError
,
'Permission denied'
):
with
self
.
assertRaises
(
PermissionError
):
sftp
.
listdir
(
'..'
)
with
self
.
assertRaises
Regexp
(
IOError
,
'Permission denied'
):
with
self
.
assertRaises
(
PermissionError
):
sftp
.
listdir
(
'/'
)
with
self
.
assertRaises
Regexp
(
IOError
,
'Permission denied'
):
with
self
.
assertRaises
(
PermissionError
):
sftp
.
listdir
(
'/tmp/'
)
class
TestUserManagement
(
ProFTPdTestCase
):
def
test_user_can_be_added_from_script
(
self
):
with
self
.
assertRaisesRegex
p
(
AuthenticationException
,
with
self
.
assertRaisesRegex
(
AuthenticationException
,
'Authentication failed'
):
self
.
_getConnection
(
username
=
'bob'
,
password
=
'secret'
)
...
...
@@ -177,12 +177,12 @@ class TestBan(ProFTPdTestCase):
def
test_client_are_banned_after_5_wrong_passwords
(
self
):
# Simulate failed 5 login attempts
for
i
in
range
(
5
):
with
self
.
assertRaisesRegex
p
(
AuthenticationException
,
with
self
.
assertRaisesRegex
(
AuthenticationException
,
'Authentication failed'
):
self
.
_getConnection
(
password
=
'wrong'
)
# after that, even with a valid password we cannot connect
with
self
.
assertRaisesRegex
p
(
SSHException
,
'Connection reset by peer'
):
with
self
.
assertRaisesRegex
(
SSHException
,
'Connection reset by peer'
):
self
.
_getConnection
()
# ban event is logged
...
...
@@ -190,7 +190,7 @@ class TestBan(ProFTPdTestCase):
'var'
,
'log'
,
'proftpd-ban.log'
))
as
ban_log_file
:
self
.
assertRegex
pMatches
(
self
.
assertRegex
(
ban_log_file
.
readlines
()[
-
1
],
'login from host .* denied due to host ban'
)
...
...
@@ -203,7 +203,7 @@ class TestInstanceParameterPort(ProFTPdTestCase):
def
test_instance_parameter_port
(
self
):
parameter_dict
=
self
.
computer_partition
.
getConnectionParameterDict
()
sftp_url
=
urlparse
.
urlparse
(
parameter_dict
[
'url'
])
sftp_url
=
urlparse
(
parameter_dict
[
'url'
])
self
.
assertEqual
(
self
.
free_port
,
sftp_url
.
port
)
self
.
assertTrue
(
self
.
_getConnection
())
...
...
software/repman/buildout.hash.cfg
View file @
8c273006
...
...
@@ -14,11 +14,11 @@
# not need these here).
[instance.cfg]
filename = instance.cfg.in
md5sum =
027cdcfe251b7bba9b779fee890a9162
md5sum =
fd0df2c4a91c1e478b72cbaeb6c021c3
[instance-repman.cfg]
_update_hash_filename_ = instance-repman.cfg.jinja2.in
md5sum =
657ecdb1dfbbcf53e4e7932b3b5708c4
md5sum =
1d6eba3984b3e2009682f6ce49b8ac4d
[config-toml.in]
_update_hash_filename_ = templates/config.toml.in
...
...
@@ -34,7 +34,7 @@ md5sum = 0eeb24c6aa0760f0d33c4cc2828ddf30
[template-mariadb.cfg]
_update_hash_filename_ = instance-mariadb.cfg.jinja2.in
md5sum =
189ccee60d0fb53e29431a45e0816bc1
md5sum =
21a29a41768b2370d671d3086b3ef2bb
[template-my-cnf]
_update_hash_filename_ = templates/my.cnf.in
...
...
software/repman/instance-mariadb.cfg.jinja2.in
View file @
8c273006
...
...
@@ -156,7 +156,7 @@ wrapper = ${directory:controller}/mariadb
{% do part_list.append("supervisord-mariadb") %}
[odbc-ini-text]
text = {{ dumps(
slapparameter_dict.get('odbc-ini', '').encode('base64'
)) }}
text = {{ dumps(
base64.b64encode( slapparameter_dict.get('odbc-ini', '').encode()
)) }}
[{{ section('odbc-ini') }}]
< = jinja2-template-base
...
...
software/repman/instance-repman.cfg.jinja2.in
View file @
8c273006
...
...
@@ -359,7 +359,7 @@ update-command = ${:command}
[replication-manager-reload]
recipe = slapos.recipe.template:jinja2
template = {{ template_repman_manager_sh }}
cluster-list = {{ dumps(
slapparameter_dict.get('repman-cluster-dict', default_parameter_dict).keys(
) ) }}
cluster-list = {{ dumps(
list(slapparameter_dict.get('repman-cluster-dict', default_parameter_dict)
) ) }}
context =
section parameter_dict repman
key username repman-parameter:username
...
...
software/repman/instance.cfg.in
View file @
8c273006
...
...
@@ -101,3 +101,4 @@ template = {{ template_mariadb }}
filename = instance-mariadb.cfg
extra-context =
section parameter_dict template-mariadb-parameters
import base64 base64
software/repman/software.cfg
View file @
8c273006
...
...
@@ -28,6 +28,9 @@ parts =
template-mariadb.cfg
template-mysqld-wrapper
gowork
[python]
part = python3
[instance.cfg]
recipe = slapos.recipe.template:jinja2
...
...
software/slapos-master/buildout.hash.cfg
View file @
8c273006
...
...
@@ -18,7 +18,7 @@ md5sum = 2ef0ddc206c6b0982a37cfc21f23e423
[template-balancer]
filename = instance-balancer.cfg.in
md5sum =
ef86e09e44ac67a9b15939df0ab4a466
md5sum =
4998e62351f54700ee23a2ca8cd89329
[template-apache-backend-conf]
filename = apache-backend.conf.in
...
...
software/slapos-master/instance-balancer.cfg.in
View file @
8c273006
...
...
@@ -7,9 +7,6 @@
XXX: This template only supports exactly one IPv4 and (if ipv6 is used) one IPv6
per partition. No more (undefined result), no less (IndexError).
-#}
# TODO: insert varnish between apache & haproxy.
# And think of a way to specify which urls goe through varnish, which go
# directly to haproxy. (maybe just passing literal configuration file chunk)
{% set ipv4 = (ipv4_set | list)[0] -%}
{% set apache_ip_list = [ipv4] -%}
{% if ipv6_set -%}
...
...
software/slapos-sr-testing/software-py3.cfg
View file @
8c273006
...
...
@@ -14,3 +14,5 @@ eggs -=
extra =
${slapos.test.monitor-setup:setup}
${slapos.test.powerdns-setup:setup}
${slapos.test.proftpd-setup:setup}
${slapos.test.repman-setup:setup}
software/slapos-sr-testing/software.cfg
View file @
8c273006
...
...
@@ -257,7 +257,6 @@ extra =
${slapos.test.htmlvalidatorserver-setup:setup}
${slapos.test.slapos-master-setup:setup}
${slapos.test.plantuml-setup:setup}
${slapos.test.proftpd-setup:setup}
${slapos.test.re6stnet-setup:setup}
${slapos.test.seleniumserver-setup:setup}
${slapos.test.helloworld-setup:setup}
...
...
@@ -270,7 +269,6 @@ extra =
${slapos.test.gitlab-setup:setup}
${slapos.test.cloudooo-setup:setup}
${slapos.test.dream-setup:setup}
${slapos.test.repman-setup:setup}
[versions]
# slapos.core is used from the clone always
...
...
software/slapos-testing/buildout.hash.cfg
View file @
8c273006
...
...
@@ -15,4 +15,4 @@
[template]
filename = instance.cfg
md5sum =
a04806bdebd611c7f6698b4bef7af70d
md5sum =
2df601dd3ccb3ba38b3aee7243b7f8e5
software/slapos-testing/instance.cfg
View file @
8c273006
...
...
@@ -70,6 +70,10 @@ repository = ${slapos.toolbox-repository:location}
<= download-source
repository = ${slapos.rebootstrap-repository:location}
[rubygemsrecipe]
<= download-source
repository = ${rubygemsrecipe-repository:location}
[slapos-test-runner]
recipe = slapos.cookbook:wrapper
...
...
@@ -77,7 +81,7 @@ wrapper-path = $${create-directory:bin}/runTestSuite
command-line =
${buildout:bin-directory}/runTestSuite
--python_interpreter=${buildout:bin-directory}/${eggs:interpreter}
--source_code_path_list=$${kedifa:location},$${caucase:location},$${erp5.util:location},$${slapos.cookbook:location},$${slapos.core:location},$${slapos.recipe.build:location},$${slapos.recipe.cmmi:location},$${slapos.recipe.template:location},$${slapos.toolbox:location},$${slapos.libnetworkcache:location},$${slapos.rebootstrap:location}
--source_code_path_list=$${kedifa:location},$${caucase:location},$${erp5.util:location},$${slapos.cookbook:location},$${slapos.core:location},$${slapos.recipe.build:location},$${slapos.recipe.cmmi:location},$${slapos.recipe.template:location},$${slapos.toolbox:location},$${slapos.libnetworkcache:location},$${slapos.rebootstrap:location}
,$${rubygemsrecipe:location}
# Notes about environment:
# * slapos.cookbook:wrapper does not seem to allow "extending" PATH. Tests
...
...
software/slapos-testing/software.cfg
View file @
8c273006
...
...
@@ -97,6 +97,11 @@ depends =
egg = slapos.rebootstrap[test]
setup = ${slapos.rebootstrap-repository:location}
[rubygemsrecipe-setup]
<= setup-develop-egg
egg = rubygemsrecipe
setup = ${rubygemsrecipe-repository:location}
[eggs]
recipe = zc.recipe.egg
eggs =
...
...
@@ -118,6 +123,7 @@ eggs =
${slapos.toolbox-setup:egg}
${slapos.libnetworkcache-setup:egg}
${slapos.rebootstrap-setup:egg}
${rubygemsrecipe-setup:egg}
zope.testing
supervisor
entry-points =
...
...
@@ -186,6 +192,10 @@ repository = https://lab.nexedi.com/nexedi/slapos.toolbox.git
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/slapos.rebootstrap.git
[rubygemsrecipe-repository]
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/rubygemsrecipe.git
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
...
...
stack/erp5/buildout.hash.cfg
View file @
8c273006
...
...
@@ -90,7 +90,7 @@ md5sum = 2f3ddd328ac1c375e483ecb2ef5ffb57
[template-balancer]
filename = instance-balancer.cfg.in
md5sum =
0097e49b5bd7ad4978c722c1cdd27d6c
md5sum =
bb9a953ce22f7d5188385f0171b6198e
[template-haproxy-cfg]
filename = haproxy.cfg.in
...
...
stack/erp5/instance-balancer.cfg.in
View file @
8c273006
...
...
@@ -7,9 +7,6 @@
XXX: This template only supports exactly one IPv4 and (if ipv6 is used) one IPv6
per partition. No more (undefined result), no less (IndexError).
-#}
# TODO: insert varnish between apache & haproxy.
# And think of a way to specify which urls goe through varnish, which go
# directly to haproxy. (maybe just passing literal configuration file chunk)
{% set ipv4 = (ipv4_set | list)[0] -%}
{% set apache_ip_list = [ipv4] -%}
{% if ipv6_set -%}
...
...
stack/lamp/buildout.cfg
View file @
8c273006
...
...
@@ -4,20 +4,13 @@ ignore-existing = true
parts =
slapos-cookbook
apache-php
php-redis
php-imagick
php-apcu
mariadb
mroonga-mariadb
dropbear
eggs
instance
instance-apache-php
template-mariadb
instance-lamp
extends =
buildout.hash.cfg
../../component/curl/buildout.cfg
...
...
stack/slapos.cfg
View file @
8c273006
...
...
@@ -172,7 +172,7 @@ pyparsing = 2.2.0
pytz = 2016.10
requests = 2.24.0
six = 1.12.0
slapos.cookbook = 1.0.1
52
slapos.cookbook = 1.0.1
67
slapos.core = 1.6.2
slapos.extension.strip = 0.4
slapos.extension.shared = 1.0
...
...
@@ -231,7 +231,7 @@ enum34 = 1.1.10
# Required by:
# slapos.toolbox==0.94
erp5.util = 0.4.6
8
erp5.util = 0.4.6
9
# Required by:
# slapos.toolbox==0.94
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment