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
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Steven Gueguen
slapos
Commits
021ae883
Commit
021ae883
authored
Nov 22, 2021
by
Łukasz Nowak
Browse files
Options
Browse Files
Download
Plain Diff
Update Release Candidate
parents
03f25b19
acf93f14
Changes
70
Show whitespace changes
Inline
Side-by-side
Showing
70 changed files
with
536 additions
and
282 deletions
+536
-282
component/6tunnel/buildout.cfg
component/6tunnel/buildout.cfg
+2
-10
component/autoconf/autoconf-2.69-shebang_workaround.patch
component/autoconf/autoconf-2.69-shebang_workaround.patch
+0
-72
component/autoconf/autoconf-2.71-shebang_workaround.patch
component/autoconf/autoconf-2.71-shebang_workaround.patch
+24
-0
component/autoconf/buildout.cfg
component/autoconf/buildout.cfg
+3
-3
component/automake/buildout.cfg
component/automake/buildout.cfg
+2
-2
component/bash/buildout.cfg
component/bash/buildout.cfg
+18
-0
component/bison/buildout.cfg
component/bison/buildout.cfg
+2
-2
component/caddy/buildout.cfg
component/caddy/buildout.cfg
+1
-1
component/cmake/buildout.cfg
component/cmake/buildout.cfg
+7
-2
component/coreutils/buildout.cfg
component/coreutils/buildout.cfg
+2
-2
component/curl/buildout.cfg
component/curl/buildout.cfg
+2
-3
component/dash/buildout.cfg
component/dash/buildout.cfg
+2
-2
component/file/buildout.cfg
component/file/buildout.cfg
+2
-2
component/findutils/buildout.cfg
component/findutils/buildout.cfg
+2
-2
component/gdbm/buildout.cfg
component/gdbm/buildout.cfg
+2
-2
component/git/buildout.cfg
component/git/buildout.cfg
+2
-2
component/gnutls/buildout.cfg
component/gnutls/buildout.cfg
+6
-6
component/gzip/buildout.cfg
component/gzip/buildout.cfg
+2
-2
component/java/buildout.cfg
component/java/buildout.cfg
+35
-5
component/libcap-ng/buildout.cfg
component/libcap-ng/buildout.cfg
+2
-2
component/libfastjson/buildout.cfg
component/libfastjson/buildout.cfg
+2
-2
component/librsync/buildout.cfg
component/librsync/buildout.cfg
+2
-6
component/librsync/librsync-2.0.0-issue50.patch
component/librsync/librsync-2.0.0-issue50.patch
+0
-11
component/libtasn1/buildout.cfg
component/libtasn1/buildout.cfg
+2
-2
component/libuuid/buildout.cfg
component/libuuid/buildout.cfg
+3
-23
component/libyaml/buildout.cfg
component/libyaml/buildout.cfg
+2
-2
component/logrotate/buildout.cfg
component/logrotate/buildout.cfg
+2
-2
component/nettle/buildout.cfg
component/nettle/buildout.cfg
+2
-2
component/nginx/buildout.cfg
component/nginx/buildout.cfg
+2
-2
component/noVNC/buildout.cfg
component/noVNC/buildout.cfg
+2
-2
component/openssl/buildout.cfg
component/openssl/buildout.cfg
+2
-2
component/p11-kit/buildout.cfg
component/p11-kit/buildout.cfg
+3
-3
component/pcre/buildout.cfg
component/pcre/buildout.cfg
+2
-2
component/popt/buildout.cfg
component/popt/buildout.cfg
+2
-2
component/proxysql/buildout.cfg
component/proxysql/buildout.cfg
+1
-1
component/rsyslogd/buildout.cfg
component/rsyslogd/buildout.cfg
+2
-2
component/sqlite3/buildout.cfg
component/sqlite3/buildout.cfg
+2
-2
component/swig/buildout.cfg
component/swig/buildout.cfg
+2
-2
component/tcl/buildout.cfg
component/tcl/buildout.cfg
+2
-2
component/trafficserver/buildout.cfg
component/trafficserver/buildout.cfg
+2
-2
component/wendelin.core/activate-WC2-preview.cfg
component/wendelin.core/activate-WC2-preview.cfg
+0
-18
component/wendelin.core/buildout.cfg
component/wendelin.core/buildout.cfg
+1
-1
component/xorg/buildout.cfg
component/xorg/buildout.cfg
+2
-2
component/zbar/buildout.cfg
component/zbar/buildout.cfg
+2
-2
software/caddy-frontend/buildout.hash.cfg
software/caddy-frontend/buildout.hash.cfg
+1
-1
software/caddy-frontend/templates/backend-haproxy.cfg.in
software/caddy-frontend/templates/backend-haproxy.cfg.in
+2
-0
software/caddy-frontend/test/test.py
software/caddy-frontend/test/test.py
+16
-7
software/fluentd/test/test.py
software/fluentd/test/test.py
+5
-4
software/kvm/buildout.hash.cfg
software/kvm/buildout.hash.cfg
+3
-3
software/kvm/instance-kvm-export.cfg.jinja2
software/kvm/instance-kvm-export.cfg.jinja2
+10
-0
software/kvm/instance-kvm.cfg.jinja2
software/kvm/instance-kvm.cfg.jinja2
+1
-0
software/kvm/template/kvm-export.sh.jinja2
software/kvm/template/kvm-export.sh.jinja2
+1
-1
software/kvm/test/test.py
software/kvm/test/test.py
+28
-0
software/metabase/README.md
software/metabase/README.md
+2
-2
software/metabase/buildout.hash.cfg
software/metabase/buildout.hash.cfg
+1
-1
software/metabase/instance.cfg.in
software/metabase/instance.cfg.in
+70
-14
software/metabase/software.cfg
software/metabase/software.cfg
+7
-2
software/metabase/test/test.py
software/metabase/test/test.py
+1
-1
software/nginx-push-stream/buildout.hash.cfg
software/nginx-push-stream/buildout.hash.cfg
+2
-2
software/nginx-push-stream/instance.cfg.in
software/nginx-push-stream/instance.cfg.in
+13
-0
software/nginx-push-stream/template-nginx.cfg.in
software/nginx-push-stream/template-nginx.cfg.in
+1
-1
software/nginx-push-stream/test/test.py
software/nginx-push-stream/test/test.py
+57
-1
software/proftpd/README.md
software/proftpd/README.md
+0
-1
software/proftpd/buildout.hash.cfg
software/proftpd/buildout.hash.cfg
+1
-1
software/proftpd/instance-default.cfg.in
software/proftpd/instance-default.cfg.in
+12
-0
software/proftpd/test/test.py
software/proftpd/test/test.py
+134
-19
software/repman/software.cfg
software/repman/software.cfg
+4
-0
software/slapos-master/software.cfg
software/slapos-master/software.cfg
+0
-1
software/slapos-sr-testing/software-py3.cfg
software/slapos-sr-testing/software-py3.cfg
+1
-0
software/slapos-sr-testing/software.cfg
software/slapos-sr-testing/software.cfg
+1
-1
No files found.
component/6tunnel/buildout.cfg
View file @
021ae883
...
@@ -3,17 +3,9 @@
...
@@ -3,17 +3,9 @@
[buildout]
[buildout]
parts = 6tunnel
parts = 6tunnel
extends =
../autoconf/buildout.cfg
../automake/buildout.cfg
[6tunnel]
[6tunnel]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://github.com/wojtekka/6tunnel/releases/download/0.11rc2/6tunnel-0.11rc2.tar.gz
url = https://github.com/wojtekka/6tunnel/releases/download/0.13/6tunnel-0.13.tar.gz
md5sum = 74e02d4f0704b3083a01feda66033449
md5sum = b13ba5ad8efc5d74b2dd71c2df85ef35
pre-configure =
aclocal
autoconf
environment =
PATH=${autoconf:location}/bin:${automake:location}/bin:%(PATH)s
component/autoconf/autoconf-2.69-shebang_workaround.patch
deleted
100644 → 0
View file @
03f25b19
diff -ur autoconf-2.69/bin/Makefile.in autoconf-2.69/bin/Makefile.in
--- autoconf-2.69/bin/Makefile.in 2012-04-25 04:40:26.000000000 +0200
+++ autoconf-2.69/bin/Makefile.in 2017-04-12 16:47:38.029273723 +0200
@@ -214,7 +214,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
diff -ur autoconf-2.69/lib/autoconf/Makefile.in autoconf-2.69/lib/autoconf/Makefile.in
--- autoconf-2.69/lib/autoconf/Makefile.in 2012-04-25 04:40:26.000000000 +0200
+++ autoconf-2.69/lib/autoconf/Makefile.in 2017-04-12 16:47:38.033273747 +0200
@@ -230,7 +230,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
diff -ur autoconf-2.69/lib/autoscan/Makefile.in autoconf-2.69/lib/autoscan/Makefile.in
--- autoconf-2.69/lib/autoscan/Makefile.in 2012-04-25 04:40:26.000000000 +0200
+++ autoconf-2.69/lib/autoscan/Makefile.in 2017-04-12 16:47:38.029273723 +0200
@@ -216,7 +216,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
diff -ur autoconf-2.69/lib/autotest/Makefile.in autoconf-2.69/lib/autotest/Makefile.in
--- autoconf-2.69/lib/autotest/Makefile.in 2012-04-25 04:40:26.000000000 +0200
+++ autoconf-2.69/lib/autotest/Makefile.in 2017-04-12 16:47:38.029273723 +0200
@@ -223,7 +223,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
diff -ur autoconf-2.69/lib/m4sugar/Makefile.in autoconf-2.69/lib/m4sugar/Makefile.in
--- autoconf-2.69/lib/m4sugar/Makefile.in 2012-04-25 04:40:26.000000000 +0200
+++ autoconf-2.69/lib/m4sugar/Makefile.in 2017-04-12 16:47:38.033273747 +0200
@@ -228,7 +228,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
diff -ur autoconf-2.69/tests/Makefile.in autoconf-2.69/tests/Makefile.in
--- autoconf-2.69/tests/Makefile.in 2012-04-25 04:40:26.000000000 +0200
+++ autoconf-2.69/tests/Makefile.in 2017-04-12 16:47:38.025273698 +0200
@@ -201,7 +201,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_builddir)/bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_builddir)/bin/autom4te \
-B '$(top_builddir)'/lib -B '$(top_srcdir)'/lib # keep ` '
component/autoconf/autoconf-2.71-shebang_workaround.patch
0 → 100644
View file @
021ae883
diff -ur autoconf-2.71.orig/lib/freeze.mk autoconf-2.71/lib/freeze.mk
--- autoconf-2.71.orig/lib/freeze.mk 2021-01-28 21:46:48.000000000 +0100
+++ autoconf-2.71/lib/freeze.mk 2021-10-25 09:21:38.519238189 +0200
@@ -31,7 +31,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_build_prefix)bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_build_prefix)bin/autom4te \
-B '$(top_build_prefix)'lib -B '$(top_srcdir)'/lib # keep ` '
# When processing the file with diversion disabled, there must be no
diff -ur autoconf-2.71.orig/Makefile.in autoconf-2.71/Makefile.in
--- autoconf-2.71.orig/Makefile.in 2021-01-28 22:06:02.000000000 +0100
+++ autoconf-2.71/Makefile.in 2021-10-25 09:22:07.231239851 +0200
@@ -577,7 +577,7 @@
# apply to us.
MY_AUTOM4TE = \
autom4te_perllibdir='$(top_srcdir)'/lib \
- AUTOM4TE_CFG='$(AUTOM4TE_CFG)' $(top_build_prefix)bin/autom4te \
+ AUTOM4TE_CFG='$(AUTOM4TE_CFG)' perl $(top_build_prefix)bin/autom4te \
-B '$(top_build_prefix)'lib -B '$(top_srcdir)'/lib # keep ` '
component/autoconf/buildout.cfg
View file @
021ae883
...
@@ -10,12 +10,12 @@ parts =
...
@@ -10,12 +10,12 @@ parts =
[autoconf]
[autoconf]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://ftp.gnu.org/gnu/autoconf/autoconf-2.
69
.tar.gz
url = http://ftp.gnu.org/gnu/autoconf/autoconf-2.
71
.tar.gz
md5sum =
82d05e03b93e45f5a39b828dc9c6c29b
md5sum =
f64e38d671fdec06077a41eb4d5ee476
pre-configure = cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess build-aux/
pre-configure = cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess build-aux/
patch-options = -p1
patch-options = -p1
patches =
patches =
${:_profile_base_location_}/autoconf-2.
69-shebang_workaround.patch#9d286e6f9c271dff361891e381be706
d
${:_profile_base_location_}/autoconf-2.
71-shebang_workaround.patch#9b4e417d661101f737d588eb1401747
d
environment =
environment =
M4=${m4:location}/bin/m4
M4=${m4:location}/bin/m4
PATH=${patch:location}/bin:${perl:location}/bin:%(PATH)s
PATH=${patch:location}/bin:${perl:location}/bin:%(PATH)s
component/automake/buildout.cfg
View file @
021ae883
...
@@ -10,8 +10,8 @@ parts =
...
@@ -10,8 +10,8 @@ parts =
[automake]
[automake]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
md5sum =
53f38e7591fa57c3d2cee682be668e5b
md5sum =
4017e96f89fca45ca946f1c5db6be714
url = https://ftp.gnu.org/gnu/automake/automake-1.16.
1
.tar.xz
url = https://ftp.gnu.org/gnu/automake/automake-1.16.
5
.tar.xz
patch-options = -p1
patch-options = -p1
patches =
patches =
${:_profile_base_location_}/automake-1.16-shebang_workaround.patch#203f9199b0e629de3630b5959f8cf73e
${:_profile_base_location_}/automake-1.16-shebang_workaround.patch#203f9199b0e629de3630b5959f8cf73e
...
...
component/bash/buildout.cfg
View file @
021ae883
...
@@ -42,6 +42,24 @@ patches =
...
@@ -42,6 +42,24 @@ patches =
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-028#dd51fa67913b5dca45a702b672b3323f
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-028#dd51fa67913b5dca45a702b672b3323f
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-029#0729364c977ef4271e9f8dfafadacf67
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-029#0729364c977ef4271e9f8dfafadacf67
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-030#efb709fdb1368945513de23ccbfae053
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-030#efb709fdb1368945513de23ccbfae053
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-031#236df1ac1130a033ed0dbe2d2115f28f
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-032#2360f7e79cfb28526f80021025ea5909
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-033#b551c4ee7b8713759e4143499d0bbd48
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-034#c9a56fbe0348e05a886dff97f2872b74
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-035#e564e8ab44ed1ca3a4e315a9f6cabdc9
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-036#b00ff66c41a7c0f06e191200981980b0
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-037#be2a7b05f6ae560313f3c9d5f7127bda
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-038#61e0522830b24fbe8c0d1b010f132470
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-039#a4775487abe958536751c8ce53cdf6f9
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-040#80d3587c58854e226055ef099ffeb535
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-041#20bf63eef7cb441c0b1cc49ef3191d03
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-042#70790646ae61e207c995e44931390e50
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-043#855a46955cb251534e80b4732b748e37
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-044#29623d3282fcbb37e1158136509b5bb8
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-045#4473244ca5abfd4b018ea26dc73e7412
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-046#7e5fb09991c077076b86e0e057798913
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-047#8483153bad1a6f52cadc3bd9a8df7835
http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-048#e9f5dc12a32b2e0d3961344e794f92b3
configure-options =
configure-options =
--with-curses
--with-curses
environment =
environment =
...
...
component/bison/buildout.cfg
View file @
021ae883
...
@@ -12,8 +12,8 @@ parts =
...
@@ -12,8 +12,8 @@ parts =
[bison]
[bison]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http
://ftp.gnu.org/gnu/bison/bison-3.3
.2.tar.xz
url = http
s://ftp.gnu.org/gnu/bison/bison-3.8
.2.tar.xz
md5sum = c
9b552dee234b2f6b66e56b27e5234c9
md5sum = c
28f119f405a2304ff0a7ccdcc629713
environment =
environment =
M4=${m4:location}/bin/m4
M4=${m4:location}/bin/m4
PATH=${autoconf:location}/bin:${automake:location}/bin:${patch:location}/bin:${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
PATH=${autoconf:location}/bin:${automake:location}/bin:${patch:location}/bin:${perl:location}/bin:${xz-utils:location}/bin:%(PATH)s
...
...
component/caddy/buildout.cfg
View file @
021ae883
...
@@ -13,7 +13,7 @@ repository = https://lab.nexedi.com/nexedi/caddy.git
...
@@ -13,7 +13,7 @@ repository = https://lab.nexedi.com/nexedi/caddy.git
revision = nxd-v1.0.3-1-g2c11cedc
revision = nxd-v1.0.3-1-g2c11cedc
[gowork]
[gowork]
golang = ${golang1.1
6
:location}
golang = ${golang1.1
7
:location}
install =
install =
${caddy-get:location}:./...
${caddy-get:location}:./...
...
...
component/cmake/buildout.cfg
View file @
021ae883
...
@@ -9,8 +9,13 @@ parts =
...
@@ -9,8 +9,13 @@ parts =
[cmake]
[cmake]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://cmake.org/files/v3.
18/cmake-3.18.4
.tar.gz
url = https://cmake.org/files/v3.
21/cmake-3.21.3
.tar.gz
md5sum =
0380beaee1c39a22455db02651abe7b
e
md5sum =
c0feb5855604f68b09bdb3acb623619
e
environment =
environment =
CMAKE_INCLUDE_PATH=${ncurses:location}/include:${openssl:location}/include
CMAKE_INCLUDE_PATH=${ncurses:location}/include:${openssl:location}/include
CMAKE_LIBRARY_PATH=${ncurses:location}/lib:${openssl:location}/lib
CMAKE_LIBRARY_PATH=${ncurses:location}/lib:${openssl:location}/lib
[cmake-3.18]
<= cmake
url = https://cmake.org/files/v3.18/cmake-3.18.4.tar.gz
md5sum = 0380beaee1c39a22455db02651abe7be
component/coreutils/buildout.cfg
View file @
021ae883
...
@@ -9,8 +9,8 @@ parts =
...
@@ -9,8 +9,8 @@ parts =
[coreutils]
[coreutils]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://ftp.gnu.org/gnu/coreutils/coreutils-
8.31
.tar.xz
url = https://ftp.gnu.org/gnu/coreutils/coreutils-
9.0
.tar.xz
md5sum = 0
009a224d8e288e8ec406ef0161f9293
md5sum = 0
d79ae8a6124546e3b94171375e5e5d0
configure-options =
configure-options =
--disable-libcap
--disable-libcap
--prefix=@@LOCATION@@
--prefix=@@LOCATION@@
...
...
component/curl/buildout.cfg
View file @
021ae883
...
@@ -16,8 +16,8 @@ parts =
...
@@ -16,8 +16,8 @@ parts =
[curl]
[curl]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://curl.haxx.se/download/curl-7.7
6.0
.tar.xz
url = http://curl.haxx.se/download/curl-7.7
9.1
.tar.xz
md5sum =
41178ceea57c863f883b6fe2c3ac276f
md5sum =
74d3c4ca8aaa6c0619806d6e246e65fb
configure-options =
configure-options =
--disable-static
--disable-static
--disable-ech
--disable-ech
...
@@ -45,7 +45,6 @@ configure-options =
...
@@ -45,7 +45,6 @@ configure-options =
--without-nss
--without-nss
--without-libpsl
--without-libpsl
--without-libgsasl
--without-libgsasl
--without-libmetalink
--without-libssh2
--without-libssh2
--without-libssh
--without-libssh
--without-librtmp
--without-librtmp
...
...
component/dash/buildout.cfg
View file @
021ae883
...
@@ -7,8 +7,8 @@ parts = dash-output
...
@@ -7,8 +7,8 @@ parts = dash-output
[dash]
[dash]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.
8
.tar.gz
url = http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.
11
.tar.gz
md5sum =
5c152209680dab3c319e8923f6c51378
md5sum =
027236e48b9202607b1418fee42c473e
configure-options =
configure-options =
--disable-static
--disable-static
--disable-fnmatch
--disable-fnmatch
...
...
component/file/buildout.cfg
View file @
021ae883
...
@@ -11,8 +11,8 @@ extends =
...
@@ -11,8 +11,8 @@ extends =
[file]
[file]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://ftp.icm.edu.pl/packages/file/file-5.
39
.tar.gz
url = http://ftp.icm.edu.pl/packages/file/file-5.
41
.tar.gz
md5sum = 1
c450306053622803a25647d88f80f25
md5sum = 1
8233bb0a0089dfdc7dfbc93b96f231b
configure-options =
configure-options =
--disable-static
--disable-static
--disable-libseccomp
--disable-libseccomp
...
...
component/findutils/buildout.cfg
View file @
021ae883
...
@@ -7,8 +7,8 @@ parts =
...
@@ -7,8 +7,8 @@ parts =
[findutils]
[findutils]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://ftp.debian.org/debian/pool/main/f/findutils/findutils_4.
6.0+git+2019051
0.orig.tar.xz
url = http://ftp.debian.org/debian/pool/main/f/findutils/findutils_4.
8.
0.orig.tar.xz
md5sum =
9ae8d2b323b0b12a484abcbff1d2c4
86
md5sum =
eeefe2e6380931a77dfa6d9350b431
86
[findutils-output]
[findutils-output]
# Shared binary location to ease migration
# Shared binary location to ease migration
...
...
component/gdbm/buildout.cfg
View file @
021ae883
...
@@ -5,9 +5,9 @@ parts =
...
@@ -5,9 +5,9 @@ parts =
[gdbm]
[gdbm]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
version = 1.
19
version = 1.
22
url = http://ftp.gnu.org/gnu/gdbm/gdbm-${:version}.tar.gz
url = http://ftp.gnu.org/gnu/gdbm/gdbm-${:version}.tar.gz
md5sum =
aeb29c6a90350a4c959cd1df38cd0a7e
md5sum =
0bbd38f12656e4728e2f7c4708aec014
configure-options =
configure-options =
--disable-static
--disable-static
--enable-libgdbm-compat
--enable-libgdbm-compat
component/git/buildout.cfg
View file @
021ae883
...
@@ -18,8 +18,8 @@ parts =
...
@@ -18,8 +18,8 @@ parts =
[git]
[git]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.33.
0
.tar.xz
url = https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.33.
1
.tar.xz
md5sum =
0990ff97af1511be0d9f0d3223dd4359
md5sum =
3462f34d9c17288eee854b7645f6a0a1
configure-options =
configure-options =
--with-curl=${curl:location}
--with-curl=${curl:location}
--with-openssl=${openssl:location}
--with-openssl=${openssl:location}
...
...
component/gnutls/buildout.cfg
View file @
021ae883
...
@@ -21,8 +21,8 @@ environment-extra =
...
@@ -21,8 +21,8 @@ environment-extra =
[libgpg-error]
[libgpg-error]
<= gpg-common
<= gpg-common
version = 1.
27
version = 1.
42
md5sum =
5217ef3e76a7275a2a3b569a12ddc989
md5sum =
133fed221ba8f63f5842858a1ff67cb3
configure-options-extra =
configure-options-extra =
--disable-doc
--disable-doc
--disable-tests
--disable-tests
...
@@ -37,15 +37,15 @@ environment-extra =
...
@@ -37,15 +37,15 @@ environment-extra =
[libgcrypt]
[libgcrypt]
<= with-gpg-error
<= with-gpg-error
version = 1.
8.1
version = 1.
9.4
md5sum =
b21817f9d850064d2177285f1073ec55
md5sum =
edc7becfe09c75d8f95ff7623e40c52e
configure-options-extra2 =
configure-options-extra2 =
--disable-doc
--disable-doc
[gnutls]
[gnutls]
<= gpg-common
<= gpg-common
url = http
://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.15
.tar.xz
url = http
s://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.2
.tar.xz
md5sum =
bcdcbc65c50a7499617ad9f4d0058de
9
md5sum =
95c32a1af583ecfcb280648874c0fbd
9
configure-options-extra =
configure-options-extra =
--disable-doc
--disable-doc
--disable-static
--disable-static
...
...
component/gzip/buildout.cfg
View file @
021ae883
...
@@ -7,7 +7,7 @@ parts =
...
@@ -7,7 +7,7 @@ parts =
[gzip]
[gzip]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://ftp.gnu.org/pub/gnu/gzip/gzip-1.1
0
.tar.xz
url = https://ftp.gnu.org/pub/gnu/gzip/gzip-1.1
1
.tar.xz
md5sum =
691b1221694c3394f1c537df4eee39d3
md5sum =
d1e93996dba00cab0caa7903cd01d454
environment =
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:%(PATH)s
component/java/buildout.cfg
View file @
021ae883
[buildout]
[buildout]
extends =
../coreutils/buildout.cfg
../patchelf/buildout.cfg
../alsa/buildout.cfg
../libpng/buildout.cfg
../freetype/buildout.cfg
../fontconfig/buildout.cfg
../xorg/buildout.cfg
../zlib/buildout.cfg
parts =
parts =
java
java
...
@@ -9,12 +17,12 @@ parts =
...
@@ -9,12 +17,12 @@ parts =
[java-re]
[java-re]
<= java-re-7
<= java-re-7
[java-common]
[java-
sun-
common]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
url = http://javadl.sun.com/webapps/download/AutoDL?BundleId=${:bundle-id}
url = http
s
://javadl.sun.com/webapps/download/AutoDL?BundleId=${:bundle-id}
[java-re-7]
[java-re-7]
<= java-common
<= java-
sun-
common
# http://java.com/en/download/manual_java7.jsp
# http://java.com/en/download/manual_java7.jsp
[java-re-7:linux and platform.machine() == 'i686']
[java-re-7:linux and platform.machine() == 'i686']
...
@@ -26,7 +34,7 @@ bundle-id = 97800
...
@@ -26,7 +34,7 @@ bundle-id = 97800
md5sum = 7605134662f6c87131eca5745895fe84
md5sum = 7605134662f6c87131eca5745895fe84
[java-re-8]
[java-re-8]
<= java-common
<= java-
sun-
common
# https://www.java.com/en/download/manual.jsp
# https://www.java.com/en/download/manual.jsp
# Update 161
# Update 161
...
@@ -45,3 +53,25 @@ stop-on-error = true
...
@@ -45,3 +53,25 @@ stop-on-error = true
update-command = ${:command}
update-command = ${:command}
command = ${coreutils-output:test} -x ${:keytool}
command = ${coreutils-output:test} -x ${:keytool}
keytool = ${java-re-8:location}/bin/keytool
keytool = ${java-re-8:location}/bin/keytool
[java-re-temurin-11]
recipe = slapos.recipe.build
update =
from zc.buildout import UserError
raise UserError("unsupported platform")
[java-re-temurin-11:linux and platform.machine() == 'x86_64']
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.13%2B8/OpenJDK11U-jre_x64_linux_hotspot_11.0.13_8.tar.gz
md5sum = 1b06100bcd0923d3f3279c2f09773af0
configure-command = :
make-binary = :
post-install =
mv * %(location)s
for file in %(location)s/bin/* %(location)s/lib/*.so %(location)s/lib/*/*.so ; do
echo appending rpath to $file
${patchelf:location}/bin/patchelf --set-rpath %(rpath)s $file
done
rpath = ${alsa:location}/lib:${freetype:location}/lib:${fontconfig:location}/lib:${libpng:location}/lib:${libXrender:location}/lib:${libXtst:location}/lib:${libX11:location}/lib:${libXau:location}/lib:${libXext:location}/lib:${libXdmcp:location}/lib:${libXi:location}/lib:${libxcb:location}/lib:${zlib:location}/lib:@@LOCATION@@/lib:@@LOCATION@@/lib/server:@@LOCATION@@/lib/jli
component/libcap-ng/buildout.cfg
View file @
021ae883
...
@@ -8,8 +8,8 @@ parts = libcap-ng
...
@@ -8,8 +8,8 @@ parts = libcap-ng
[libcap-ng]
[libcap-ng]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-0.
7.10
.tar.gz
url = https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-0.
8.2
.tar.gz
md5sum =
57dc267e2949cdecb651a929f9206572
md5sum =
faf1ef766cf068ad1aba4008ced665f7
location = @@LOCATION@@
location = @@LOCATION@@
configure-options =
configure-options =
--with-python=no
--with-python=no
...
...
component/libfastjson/buildout.cfg
View file @
021ae883
...
@@ -10,8 +10,8 @@ parts =
...
@@ -10,8 +10,8 @@ parts =
[libfastjson]
[libfastjson]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
url = https://github.com/rsyslog/libfastjson/archive/v0.99.
8
.tar.gz
url = https://github.com/rsyslog/libfastjson/archive/v0.99.
9
.tar.gz
md5sum =
730713ad1d851def7ac8898f751bbfdd
md5sum =
3c45e6efc838cd364588d6d1822c4ea8
shared = true
shared = true
pre-configure =
pre-configure =
autoreconf -fvi -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal -I ${automake:location}/share/aclocal
autoreconf -fvi -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal -I ${automake:location}/share/aclocal
...
...
component/librsync/buildout.cfg
View file @
021ae883
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
extends =
extends =
../bzip2/buildout.cfg
../bzip2/buildout.cfg
../cmake/buildout.cfg
../cmake/buildout.cfg
../patch/buildout.cfg
../perl/buildout.cfg
../perl/buildout.cfg
../popt/buildout.cfg
../popt/buildout.cfg
../zlib/buildout.cfg
../zlib/buildout.cfg
...
@@ -12,12 +11,9 @@ parts =
...
@@ -12,12 +11,9 @@ parts =
[librsync]
[librsync]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://github.com/librsync/librsync/archive/v2.
0.0
.tar.gz
url = https://github.com/librsync/librsync/archive/v2.
3.2
.tar.gz
md5sum =
cbda9c3eba21bcf2d56a4080ba7a5dc4
md5sum =
74ba5b50de5ba3d595828e9109fa5fce
location = @@LOCATION@@
location = @@LOCATION@@
patch-options = -p1
patches =
${:_profile_base_location_}/librsync-2.0.0-issue50.patch#5bac5363646a2c2ec6d2c4b26ca4cd7f
configure-command = ${cmake:location}/bin/cmake
configure-command = ${cmake:location}/bin/cmake
configure-options =
configure-options =
-DCMAKE_INSTALL_PREFIX=${:location}
-DCMAKE_INSTALL_PREFIX=${:location}
...
...
component/librsync/librsync-2.0.0-issue50.patch
deleted
100644 → 0
View file @
03f25b19
--- librsync-2.0.0/src/search.c 2017-02-20 13:39:48.012922600 +0100
+++ librsync-2.0.0/src/search.c 2017-02-20 13:41:43.661880014 +0100
@@ -218,7 +218,7 @@
r = m;
}
- if (l == r) {
+ if ((l == r) && (l <= bucket->r)) {
int i = sig->targets[l].i;
rs_block_sig_t *b = &(sig->block_sigs[i]);
if (weak_sum != b->weak_sum)
component/libtasn1/buildout.cfg
View file @
021ae883
...
@@ -5,8 +5,8 @@ parts =
...
@@ -5,8 +5,8 @@ parts =
[libtasn1]
[libtasn1]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http
://ftp.gnu.org/gnu/libtasn1/libtasn1-4.12
.tar.gz
url = http
s://ftp.gnu.org/gnu/libtasn1/libtasn1-4.17.0
.tar.gz
md5sum =
5c724bd1f73aaf4a311833e1cd297b21
md5sum =
c46f6eb3bd1287031ae5d36465094402
configure-options =
configure-options =
--disable-static
--disable-static
--disable-gtk-doc-html
--disable-gtk-doc-html
component/libuuid/buildout.cfg
View file @
021ae883
...
@@ -8,30 +8,12 @@ extends =
...
@@ -8,30 +8,12 @@ extends =
[libuuid]
[libuuid]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://www.kernel.org/pub/linux/utils/util-linux/v2.
18/util-linux-ng-2.18.tar.bz2
url = http://www.kernel.org/pub/linux/utils/util-linux/v2.
37/util-linux-2.37.2.tar.xz
md5sum =
2f5f71e6af969d041d73ab778c141a77
md5sum =
d659bf7cd417d93dc609872f6334b019
configure-options =
configure-options =
--disable-static
--disable-static
--disable-all-programs
--enable-libuuid
--enable-libuuid
--disable-agetty
--disable-cramfs
--disable-fallocate
--disable-fsck
--disable-libblkid
--disable-libmount
--disable-makeinstall-chown
--disable-makeinstall-setuid
--disable-mount
--disable-nls
--disable-pivot_root
--disable-rename
--disable-require-password
--disable-schedutils
--disable-switch_root
--disable-tls
--disable-unshare
--disable-uuidd
--disable-wall
--without-libiconv-prefix
--without-libiconv-prefix
--without-libintl-prefix
--without-libintl-prefix
--without-ncurses
--without-ncurses
...
@@ -40,7 +22,5 @@ configure-options =
...
@@ -40,7 +22,5 @@ configure-options =
--without-selinux
--without-selinux
--without-audit
--without-audit
make-options =
-C shlibs/uuid
environment =
environment =
PATH=${perl:location}/bin:%(PATH)s
PATH=${perl:location}/bin:%(PATH)s
component/libyaml/buildout.cfg
View file @
021ae883
...
@@ -7,6 +7,6 @@ parts =
...
@@ -7,6 +7,6 @@ parts =
[libyaml]
[libyaml]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http://pyyaml.org/download/libyaml/yaml-0.
1.6
.tar.gz
url = http://pyyaml.org/download/libyaml/yaml-0.
2.5
.tar.gz
md5sum =
5fe00cda18ca5daeb43762b80c38e06e
md5sum =
bb15429d8fb787e7d3f1c83ae129a999
pre-configure = cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess config/
pre-configure = cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess config/
component/logrotate/buildout.cfg
View file @
021ae883
...
@@ -8,8 +8,8 @@ parts = logrotate
...
@@ -8,8 +8,8 @@ parts = logrotate
[logrotate]
[logrotate]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://github.com/logrotate/logrotate/releases/download/3.1
7.0/logrotate-3.17.0
.tar.xz
url = https://github.com/logrotate/logrotate/releases/download/3.1
8.1/logrotate-3.18.1
.tar.xz
md5sum =
ac2a7151fc8a187201872358a20a2813
md5sum =
07d5aba26c350f9ab5730c25a7277751
# BBB this is only for backward-compatibility.
# BBB this is only for backward-compatibility.
post-install =
post-install =
ln -nsf . @@LOCATION@@/usr
ln -nsf . @@LOCATION@@/usr
...
...
component/nettle/buildout.cfg
View file @
021ae883
...
@@ -7,8 +7,8 @@ extends =
...
@@ -7,8 +7,8 @@ extends =
[nettle]
[nettle]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http
://ftp.gnu.org/gnu/nettle/nettle-3
.3.tar.gz
url = http
s://ftp.gnu.org/gnu/nettle/nettle-3.7
.3.tar.gz
md5sum =
10f969f78a463704ae73529978148dbe
md5sum =
a60273d0fab9c808646fcf5e9edc2e8f
patches =
patches =
${:_profile_base_location_}/nettle-lib-location.patch#3c5f5b285ffd5bc30436ee0f4c662084
${:_profile_base_location_}/nettle-lib-location.patch#3c5f5b285ffd5bc30436ee0f4c662084
configure-option =
configure-option =
...
...
component/nginx/buildout.cfg
View file @
021ae883
...
@@ -11,8 +11,8 @@ parts = nginx-output
...
@@ -11,8 +11,8 @@ parts = nginx-output
[nginx-common]
[nginx-common]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://nginx.org/download/nginx-1.
19.2
.tar.gz
url = https://nginx.org/download/nginx-1.
20.1
.tar.gz
md5sum =
3dc55f6451ed6f819f1c796f4e5e9617
md5sum =
8ca6edd5076bdfad30a69c9c9b41cc68
[nginx]
[nginx]
<= nginx-common
<= nginx-common
...
...
component/noVNC/buildout.cfg
View file @
021ae883
...
@@ -5,6 +5,6 @@ parts =
...
@@ -5,6 +5,6 @@ parts =
[noVNC]
[noVNC]
recipe = slapos.recipe.build:download-unpacked
recipe = slapos.recipe.build:download-unpacked
shared = true
shared = true
url = https://github.com/novnc/noVNC/archive/refs/tags/v1.
2
.0.tar.gz
url = https://github.com/novnc/noVNC/archive/refs/tags/v1.
3
.0.tar.gz
md5sum = 2
90dfabc4ecdd58d62ccb8c34a922962
md5sum = 2
2847b4f6e9caa916aa5eceb046f27aa
strip-top-level-dir = true
strip-top-level-dir = true
component/openssl/buildout.cfg
View file @
021ae883
...
@@ -17,8 +17,8 @@ parts =
...
@@ -17,8 +17,8 @@ parts =
[openssl]
[openssl]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://www.openssl.org/source/openssl-1.1.1
k
.tar.gz
url = https://www.openssl.org/source/openssl-1.1.1
l
.tar.gz
md5sum =
c4e7d95f782b08116afa27b30393dd27
md5sum =
ac0d4387f3ba0ad741b0580dd45f6ff3
location = @@LOCATION@@
location = @@LOCATION@@
# 'prefix' option to override --openssldir/--prefix (which is useful
# 'prefix' option to override --openssldir/--prefix (which is useful
# when combined with DESTDIR). Used by slapos.package.git/obs
# when combined with DESTDIR). Used by slapos.package.git/obs
...
...
component/p11-kit/buildout.cfg
View file @
021ae883
...
@@ -10,9 +10,9 @@ extends =
...
@@ -10,9 +10,9 @@ extends =
[p11-kit]
[p11-kit]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://github.com/p11-glue/p11-kit/releases/download/${:version}/p11-kit-${:version}.tar.
g
z
url = https://github.com/p11-glue/p11-kit/releases/download/${:version}/p11-kit-${:version}.tar.
x
z
version = 0.2
3.7
version = 0.2
4.0
md5sum =
ebbefd123210594231adb4bde21b8560
md5sum =
8ccf11c4a2e2e505b8e516d8549e64a5
configure-options =
configure-options =
--disable-static
--disable-static
--disable-doc-html
--disable-doc-html
...
...
component/pcre/buildout.cfg
View file @
021ae883
...
@@ -7,8 +7,8 @@ parts =
...
@@ -7,8 +7,8 @@ parts =
[pcre]
[pcre]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://ftp.pcre.org/pub/pcre/pcre-8.4
3
.tar.bz2
url = https://ftp.pcre.org/pub/pcre/pcre-8.4
5
.tar.bz2
md5sum =
636222e79e392c3d95dcc545f24f98c4
md5sum =
4452288e6a0eefb2ab11d36010a1eebb
configure-options =
configure-options =
--disable-static
--disable-static
--enable-unicode-properties
--enable-unicode-properties
...
...
component/popt/buildout.cfg
View file @
021ae883
...
@@ -5,8 +5,8 @@ parts =
...
@@ -5,8 +5,8 @@ parts =
[popt]
[popt]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url =
ftp://anduin.linuxfromscratch.org/BLFS/svn/p/popt-1.16
.tar.gz
url =
http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.18
.tar.gz
md5sum =
3743beefa3dd6247a73f8f7a32c14c33
md5sum =
450f2f636e6a3aa527de803d0ae76c5a
configure-options =
configure-options =
--disable-static
--disable-static
...
...
component/proxysql/buildout.cfg
View file @
021ae883
...
@@ -45,7 +45,7 @@ configure-command = true
...
@@ -45,7 +45,7 @@ configure-command = true
environment =
environment =
GIT_VERSION=${:version}
GIT_VERSION=${:version}
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig:${gnutls:location}/lib/pkgconfig:${libgcrypt:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig:${gnutls:location}/lib/pkgconfig:${libgcrypt:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${pcre:location}/lib/pkgconfig
PATH=${m4:location}/bin:${libtool:location}/bin:${libgcrypt:location}/bin:${curl:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${bzip2:location}/bin:${autoconf:location}/bin:${git:location}/bin:${automake:location}/bin:${patch:location}/bin:${cmake:location}/bin:%(PATH)s
PATH=${m4:location}/bin:${libtool:location}/bin:${libgcrypt:location}/bin:${curl:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:${bzip2:location}/bin:${autoconf:location}/bin:${git:location}/bin:${automake:location}/bin:${patch:location}/bin:${cmake
-3.18
:location}/bin:%(PATH)s
CXXFLAGS=-I${openssl:location}/include -I${gnutls:location}/include -I${zlib:location}/include
CXXFLAGS=-I${openssl:location}/include -I${gnutls:location}/include -I${zlib:location}/include
CFLAGS=-I${gnutls:location}/include
CFLAGS=-I${gnutls:location}/include
LDFLAGS=-L${openssl:location}/lib -Wl,-rpath -Wl,${gnutls:location}/lib -L${gnutls:location}/lib -Wl,-rpath=${curl:location}/lib -L${libtool:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${curl:location}/lib -L${pcre:location}/lib -L${jemalloc:location}/lib -L${libmicrohttpd:location}/lib
LDFLAGS=-L${openssl:location}/lib -Wl,-rpath -Wl,${gnutls:location}/lib -L${gnutls:location}/lib -Wl,-rpath=${curl:location}/lib -L${libtool:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${curl:location}/lib -L${pcre:location}/lib -L${jemalloc:location}/lib -L${libmicrohttpd:location}/lib
...
...
component/rsyslogd/buildout.cfg
View file @
021ae883
...
@@ -10,8 +10,8 @@ extends =
...
@@ -10,8 +10,8 @@ extends =
[rsyslogd]
[rsyslogd]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
url = https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2
006
.0.tar.gz
url = https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2
110
.0.tar.gz
md5sum =
33de768941953ceeca9d1a437b47891
b
md5sum =
2d2b9d4a70a6e2fd4a7e806a5782c56
b
shared = true
shared = true
configure-options =
configure-options =
--disable-klog
--disable-klog
...
...
component/sqlite3/buildout.cfg
View file @
021ae883
...
@@ -8,8 +8,8 @@ parts =
...
@@ -8,8 +8,8 @@ parts =
[sqlite3]
[sqlite3]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://sqlite.org/2021/sqlite-autoconf-33
505
00.tar.gz
url = https://sqlite.org/2021/sqlite-autoconf-33
600
00.tar.gz
md5sum =
d1d1aba394c8e0443077dc9f1a681bb8
md5sum =
f5752052fc5b8e1b539af86a3671eac7
configure-options =
configure-options =
--disable-static
--disable-static
--enable-readline
--enable-readline
...
...
component/swig/buildout.cfg
View file @
021ae883
...
@@ -10,8 +10,8 @@ parts =
...
@@ -10,8 +10,8 @@ parts =
[swig]
[swig]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http
://prdownloads.sourceforge.net/swig/swig-3.0.10.tar.gz
url = http
s://sourceforge.net/projects/swig/files/swig/swig-3.0.12/swig-3.0.12.tar.gz/download
md5sum =
bb4ab8047159469add7d00910e203124
md5sum =
82133dfa7bba75ff9ad98a7046be687c
configure-options =
configure-options =
--disable-ccache
--disable-ccache
--with-python=${buildout:executable}
--with-python=${buildout:executable}
...
...
component/tcl/buildout.cfg
View file @
021ae883
...
@@ -3,8 +3,8 @@ parts = tcl
...
@@ -3,8 +3,8 @@ parts = tcl
[tcl]
[tcl]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
url = http://prdownloads.sourceforge.net/tcl/tcl8.
5.15
-src.tar.gz
url = http://prdownloads.sourceforge.net/tcl/tcl8.
6.11
-src.tar.gz
md5sum =
f3df162f92c69b254079c4d0af7a690f
md5sum =
8a4c004f48984a03a7747e9ba06e4da4
shared = true
shared = true
configure-command = ./unix/configure
configure-command = ./unix/configure
configure-options =
configure-options =
...
...
component/trafficserver/buildout.cfg
View file @
021ae883
...
@@ -23,8 +23,8 @@ min_version = 8
...
@@ -23,8 +23,8 @@ min_version = 8
[trafficserver]
[trafficserver]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
url = http://apache.claz.org/trafficserver/trafficserver-9.
0.2
.tar.bz2
url = http://apache.claz.org/trafficserver/trafficserver-9.
1.0
.tar.bz2
md5sum =
4df67ada24665116bafedd71503215cb
md5sum =
994b0aa879cbd95054048f34bf8ed954
shared = true
shared = true
patch-options = -p1
patch-options = -p1
configure-options =
configure-options =
...
...
component/wendelin.core/activate-WC2-preview.cfg
deleted
100644 → 0
View file @
03f25b19
# SlapOS extension that switches Wendelin.core to Wendelin.core 2 preview.
#
# Should go away once wendelin.core 2 lands to nexedi/wendelin.core@master.
# Must be extended from last, for example:
#
# [buildout]
# extends =
# .../stack/erp5/buildout.cfg
# .../component/wendelin.core/activate-WC2-preview.cfg
[wendelin.core-repository]
repository = https://lab.nexedi.com/kirr/wendelin.core.git
branch = t
revision =
# Wendelin.core 2 targets Go1.17
[gowork]
golang = ${golang1.17:location}
component/wendelin.core/buildout.cfg
View file @
021ae883
...
@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
...
@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
recipe = slapos.recipe.build:gitclone
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
branch = master
branch = master
revision =
v0.13-0-gb26ba55
revision =
wendelin.core-2.0.alpha1-0-g49f826b1
# dir is pretty name as top-level recipe
# dir is pretty name as top-level recipe
location = ${buildout:parts-directory}/wendelin.core
location = ${buildout:parts-directory}/wendelin.core
git-executable = ${git:location}/bin/git
git-executable = ${git:location}/bin/git
component/xorg/buildout.cfg
View file @
021ae883
...
@@ -319,8 +319,8 @@ environment =
...
@@ -319,8 +319,8 @@ environment =
[pixman]
[pixman]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = http
://cairographics.org/releases/pixman-0.34
.0.tar.gz
url = http
s://www.cairographics.org/releases/pixman-0.40
.0.tar.gz
md5sum =
e80ebae4da01e77f68744319f01d52a3
md5sum =
73858c0862dd9896fb5f62ae267084a4
configure-options =
configure-options =
--disable-static
--disable-static
...
...
component/zbar/buildout.cfg
View file @
021ae883
...
@@ -12,8 +12,8 @@ extends =
...
@@ -12,8 +12,8 @@ extends =
[zbar]
[zbar]
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
shared = true
shared = true
url = https://github.com/mchehab/zbar/archive/0.23.
1
.tar.gz
url = https://github.com/mchehab/zbar/archive/0.23.
90
.tar.gz
md5sum =
04f1ffafd0f12473d82763931d9c7c68
md5sum =
cb1667e20c1d7acf1b9911414adaeb84
pre-configure =
pre-configure =
autoreconf -vfi -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal
autoreconf -vfi -I ${libtool:location}/share/aclocal -I ${pkgconfig:location}/share/aclocal
configure-options =
configure-options =
...
...
software/caddy-frontend/buildout.hash.cfg
View file @
021ae883
...
@@ -50,7 +50,7 @@ md5sum = 37475d79f28c5f126bc1947fdb938fdb
...
@@ -50,7 +50,7 @@ md5sum = 37475d79f28c5f126bc1947fdb938fdb
[template-backend-haproxy-configuration]
[template-backend-haproxy-configuration]
_update_hash_filename_ = templates/backend-haproxy.cfg.in
_update_hash_filename_ = templates/backend-haproxy.cfg.in
md5sum =
5e126be0f74d8ae390a5594e1e912a59
md5sum =
d2851c7ebd2c9baa2edecb3ca3485511
[template-empty]
[template-empty]
_update_hash_filename_ = templates/empty.in
_update_hash_filename_ = templates/empty.in
...
...
software/caddy-frontend/templates/backend-haproxy.cfg.in
View file @
021ae883
...
@@ -13,6 +13,8 @@ defaults
...
@@ -13,6 +13,8 @@ defaults
timeout client {{ configuration['request-timeout'] }}s
timeout client {{ configuration['request-timeout'] }}s
timeout connect {{ configuration['backend-connect-timeout'] }}s
timeout connect {{ configuration['backend-connect-timeout'] }}s
retries {{ configuration['backend-connect-retries'] }}
retries {{ configuration['backend-connect-retries'] }}
{#- Allow to start with not resolved yet servers #}
default-server init-addr last,libc,none
{%- set SCHEME_PREFIX_MAPPING = { 'http': 'http_backend', 'https': 'https_backend'} %}
{%- set SCHEME_PREFIX_MAPPING = { 'http': 'http_backend', 'https': 'https_backend'} %}
{%- macro frontend_entry(slave_instance, scheme, wildcard) %}
{%- macro frontend_entry(slave_instance, scheme, wildcard) %}
...
...
software/caddy-frontend/test/test.py
View file @
021ae883
...
@@ -92,6 +92,12 @@ KEDIFA_PORT = '15080'
...
@@ -92,6 +92,12 @@ KEDIFA_PORT = '15080'
# has to be not partition one
# has to be not partition one
SOURCE_IP
=
'127.0.0.1'
SOURCE_IP
=
'127.0.0.1'
# ATS version expectation in Via string
VIA_STRING
=
(
r'^http\
/
1.1 caddy-frontend-1\
[.*
\] '
r'\
(Ap
acheTrafficServer\
/9
\.[0-9]\
.[
0-9]+\
)$
',
)[0]
# IP on which test run, in order to mimic HTTP[s] access
# IP on which test run, in order to mimic HTTP[s] access
TEST_IP = os.environ['
SLAPOS_TEST_IPV4
']
TEST_IP = os.environ['
SLAPOS_TEST_IPV4
']
...
@@ -280,7 +286,7 @@ def isHTTP2(domain):
...
@@ -280,7 +286,7 @@ def isHTTP2(domain):
out, err = prc.communicate()
out, err = prc.communicate()
assert prc.returncode == 0, "Problem running %r. Output:
\
n
%s
\
n
Error:
\
n
%s" % (
assert prc.returncode == 0, "Problem running %r. Output:
\
n
%s
\
n
Error:
\
n
%s" % (
curl_command, out, err)
curl_command, out, err)
return
'Using HTTP2, server supports
multi-use
'
in
err
return '
Using
HTTP2
,
server
supports
' in err
class TestDataMixin(object):
class TestDataMixin(object):
...
@@ -1310,6 +1316,9 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -1310,6 +1316,9 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
return
{
return
{
'empty'
:
{
'empty'
:
{
},
},
'bad-backend'
:
{
'url'
:
'http://bad.backend/'
,
},
'Url'
:
{
'Url'
:
{
# make URL "incorrect", with whitespace, nevertheless it shall be
# make URL "incorrect", with whitespace, nevertheless it shall be
# correctly handled
# correctly handled
...
@@ -3576,7 +3585,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -3576,7 +3585,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
self
.
assertNotEqual
(
via
,
None
)
self
.
assertNotEqual
(
via
,
None
)
self
.
assertRegexpMatches
(
self
.
assertRegexpMatches
(
via
,
via
,
r'^http\
/
1.1 caddy-frontend-1\
[.*
\] \
(Ap
acheTrafficServer\
/9
\.0\
.[
0-9]+\
)$
'
VIA_STRING
)
)
def
test_enable_cache_server_alias
(
self
):
def
test_enable_cache_server_alias
(
self
):
...
@@ -3618,7 +3627,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -3618,7 +3627,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
self
.
assertNotEqual
(
via
,
None
)
self
.
assertNotEqual
(
via
,
None
)
self
.
assertRegexpMatches
(
self
.
assertRegexpMatches
(
via
,
via
,
r'
^
http
\
/
1.1
caddy
-
frontend
-
1
\
[.
*
\
]
\
(
ApacheTrafficServer
\
/
9
\
.
0
\
.[
0
-
9
]
+
\
)
$
'
VIA_STRING
)
)
result
=
fakeHTTPResult
(
result
=
fakeHTTPResult
(
...
@@ -3735,7 +3744,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -3735,7 +3744,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
self
.
assertNotEqual
(
via
,
None
)
self
.
assertNotEqual
(
via
,
None
)
self
.
assertRegexpMatches
(
self
.
assertRegexpMatches
(
via
,
via
,
r'
^
http
\
/
1.1
caddy
-
frontend
-
1
\
[.
*
\
]
\
(
ApacheTrafficServer
\
/
9
\
.
0
\
.[
0
-
9
]
+
\
)
$
'
VIA_STRING
)
)
# BEGIN: Check that squid.log is correctly filled in
# BEGIN: Check that squid.log is correctly filled in
...
@@ -3937,7 +3946,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -3937,7 +3946,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
self
.
assertNotEqual
(
via
,
None
)
self
.
assertNotEqual
(
via
,
None
)
self
.
assertRegexpMatches
(
self
.
assertRegexpMatches
(
via
,
via
,
r'
^
http
\
/
1.1
caddy
-
frontend
-
1
\
[.
*
\
]
\
(
ApacheTrafficServer
\
/
9
\
.
0
\
.[
0
-
9
]
+
\
)
$
'
VIA_STRING
)
)
# check stale-if-error support is really respected if not present in the
# check stale-if-error support is really respected if not present in the
...
@@ -4080,7 +4089,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -4080,7 +4089,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
self
.
assertNotEqual
(
via
,
None
)
self
.
assertNotEqual
(
via
,
None
)
self
.
assertRegexpMatches
(
self
.
assertRegexpMatches
(
via
,
via
,
r'
^
http
\
/
1.1
caddy
-
frontend
-
1
\
[.
*
\
]
\
(
ApacheTrafficServer
\
/
9
\
.
0
\
.[
0
-
9
]
+
\
)
$
'
VIA_STRING
)
)
try
:
try
:
...
@@ -4127,7 +4136,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
...
@@ -4127,7 +4136,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin):
self
.
assertNotEqual
(
via
,
None
)
self
.
assertNotEqual
(
via
,
None
)
self
.
assertRegexpMatches
(
self
.
assertRegexpMatches
(
via
,
via
,
r'
^
http
\
/
1.1
caddy
-
frontend
-
1
\
[.
*
\
]
\
(
ApacheTrafficServer
\
/
9
\
.
0
\
.[
0
-
9
]
+
\
)
$
'
VIA_STRING
)
)
def
test_enable_http2_false
(
self
):
def
test_enable_http2_false
(
self
):
...
...
software/fluentd/test/test.py
View file @
021ae883
...
@@ -97,16 +97,17 @@ class WendelinTutorialTestCase(FluentdTestCase):
...
@@ -97,16 +97,17 @@ class WendelinTutorialTestCase(FluentdTestCase):
@
classmethod
@
classmethod
def
setUpClass
(
cls
):
def
setUpClass
(
cls
):
fluentd_dir
=
os
.
path
.
join
(
cls
.
computer_partition_root_path
,
'software_release'
,
'parts'
,
'fluentd'
)
cls
.
_fluentd_bin
=
os
.
path
.
join
(
fluentd_dir
,
'bin'
,
'fluentd'
)
cls
.
_gem_path
=
os
.
path
.
join
(
fluentd_dir
,
'lib'
,
'ruby'
,
'gems'
)
cls
.
_tmp_dir
=
tempfile
.
mkdtemp
()
cls
.
_tmp_dir
=
tempfile
.
mkdtemp
()
cls
.
_measurementList
=
cls
.
sensor_value_list
()
cls
.
_measurementList
=
cls
.
sensor_value_list
()
cls
.
_conf
=
cls
.
get_configuration
()
cls
.
_conf
=
cls
.
get_configuration
()
super
(
FluentdTestCase
,
cls
).
setUpClass
()
super
(
FluentdTestCase
,
cls
).
setUpClass
()
fluentd_dir
=
os
.
path
.
join
(
cls
.
computer_partition_root_path
,
'software_release'
,
'parts'
,
'fluentd'
)
cls
.
_fluentd_bin
=
os
.
path
.
join
(
fluentd_dir
,
'bin'
,
'fluentd'
)
cls
.
_gem_path
=
os
.
path
.
join
(
fluentd_dir
,
'lib'
,
'ruby'
,
'gems'
)
@
classmethod
@
classmethod
def
sensor_value_list
(
cls
):
def
sensor_value_list
(
cls
):
return
[
str
(
value
)
for
value
in
(
round
(
random
.
uniform
(
870
,
1084
),
2
),
return
[
str
(
value
)
for
value
in
(
round
(
random
.
uniform
(
870
,
1084
),
2
),
...
...
software/kvm/buildout.hash.cfg
View file @
021ae883
...
@@ -19,7 +19,7 @@ md5sum = f2b0f1ed27148504f220e06eaceff935
...
@@ -19,7 +19,7 @@ md5sum = f2b0f1ed27148504f220e06eaceff935
[template-kvm]
[template-kvm]
filename = instance-kvm.cfg.jinja2
filename = instance-kvm.cfg.jinja2
md5sum =
f902dd10cb052ac262a4a96b9362b3a3
md5sum =
93cbee3403e7e23b4278143c32209ddc
[template-kvm-cluster]
[template-kvm-cluster]
filename = instance-kvm-cluster.cfg.jinja2.in
filename = instance-kvm-cluster.cfg.jinja2.in
...
@@ -39,11 +39,11 @@ md5sum = cd0008f1689dfca9b77370bc4d275b70
...
@@ -39,11 +39,11 @@ md5sum = cd0008f1689dfca9b77370bc4d275b70
[template-kvm-export]
[template-kvm-export]
filename = instance-kvm-export.cfg.jinja2
filename = instance-kvm-export.cfg.jinja2
md5sum =
4c9efdc9ef35d1096173084541be712d
md5sum =
09252c282ef86f4bb3a88e91869b0f97
[template-kvm-export-script]
[template-kvm-export-script]
filename = template/kvm-export.sh.jinja2
filename = template/kvm-export.sh.jinja2
md5sum =
b617d64de73de1eed518185f310bbc
82
md5sum =
64aa1ce8785f6b94aabd787fa34430
82
[template-nbd]
[template-nbd]
filename = instance-nbd.cfg.jinja2
filename = instance-nbd.cfg.jinja2
...
...
software/kvm/instance-kvm-export.cfg.jinja2
View file @
021ae883
...
@@ -24,10 +24,20 @@ rendered = ${directory:bin}/${slap-parameter:namebase}-exporter
...
@@ -24,10 +24,20 @@ rendered = ${directory:bin}/${slap-parameter:namebase}-exporter
# Resilient stack wants a "wrapper" parameter
# Resilient stack wants a "wrapper" parameter
wrapper = ${:rendered}
wrapper = ${:rendered}
mode = 0700
mode = 0700
{%- set disk_type = slapparameter_dict.get('disk-type', 'virtio') %}
{%- if disk_type == "virtio" %}
device = virtio0
{%- elif disk_type == "ide" %}
{#- Manually found device name in case of disk-type == ide #}
device = ide0-hd0
{%- else %}
# unsupported disk-type {{ disk_type }}
{%- endif %}
context =
context =
section directory directory
section directory directory
section buildout buildout
section buildout buildout
key socket_path kvm-instance:socket-path
key socket_path kvm-instance:socket-path
key device :device
raw gzip_binary {{ gzip_binary }}
raw gzip_binary {{ gzip_binary }}
# Extends publish section with resilient parameters
# Extends publish section with resilient parameters
...
...
software/kvm/instance-kvm.cfg.jinja2
View file @
021ae883
...
@@ -1177,6 +1177,7 @@ context =
...
@@ -1177,6 +1177,7 @@ context =
[wipe-disk-device-wrapper]
[wipe-disk-device-wrapper]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
template = inline:
template = inline:
#!/bin/sh
{%- for disk_device in disk_device_path.split() %}
{%- for disk_device in disk_device_path.split() %}
dd if=/dev/zero of={{ disk_device }} bs=4096 count=500k
dd if=/dev/zero of={{ disk_device }} bs=4096 count=500k
{%- endfor %}
{%- endfor %}
...
...
software/kvm/template/kvm-export.sh.jinja2
View file @
021ae883
...
@@ -10,7 +10,7 @@ BACKUP_FILE=virtual.qcow2
...
@@ -10,7 +10,7 @@ BACKUP_FILE=virtual.qcow2
QMP_CLIENT
={{
buildout[
'directory'
]
}}
/software_release/bin/qemu-qmp-client
QMP_CLIENT
={{
buildout[
'directory'
]
}}
/software_release/bin/qemu-qmp-client
$QMP_CLIENT
--socket
{{
socket_path
}}
--drive-backup
$BACKUP_DIR
/
$BACKUP_FILE
$QMP_CLIENT
--socket
{{
socket_path
}}
--drive-backup
$BACKUP_DIR
/
$BACKUP_FILE
{{
device
}}
# Due to the way qmp works, the VM file cannot be compressed on the fly.
# Due to the way qmp works, the VM file cannot be compressed on the fly.
# Although the compression step is optional, the importer uses the .gz file
# Although the compression step is optional, the importer uses the .gz file
...
...
software/kvm/test/test.py
View file @
021ae883
...
@@ -573,6 +573,25 @@ class TestInstanceResilient(InstanceTestCase, KvmMixin):
...
@@ -573,6 +573,25 @@ class TestInstanceResilient(InstanceTestCase, KvmMixin):
def
getInstanceSoftwareType
(
cls
):
def
getInstanceSoftwareType
(
cls
):
return
'kvm-resilient'
return
'kvm-resilient'
def
test_kvm_exporter
(
self
):
exporter_partition
=
os
.
path
.
join
(
self
.
slap
.
instance_directory
,
self
.
__partition_reference__
+
'2'
)
backup_path
=
os
.
path
.
join
(
exporter_partition
,
'srv'
,
'backup'
,
'kvm'
,
'virtual.qcow2.gz'
)
exporter
=
os
.
path
.
join
(
exporter_partition
,
'bin'
,
'exporter'
)
if
os
.
path
.
exists
(
backup_path
):
os
.
unlink
(
backup_path
)
def
call_exporter
():
try
:
return
(
0
,
subprocess
.
check_output
(
[
exporter
],
stderr
=
subprocess
.
STDOUT
).
decode
(
'utf-8'
))
except
subprocess
.
CalledProcessError
as
e
:
return
(
e
.
returncode
,
e
.
output
.
decode
(
'utf-8'
))
status_code
,
status_text
=
call_exporter
()
self
.
assertEqual
(
0
,
status_code
,
status_text
)
def
test
(
self
):
def
test
(
self
):
connection_parameter_dict
=
self
\
connection_parameter_dict
=
self
\
.
computer_partition
.
getConnectionParameterDict
()
.
computer_partition
.
getConnectionParameterDict
()
...
@@ -646,6 +665,15 @@ ir3:sshd-on-watch RUNNING""",
...
@@ -646,6 +665,15 @@ ir3:sshd-on-watch RUNNING""",
)
)
@
skipUnlessKvm
class
TestInstanceResilientDiskTypeIde
(
InstanceTestCase
,
KvmMixin
):
@
classmethod
def
getInstanceParameterDict
(
cls
):
return
{
'disk-type'
:
'ide'
}
@
skipUnlessKvm
@
skipUnlessKvm
class
TestAccessResilientAdditional
(
InstanceTestCase
):
class
TestAccessResilientAdditional
(
InstanceTestCase
):
__partition_reference__
=
'ara'
__partition_reference__
=
'ara'
...
...
software/metabase/README.md
View file @
021ae883
# Metabae
# Metaba
s
e
https://www.metabase.com/
https://www.metabase.com/
## TODO:
## TODO:
*
export backups for resilience
*
export backups for resilience
*
security (
proper passwords,
verifiable certificate, study metabase encryption option)
*
security (verifiable certificate, study metabase encryption option)
software/metabase/buildout.hash.cfg
View file @
021ae883
[instance-profile]
[instance-profile]
filename = instance.cfg.in
filename = instance.cfg.in
md5sum =
143f46b125389f39905226ec9482ce2a
md5sum =
5f2f7c4c2f793d609ad3c4fa0aa2f8a5
software/metabase/instance.cfg.in
View file @
021ae883
...
@@ -7,10 +7,28 @@ eggs-directory = ${buildout:eggs-directory}
...
@@ -7,10 +7,28 @@ eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
offline = true
offline = true
[fontconfig-conf]
recipe = slapos.recipe.template:jinja2
template = ${template-fonts-conf:output}
rendered = $${directory:etc}/fonts.conf
context =
key cachedir directory:fontconfig-cache
key fonts :fonts
key includes :includes
fonts =
${android-fonts:location}
${dejavu-fonts:location}
${ipa-fonts:location}
${ipaex-fonts:location}
${liberation-fonts:location}
${ocrb-fonts:location}
includes =
${fontconfig:location}/etc/fonts/conf.d
[metabase-instance]
[metabase-instance]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
wrapper-path = $${directory:service}/$${:_buildout_section_name_}
wrapper-path = $${directory:service}/$${:_buildout_section_name_}
command-line = sh -c "cd $${directory:srv-metabase}; ${java
-re-8
:location}/bin/java $JAVA_ARGS -jar ${metabase.jar:location}/metabase.jar"
command-line = sh -c "cd $${directory:srv-metabase}; ${java:location}/bin/java $JAVA_ARGS -jar ${metabase.jar:location}/metabase.jar"
# https://www.metabase.com/docs/latest/operations-guide/customizing-jetty-webserver.html
# https://www.metabase.com/docs/latest/operations-guide/customizing-jetty-webserver.html
# note that we set org.quartz.scheduler.instanceId through $JAVA_ARGS as a workaround for machines
# note that we set org.quartz.scheduler.instanceId through $JAVA_ARGS as a workaround for machines
# which cannot resolve their hostnames. See also https://github.com/metabase/metabase/issues/8373
# which cannot resolve their hostnames. See also https://github.com/metabase/metabase/issues/8373
...
@@ -28,7 +46,8 @@ environment =
...
@@ -28,7 +46,8 @@ environment =
MB_DB_USER=$${postgresql:superuser}
MB_DB_USER=$${postgresql:superuser}
MB_DB_PASS=$${postgresql:password}
MB_DB_PASS=$${postgresql:password}
MB_DB_HOST=$${postgresql:ipv4}
MB_DB_HOST=$${postgresql:ipv4}
JAVA_ARGS=-Dorg.quartz.scheduler.instanceId=$${slap-connection:computer-id}.$${slap-connection:partition-id}
FONTCONFIG_FILE=$${fontconfig-conf:rendered}
JAVA_ARGS=-Dorg.quartz.scheduler.instanceId=$${slap-connection:computer-id}.$${slap-connection:partition-id} -Djava.io.tmpdir="$${directory:tmp}"
hash-existing-files =
hash-existing-files =
$${buildout:directory}/software_release/buildout.cfg
$${buildout:directory}/software_release/buildout.cfg
...
@@ -49,19 +68,56 @@ promise = check_url_available
...
@@ -49,19 +68,56 @@ promise = check_url_available
name = $${:_buildout_section_name_}.py
name = $${:_buildout_section_name_}.py
config-url= $${metabase-instance:url}/api/session/properties
config-url= $${metabase-instance:url}/api/session/properties
[metabase-keystore-password]
recipe = slapos.cookbook:generate.password
bytes = 24
[metabase-keystore]
[metabase-keystore]
recipe = plone.recipe.command
recipe = plone.recipe.command
stop-on-error = true
command =
command =
${java-re-8-output:keytool} \
if [ -f $${:file} ]
then
# XXX password used to be "insecure", but we changed to proper password.
# We try to list the store with the new password and if it fail we change
# the keystore password.
if ! ${java:location}/bin/keytool \
-list \
-keystore "$${:file}" \
-storepass "$${:password}"
then
echo "Migrating keystore password" && \
${java:location}/bin/keytool \
-storepasswd \
-keystore "$${:file}" \
-storepass insecure \
-new "$${:password}" && \
echo "Migrating certificate key password" && \
${java:location}/bin/keytool \
-keypasswd \
-alias "$${:alias}" \
-keypass insecure \
-new "$${:password}" \
-keystore "$${:file}" \
-storepass "$${:password}"
fi
else
${java:location}/bin/keytool \
-genkeypair \
-genkeypair \
-alias "metabase
" \
-alias "$${:alias}
" \
-keyalg RSA \
-keyalg RSA \
-keypass "$${:password}" \
-keypass "$${:password}" \
-dname "CN=$${metabase-instance:ip},OU=Unit,O=Organization,L=City,S=State,C=Country" \
-dname "CN=$${metabase-instance:ip},OU=Unit,O=Organization,L=City,S=State,C=Country" \
-keystore "$${:file}" \
-keystore "$${:file}" \
-storepass "$${:password}"
-storepass "$${:password}"
fi
file = $${directory:etc}/.metabase_keystore
file = $${directory:etc}/.metabase_keystore
password = insecure
password = $${metabase-keystore-password:passwd}
alias = metabase
[postgresql-password]
recipe = slapos.cookbook:generate.password
bytes = 24
[postgresql]
[postgresql]
recipe = slapos.cookbook:postgres
recipe = slapos.cookbook:postgres
...
@@ -69,7 +125,7 @@ bin = ${postgresql10:location}/bin/
...
@@ -69,7 +125,7 @@ bin = ${postgresql10:location}/bin/
services = $${directory:service}
services = $${directory:service}
dbname = metabase_db
dbname = metabase_db
superuser = metabase-psql
superuser = metabase-psql
password =
insecure
password =
$${postgresql-password:passwd}
pgdata-directory = $${directory:srv}/postgresql
pgdata-directory = $${directory:srv}/postgresql
ipv4 = $${instance-parameter:ipv4-random}
ipv4 = $${instance-parameter:ipv4-random}
...
@@ -125,7 +181,7 @@ wrapper-path = $${directory:bin}/$${:_buildout_section_name_}
...
@@ -125,7 +181,7 @@ wrapper-path = $${directory:bin}/$${:_buildout_section_name_}
command-line =
command-line =
sh -e -c "\
sh -e -c "\
echo 'This will replace current database with latest backup. Hit Ctrl+C to cancel';
echo 'This will replace current database with latest backup. Hit Ctrl+C to cancel';
sleep
5
;
sleep
30
;
$${postgresql:bin}/pg_restore \
$${postgresql:bin}/pg_restore \
--exit-on-error \
--exit-on-error \
-h $${postgresql:pgdata-directory} \
-h $${postgresql:pgdata-directory} \
...
@@ -176,7 +232,7 @@ tmp = $${buildout:directory}/tmp
...
@@ -176,7 +232,7 @@ tmp = $${buildout:directory}/tmp
service = $${:etc}/service
service = $${:etc}/service
srv-metabase = $${:srv}/metabase
srv-metabase = $${:srv}/metabase
srv-backup = $${:srv}/backup
srv-backup = $${:srv}/backup
fontconfig-cache = $${buildout:directory}/.fontconfig
[publish-connection-parameter]
[publish-connection-parameter]
recipe = slapos.cookbook:publish
recipe = slapos.cookbook:publish
...
...
software/metabase/software.cfg
View file @
021ae883
[buildout]
[buildout]
extends =
extends =
../../component/defaults.cfg
../../component/defaults.cfg
../../component/fontconfig/buildout.cfg
../../component/fonts/buildout.cfg
../../component/java/buildout.cfg
../../component/java/buildout.cfg
../../component/postgresql/buildout.cfg
../../component/postgresql/buildout.cfg
../../component/dcron/buildout.cfg
../../component/dcron/buildout.cfg
...
@@ -15,10 +17,13 @@ parts =
...
@@ -15,10 +17,13 @@ parts =
[python]
[python]
part = python3
part = python3
[java]
<= java-re-temurin-11
[metabase.jar]
[metabase.jar]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = https://downloads.metabase.com/v0.
38.3
/metabase.jar
url = https://downloads.metabase.com/v0.
41.2
/metabase.jar
md5sum =
b91e4b9ae13c892894fec8bab2fd195f
md5sum =
630068d1ccbdc95556931fe9cfc12e61
[instance-profile]
[instance-profile]
recipe = slapos.recipe.template
recipe = slapos.recipe.template
...
...
software/metabase/test/test.py
View file @
021ae883
...
@@ -85,7 +85,7 @@ class TestMetabaseSetup(MetabaseTestCase):
...
@@ -85,7 +85,7 @@ class TestMetabaseSetup(MetabaseTestCase):
"username"
:
email
,
"username"
:
email
,
"password"
:
"wrong"
"password"
:
"wrong"
})
})
self
.
assertEqual
(
re
quests
.
codes
.
bad_request
,
resp
.
status_code
)
self
.
assertEqual
(
re
sp
.
status_code
,
requests
.
codes
.
unauthorized
)
session
=
requests
.
post
(
session
=
requests
.
post
(
parse
.
urljoin
(
url
,
'/api/session'
),
parse
.
urljoin
(
url
,
'/api/session'
),
...
...
software/nginx-push-stream/buildout.hash.cfg
View file @
021ae883
[template]
[template]
filename = instance.cfg.in
filename = instance.cfg.in
md5sum =
56e986c74ef236f261834c57f5861ce0
md5sum =
87fd83d33ba786550a45f484b3ae2b24
[template-nginx-configuration]
[template-nginx-configuration]
filename = template-nginx.cfg.in
filename = template-nginx.cfg.in
md5sum =
022e4b53e1b2db16c4e518fe76f638fa
md5sum =
3eb7dda365d30c3c3c2ce939bbc607d4
software/nginx-push-stream/instance.cfg.in
View file @
021ae883
[buildout]
[buildout]
parts =
parts =
nginx-service
nginx-service
cron-service
cron-entry-logrotate
logrotate-entry-nginx
promises
promises
publish-connection-information
publish-connection-information
extends = ${monitor-template:rendered}
extends = ${monitor-template:rendered}
...
@@ -46,6 +49,7 @@ output = $${directory:etc}/nginx.cfg
...
@@ -46,6 +49,7 @@ output = $${directory:etc}/nginx.cfg
mode = 0600
mode = 0600
access-log = $${directory:log}/nginx-access.log
access-log = $${directory:log}/nginx-access.log
error-log = $${directory:log}/nginx-error.log
error-log = $${directory:log}/nginx-error.log
pid-file = $${directory:run}/nginx.pid
ip = $${slap-configuration:ipv6-random}
ip = $${slap-configuration:ipv6-random}
local-ip = $${slap-configuration:ipv4-random}
local-ip = $${slap-configuration:ipv4-random}
port = 9443
port = 9443
...
@@ -68,6 +72,15 @@ cert-file = $${directory:ssl}/${:_buildout_section_name_}.cert
...
@@ -68,6 +72,15 @@ cert-file = $${directory:ssl}/${:_buildout_section_name_}.cert
common-name = $${nginx-configuration:ip}
common-name = $${nginx-configuration:ip}
stop-on-error = true
stop-on-error = true
[logrotate-entry-nginx]
<= logrotate-entry-base
name = nginx
log =
$${nginx-configuration:access-log}
$${nginx-configuration:error-log}
post =
test ! -s $${nginx-configuration:pid-file} || kill -USR1 $(cat "$${nginx-configuration:pid-file}")
[promises]
[promises]
recipe =
recipe =
promises =
promises =
...
...
software/nginx-push-stream/template-nginx.cfg.in
View file @
021ae883
daemon off; # run in the foreground so supervisord can look after it
daemon off; # run in the foreground so supervisord can look after it
worker_processes 4;
worker_processes 4;
pid $${
directory:run}/nginx.pid
;
pid $${
nginx-configuration:pid-file}
;
events {
events {
worker_connections 768;
worker_connections 768;
...
...
software/nginx-push-stream/test/test.py
View file @
021ae883
...
@@ -25,12 +25,16 @@
...
@@ -25,12 +25,16 @@
#
#
##############################################################################
##############################################################################
import
functools
import
os
import
os
import
lzma
import
multiprocessing
import
multiprocessing
import
urllib.parse
import
uritemplate
import
uritemplate
import
requests
import
requests
from
slapos.testing.utils
import
CrontabMixin
from
slapos.testing.testcase
import
makeModuleSetUpAndTestCaseClass
from
slapos.testing.testcase
import
makeModuleSetUpAndTestCaseClass
setUpModule
,
SlapOSInstanceTestCase
=
makeModuleSetUpAndTestCaseClass
(
setUpModule
,
SlapOSInstanceTestCase
=
makeModuleSetUpAndTestCaseClass
(
...
@@ -38,7 +42,7 @@ setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
...
@@ -38,7 +42,7 @@ setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'..'
,
'software.cfg'
)))
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'..'
,
'software.cfg'
)))
class
TestNginxPushStream
(
SlapOSInstanceTestCase
):
class
TestNginxPushStream
(
SlapOSInstanceTestCase
,
CrontabMixin
):
def
setUp
(
self
):
def
setUp
(
self
):
self
.
connection_parameters
=
\
self
.
connection_parameters
=
\
self
.
computer_partition
.
getConnectionParameterDict
()
self
.
computer_partition
.
getConnectionParameterDict
()
...
@@ -83,3 +87,55 @@ class TestNginxPushStream(SlapOSInstanceTestCase):
...
@@ -83,3 +87,55 @@ class TestNginxPushStream(SlapOSInstanceTestCase):
self
.
assertEqual
(
q
.
get_nowait
(),
b': '
)
self
.
assertEqual
(
q
.
get_nowait
(),
b': '
)
self
.
assertEqual
(
q
.
get_nowait
(),
b'data: Hello'
)
self
.
assertEqual
(
q
.
get_nowait
(),
b'data: Hello'
)
def
test_log_rotation
(
self
):
status_url
=
urllib
.
parse
.
urljoin
(
self
.
connection_parameters
[
'publisher-url'
],
'/status'
)
error_url
=
urllib
.
parse
.
urljoin
(
self
.
connection_parameters
[
'publisher-url'
],
'/..'
)
log_file_path
=
functools
.
partial
(
os
.
path
.
join
,
self
.
computer_partition_root_path
,
'var'
,
'log'
,
)
rotated_file_path
=
functools
.
partial
(
os
.
path
.
join
,
self
.
computer_partition_root_path
,
'srv'
,
'backup'
,
'logrotate'
,
)
requests
.
get
(
status_url
,
verify
=
False
)
with
open
(
log_file_path
(
'nginx-access.log'
))
as
f
:
self
.
assertIn
(
'GET /status HTTP'
,
f
.
read
())
requests
.
get
(
error_url
,
verify
=
False
)
with
open
(
log_file_path
(
'nginx-error.log'
))
as
f
:
self
.
assertIn
(
'forbidden'
,
f
.
read
())
# first log rotation initialize the state, but does not actually rotate
self
.
_executeCrontabAtDate
(
'logrotate'
,
'2050-01-01'
)
self
.
_executeCrontabAtDate
(
'logrotate'
,
'2050-01-02'
)
# today's file is not compressed
with
open
(
rotated_file_path
(
'nginx-access.log-20500102'
))
as
f
:
self
.
assertIn
(
'GET /status HTTP'
,
f
.
read
())
with
open
(
rotated_file_path
(
'nginx-error.log-20500102'
))
as
f
:
self
.
assertIn
(
'forbidden'
,
f
.
read
())
# after rotation, the program re-opened original log file and writes in
# expected location.
requests
.
get
(
status_url
,
verify
=
False
)
with
open
(
log_file_path
(
'nginx-access.log'
))
as
f
:
self
.
assertIn
(
'GET /status HTTP'
,
f
.
read
())
requests
.
get
(
error_url
,
verify
=
False
)
with
open
(
log_file_path
(
'nginx-error.log'
))
as
f
:
self
.
assertIn
(
'forbidden'
,
f
.
read
())
self
.
_executeCrontabAtDate
(
'logrotate'
,
'2050-01-03'
)
# yesterday's file are compressed
with
lzma
.
open
(
rotated_file_path
(
'nginx-access.log-20500102.xz'
),
'rt'
)
as
f
:
self
.
assertIn
(
'GET /status HTTP'
,
f
.
read
())
with
lzma
.
open
(
rotated_file_path
(
'nginx-error.log-20500102.xz'
),
'rt'
)
as
f
:
self
.
assertIn
(
'forbidden'
,
f
.
read
())
software/proftpd/README.md
View file @
021ae883
...
@@ -12,6 +12,5 @@ http://www.proftpd.org/docs/
...
@@ -12,6 +12,5 @@ http://www.proftpd.org/docs/
# TODO
# TODO
*
log rotation
*
make sure SFTPLog is useful (seems very verbose and does not contain more than stdout)
*
make sure SFTPLog is useful (seems very verbose and does not contain more than stdout)
*
allow configuring webhooks when new file is uploaded
*
allow configuring webhooks when new file is uploaded
software/proftpd/buildout.hash.cfg
View file @
021ae883
...
@@ -19,7 +19,7 @@ md5sum = efb4238229681447aa7fe73898dffad4
...
@@ -19,7 +19,7 @@ md5sum = efb4238229681447aa7fe73898dffad4
[instance-default]
[instance-default]
filename = instance-default.cfg.in
filename = instance-default.cfg.in
md5sum =
f6c583d24940a3a6838bd421dbb84a20
md5sum =
4df64032e14c19363ad3dfe9aecf8e0c
[proftpd-config-file]
[proftpd-config-file]
filename = proftpd-config-file.cfg.in
filename = proftpd-config-file.cfg.in
...
...
software/proftpd/instance-default.cfg.in
View file @
021ae883
[buildout]
[buildout]
parts =
parts =
promises
promises
cron-service
cron-entry-logrotate
logrotate-entry-proftpd
publish-connection-parameter
publish-connection-parameter
extends = {{ template_monitor }}
extends = {{ template_monitor }}
...
@@ -137,6 +140,15 @@ recipe =
...
@@ -137,6 +140,15 @@ recipe =
instance-promises =
instance-promises =
${proftpd-listen-promise:name}
${proftpd-listen-promise:name}
[logrotate-entry-proftpd]
<= logrotate-entry-base
name = proftpd
log =
${proftpd:sftp-log}
${proftpd:xfer-log}
${proftpd:ban-log}
post =
test ! -s ${proftpd:pid-file} || kill -HUP $(cat "${proftpd:pid-file}")
[publish-connection-parameter]
[publish-connection-parameter]
recipe = slapos.cookbook:publish
recipe = slapos.cookbook:publish
...
...
software/proftpd/test/test.py
View file @
021ae883
...
@@ -25,26 +25,25 @@
...
@@ -25,26 +25,25 @@
#
#
##############################################################################
##############################################################################
import
contextlib
import
io
import
logging
import
lzma
import
os
import
os
import
shutil
import
shutil
from
urllib.parse
import
urlparse
,
parse_qs
import
tempfile
import
io
import
subprocess
import
subprocess
import
tempfile
import
time
import
time
from
http.server
import
BaseHTTPRequestHandler
from
http.server
import
BaseHTTPRequestHandler
import
logging
from
urllib.parse
import
parse_qs
,
urlparse
import
pysftp
import
psutil
import
paramiko
import
paramiko
from
paramiko.ssh_exception
import
SSHException
import
psutil
from
paramiko.ssh_exception
import
AuthenticationException
import
pysftp
from
paramiko.ssh_exception
import
AuthenticationException
,
SSHException
from
slapos.testing.testcase
import
makeModuleSetUpAndTestCaseClass
from
slapos.testing.testcase
import
makeModuleSetUpAndTestCaseClass
from
slapos.testing.utils
import
findFreeTCPPort
from
slapos.testing.utils
import
(
CrontabMixin
,
ManagedHTTPServer
,
from
slapos.testing.utils
import
ManagedHTTPServer
findFreeTCPPort
)
setUpModule
,
SlapOSInstanceTestCase
=
makeModuleSetUpAndTestCaseClass
(
setUpModule
,
SlapOSInstanceTestCase
=
makeModuleSetUpAndTestCaseClass
(
os
.
path
.
abspath
(
os
.
path
.
abspath
(
...
@@ -227,8 +226,7 @@ class TestFilesAndSocketsInInstanceDir(ProFTPdTestCase):
...
@@ -227,8 +226,7 @@ class TestFilesAndSocketsInInstanceDir(ProFTPdTestCase):
"""
"""
with
self
.
slap
.
instance_supervisor_rpc
as
supervisor
:
with
self
.
slap
.
instance_supervisor_rpc
as
supervisor
:
all_process_info
=
supervisor
.
getAllProcessInfo
()
all_process_info
=
supervisor
.
getAllProcessInfo
()
# there is only one process in this instance
process_info
,
=
[
p
for
p
in
all_process_info
if
'proftpd'
in
p
[
'name'
]]
process_info
,
=
[
p
for
p
in
all_process_info
if
p
[
'name'
]
!=
'watchdog'
]
process
=
psutil
.
Process
(
process_info
[
'pid'
])
process
=
psutil
.
Process
(
process_info
[
'pid'
])
self
.
assertEqual
(
'proftpd'
,
process
.
name
())
# sanity check
self
.
assertEqual
(
'proftpd'
,
process
.
name
())
# sanity check
self
.
proftpdProcess
=
process
self
.
proftpdProcess
=
process
...
@@ -316,8 +314,7 @@ class TestSSHKey(TestSFTPOperations):
...
@@ -316,8 +314,7 @@ class TestSSHKey(TestSFTPOperations):
class
TestAuthenticationURL
(
TestSFTPOperations
):
class
TestAuthenticationURL
(
TestSFTPOperations
):
class
AuthenticationServer
(
ManagedHTTPServer
):
class
AuthenticationServer
(
ManagedHTTPServer
):
class
RequestHandler
(
BaseHTTPRequestHandler
):
class
RequestHandler
(
BaseHTTPRequestHandler
):
def
do_POST
(
self
):
def
do_POST
(
self
)
->
None
:
# type: () -> None
assert
self
.
headers
[
assert
self
.
headers
[
'Content-Type'
]
==
'application/x-www-form-urlencoded'
,
self
.
headers
[
'Content-Type'
]
==
'application/x-www-form-urlencoded'
,
self
.
headers
[
'Content-Type'
]
'Content-Type'
]
...
@@ -330,11 +327,13 @@ class TestAuthenticationURL(TestSFTPOperations):
...
@@ -330,11 +327,13 @@ class TestAuthenticationURL(TestSFTPOperations):
self
.
send_response
(
200
)
self
.
send_response
(
200
)
self
.
send_header
(
"X-Proftpd-Authentication-Result"
,
"Success"
)
self
.
send_header
(
"X-Proftpd-Authentication-Result"
,
"Success"
)
self
.
end_headers
()
self
.
end_headers
()
return
self
.
wfile
.
write
(
b"OK"
)
self
.
wfile
.
write
(
b"OK"
)
return
self
.
send_response
(
401
)
self
.
send_response
(
401
)
return
self
.
wfile
.
write
(
b"Forbidden"
)
self
.
wfile
.
write
(
b"Forbidden"
)
log_message
=
logging
.
getLogger
(
__name__
+
'.AuthenticationServer'
).
info
def
log_message
(
self
,
msg
,
*
args
)
->
None
:
logging
.
getLogger
(
__name__
+
'.AuthenticationServer'
).
info
(
msg
,
*
args
)
@
classmethod
@
classmethod
def
getInstanceParameterDict
(
cls
):
def
getInstanceParameterDict
(
cls
):
...
@@ -364,3 +363,119 @@ class TestAuthenticationURL(TestSFTPOperations):
...
@@ -364,3 +363,119 @@ class TestAuthenticationURL(TestSFTPOperations):
parameter_dict
=
self
.
computer_partition
.
getConnectionParameterDict
()
parameter_dict
=
self
.
computer_partition
.
getConnectionParameterDict
()
self
.
assertNotIn
(
'username'
,
parameter_dict
)
self
.
assertNotIn
(
'username'
,
parameter_dict
)
self
.
assertNotIn
(
'password'
,
parameter_dict
)
self
.
assertNotIn
(
'password'
,
parameter_dict
)
class
LogRotationMixin
(
CrontabMixin
):
"""Mixin test for log rotations.
Verifies that after `_access` the `expected_logged_text` is found in `log_filename`.
This also checks that the log files are rotated properly.
"""
log_filename
:
str
=
NotImplemented
expected_logged_text
:
str
=
NotImplemented
def
_access
(
self
)
->
None
:
raise
NotImplementedError
()
def
assertFileContains
(
self
,
filename
:
str
,
text
:
str
)
->
None
:
"""assert that files contain the text, waiting for file to be created and
retrying a few times to tolerate the cases where text is not yet written
to file.
"""
file_exists
=
False
for
retry
in
range
(
10
):
if
os
.
path
.
exists
(
filename
):
file_exists
=
True
if
filename
.
endswith
(
'.xz'
):
f
=
lzma
.
open
(
filename
,
'rt'
)
else
:
f
=
open
(
filename
,
'rt'
)
with
contextlib
.
closing
(
f
):
content
=
f
.
read
()
if
text
in
content
:
return
time
.
sleep
(
0.1
*
retry
)
self
.
assertTrue
(
file_exists
,
f'
{
filename
}
does not exist'
)
self
.
assertIn
(
text
,
content
)
def
test
(
self
)
->
None
:
self
.
_access
()
self
.
assertFileContains
(
os
.
path
.
join
(
self
.
computer_partition_root_path
,
'var'
,
'log'
,
self
.
log_filename
,
),
self
.
expected_logged_text
,
)
# first log rotation initialize the state, but does not actually rotate
self
.
_executeCrontabAtDate
(
'logrotate'
,
'2050-01-01'
)
self
.
_executeCrontabAtDate
(
'logrotate'
,
'2050-01-02'
)
# today's file is not compressed
self
.
assertFileContains
(
os
.
path
.
join
(
self
.
computer_partition_root_path
,
'srv'
,
'backup'
,
'logrotate'
,
f'
{
self
.
log_filename
}
-20500102'
,
),
self
.
expected_logged_text
,
)
# after rotation, the program re-opened original log file and writes in
# expected location, so access are logged again.
self
.
_access
()
self
.
assertFileContains
(
os
.
path
.
join
(
self
.
computer_partition_root_path
,
'var'
,
'log'
,
self
.
log_filename
,
),
self
.
expected_logged_text
,
)
self
.
_executeCrontabAtDate
(
'logrotate'
,
'2050-01-03'
)
# yesterday's file is compressed
self
.
assertFileContains
(
os
.
path
.
join
(
self
.
computer_partition_root_path
,
'srv'
,
'backup'
,
'logrotate'
,
f'
{
self
.
log_filename
}
-20500102.xz'
,
),
self
.
expected_logged_text
,
)
class
TestAccessLog
(
ProFTPdTestCase
,
LogRotationMixin
):
log_filename
=
'proftpd-sftp.log'
expected_logged_text
=
"user 'proftpd' authenticated via 'password' method"
def
_access
(
self
)
->
None
:
self
.
_getConnection
().
close
()
class
TestXferLog
(
ProFTPdTestCase
,
LogRotationMixin
):
log_filename
=
'proftpd-xfer.log'
expected_logged_text
=
'/testfile'
def
_access
(
self
)
->
None
:
with
self
.
_getConnection
()
as
sftp
:
with
tempfile
.
NamedTemporaryFile
(
mode
=
'w'
)
as
f
:
f
.
write
(
"Hello FTP !"
)
f
.
flush
()
sftp
.
put
(
f
.
name
,
remotepath
=
'testfile'
)
class
TestBanLog
(
ProFTPdTestCase
,
LogRotationMixin
):
log_filename
=
'proftpd-ban.log'
expected_logged_text
=
'denied due to host ban'
def
_access
(
self
)
->
None
:
for
_
in
range
(
6
):
with
self
.
assertRaisesRegex
(
Exception
,
'(Authentication failed|Connection reset by peer)'
):
self
.
_getConnection
(
password
=
'wrong'
)
software/repman/software.cfg
View file @
021ae883
...
@@ -33,6 +33,10 @@ parts =
...
@@ -33,6 +33,10 @@ parts =
[python]
[python]
part = python3
part = python3
[gowork]
# replication-manager does not build on golang 1.17
golang = ${golang1.16:location}
[instance.cfg]
[instance.cfg]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:directory}/instance.cfg
rendered = ${buildout:directory}/instance.cfg
...
...
software/slapos-master/software.cfg
View file @
021ae883
[buildout]
[buildout]
extends =
extends =
../../software/erp5/software.cfg
../../software/erp5/software.cfg
../../component/wendelin.core/activate-WC2-preview.cfg
buildout.hash.cfg
buildout.hash.cfg
parts +=
parts +=
...
...
software/slapos-sr-testing/software-py3.cfg
View file @
021ae883
...
@@ -17,6 +17,7 @@ extra =
...
@@ -17,6 +17,7 @@ extra =
helloworld ${slapos.test.helloworld-setup:setup}
helloworld ${slapos.test.helloworld-setup:setup}
jupyter ${slapos.test.jupyter-setup:setup}
jupyter ${slapos.test.jupyter-setup:setup}
monitor ${slapos.test.monitor-setup:setup}
monitor ${slapos.test.monitor-setup:setup}
nginx-push-stream ${slapos.test.nginx-push-stream-setup:setup}
plantuml ${slapos.test.plantuml-setup:setup}
plantuml ${slapos.test.plantuml-setup:setup}
powerdns ${slapos.test.powerdns-setup:setup}
powerdns ${slapos.test.powerdns-setup:setup}
proftpd ${slapos.test.proftpd-setup:setup}
proftpd ${slapos.test.proftpd-setup:setup}
...
...
software/slapos-sr-testing/software.cfg
View file @
021ae883
...
@@ -237,6 +237,7 @@ extra-eggs =
...
@@ -237,6 +237,7 @@ extra-eggs =
${slapos.core-setup:egg}
${slapos.core-setup:egg}
${pillow-python:egg}
${pillow-python:egg}
${pycurl:egg}
${pycurl:egg}
caucase
erp5.util
erp5.util
${python-pynacl:egg}
${python-pynacl:egg}
${python-cryptography:egg}
${python-cryptography:egg}
...
@@ -338,7 +339,6 @@ tests =
...
@@ -338,7 +339,6 @@ tests =
slaprunner ${slapos.test.slaprunner-setup:setup}
slaprunner ${slapos.test.slaprunner-setup:setup}
theia ${slapos.test.theia-setup:setup}
theia ${slapos.test.theia-setup:setup}
metabase ${slapos.test.metabase-setup:setup}
metabase ${slapos.test.metabase-setup:setup}
nginx-push-stream ${slapos.test.nginx-push-stream-setup:setup}
erp5 ${slapos.test.erp5-setup:setup}
erp5 ${slapos.test.erp5-setup:setup}
###
###
${:extra}
${:extra}
...
...
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