Commit c21f140d authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release Candidate

parents 76456952 5129bbdd
...@@ -103,7 +103,7 @@ LoadModule headers_module modules/mod_headers.so ...@@ -103,7 +103,7 @@ LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so LoadModule filter_module modules/mod_filter.so
AddOutputFilterByType DEFLATE text/cache-manifest text/html text/plain text/css application/hal+json application/json application/x-javascript text/xml application/xml application/rss+xml text/javascript image/svg+xml application/x-font-ttf application/font-woff application/font-woff2 application/x-font-opentype application/wasm AddOutputFilterByType DEFLATE text/cache-manifest text/html text/plain text/css application/hal+json application/json application/x-javascript text/xml application/xml application/rss+xml text/javascript application/javascript image/svg+xml application/x-font-ttf application/font-woff application/font-woff2 application/x-font-opentype application/wasm
PidFile "{{ parameter_dict['pid-file'] }}" PidFile "{{ parameter_dict['pid-file'] }}"
ServerAdmin admin@ ServerAdmin admin@
......
...@@ -14,5 +14,5 @@ ...@@ -14,5 +14,5 @@
# not need these here). # not need these here).
[template-apache-backend-conf] [template-apache-backend-conf]
filename = apache-backend.conf.in filename = apache-backend.conf.in
md5sum = 416ded1ea16b6aa0e5e2c2261befd91e md5sum = 84d43d3535ffc67f677710b1d97e19aa
...@@ -5,12 +5,13 @@ extends = ...@@ -5,12 +5,13 @@ extends =
../patch/buildout.cfg ../patch/buildout.cfg
../pkgconfig/buildout.cfg ../pkgconfig/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
../xorg/buildout.cfg
parts = parts =
ffmpeg ffmpeg
[ffmpeg] [ffmpeg]
<= ffmpeg-0.8 <= ffmpeg-4.1
[libogg] [libogg]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -25,9 +26,11 @@ url = http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.bz2 ...@@ -25,9 +26,11 @@ url = http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.bz2
md5sum = 798a4211221073c1409f26eac4567e8b md5sum = 798a4211221073c1409f26eac4567e8b
configure-options = configure-options =
--disable-static --disable-static
pkg_config_depends = ${libogg:location}/lib/pkgconfig
environment = environment =
PATH=${pkgconfig:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libogg:location}/lib/pkgconfig PKG_CONFIG_PATH=${:pkg_config_depends}
LDFLAGS=-Wl,-rpath=${libogg:location}/lib
[libtheora] [libtheora]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -39,9 +42,16 @@ patches = ...@@ -39,9 +42,16 @@ patches =
patch-options = -p1 patch-options = -p1
configure-options = configure-options =
--disable-static --disable-static
pkg_config_depends = ${libpng:location}/lib/pkgconfig:${libvorbis:location}/lib/pkgconfig:${libvorbis:pkg_config_depends}
environment = environment =
PATH=${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s PATH=${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libogg:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${libvorbis:location}/lib/pkgconfig PKG_CONFIG_PATH=${:pkg_config_depends}
LDFLAGS=-Wl,-rpath=${libvorbis:location}/lib
[nasm]
recipe = slapos.recipe.cmmi
url = https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
md5sum = 3f489aa48ad2aa1f967dc5e293bbd06f
[yasm] [yasm]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -49,22 +59,22 @@ url = http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz ...@@ -49,22 +59,22 @@ url = http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
[libvpx] [libvpx]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://webm.googlecode.com/files/libvpx-v0.9.6.tar.bz2 url = https://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.5.0.tar.bz2
md5sum = 383f3f07a76099682abb43f79b692b72 md5sum = 49e59dd184caa255886683facea56fca
configure-options = configure-options =
--enable-shared --enable-shared
environment = environment =
PATH=${yasm:location}/bin:%(PATH)s PATH=${yasm:location}/bin:%(PATH)s
[libx264] [libx264]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20111005-2245-stable.tar.bz2 url = ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20190214-2245.tar.bz2
md5sum = f86260b2ea6d6cb5186937c9363891d7 md5sum = 37109ae11d37e4a8963954b53041d43a
configure-options = configure-options =
--enable-shared --enable-shared
--enable-pic --enable-pic
environment = environment =
PATH=${yasm:location}/bin:%(PATH)s PATH=${yasm:location}/bin:${nasm:location}/bin:%(PATH)s
[lame] [lame]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -81,10 +91,11 @@ md5sum = 8e8b8b253eb046340ff7b6bf7a6ccd3e ...@@ -81,10 +91,11 @@ md5sum = 8e8b8b253eb046340ff7b6bf7a6ccd3e
configure-options = configure-options =
--disable-static --disable-static
[ffmpeg-0.8] [ffmpeg-4.1]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://ffmpeg.org/releases/ffmpeg-0.8.5.tar.bz2 url = https://ffmpeg.org/releases/ffmpeg-4.1.4.tar.bz2
md5sum = 726877b19ece7ea64def8b7e6727e182 md5sum = 611d171e4aee749b85e04d17e2aee71d
pkg_config_depends = ${libxcb:location}/lib/pkgconfig:${libxcb:pkg_config_depends}:${libtheora:location}/lib/pkgconfig:${libtheora:pkg_config_depends}:${libvpx:location}/lib/pkgconfig:${libx264:location}/lib/pkgconfig:${opencore-amr:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig
configure-options = configure-options =
--enable-gpl --enable-gpl
--enable-version3 --enable-version3
...@@ -99,9 +110,13 @@ configure-options = ...@@ -99,9 +110,13 @@ configure-options =
--enable-libopencore-amrwb --enable-libopencore-amrwb
--enable-shared --enable-shared
--enable-zlib --enable-zlib
--enable-libxcb
--enable-libxcb-shm
--enable-libxcb-xfixes
--enable-libxcb-shape
--disable-static --disable-static
--extra-ldflags="-Wl,-rpath=${buildout:parts-directory}/${:_buildout_section_name_}/lib"
environment = environment =
CPPFLAGS=-I${bzip2:location}/include -I${libogg:location}/include -I${libvorbis:location}/include -I${libtheora:location}/include -I${libvpx:location}/include -I${libx264:location}/include -I${lame:location}/include -I${opencore-amr:location}/include -I${zlib:location}/include PKG_CONFIG_PATH=${:pkg_config_depends}
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${libogg:location}/lib -Wl,-rpath=${libogg:location}/lib -L${libvorbis:location}/lib -Wl,-rpath=${libvorbis:location}/lib -L${libtheora:location}/lib -Wl,-rpath=${libtheora:location}/lib -L${libvpx:location}/lib -Wl,-rpath=${libvpx:location}/lib -L${libx264:location}/lib -Wl,-rpath=${libx264:location}/lib -L${lame:location}/lib -Wl,-rpath=${lame:location}/lib -L${opencore-amr:location}/lib -Wl,-rpath=${opencore-amr:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib CPPFLAGS=-I${bzip2:location}/include -I${libogg:location}/include -I${libtheora:location}/include -I${opencore-amr:location}/include -I${lame:location}/include
PATH=${yasm:location}/bin:%(PATH)s LDFLAGS=-Wl,-rpath=${buildout:parts-directory}/${:_buildout_section_name_}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${libxcb:location}/lib -L${libogg:location}/lib -L${libvorbis:location}/lib -Wl,-rpath=${libvorbis:location}/lib -L${libtheora:location}/lib -Wl,-rpath=${libtheora:location}/lib -L${libvpx:location}/lib -Wl,-rpath=${libvpx:location}/lib -L${libx264:location}/lib -Wl,-rpath=${libx264:location}/lib -L${lame:location}/lib -Wl,-rpath=${lame:location}/lib -L${opencore-amr:location}/lib -Wl,-rpath=${opencore-amr:location}/lib -Wl,-rpath=${zlib:location}/lib
PATH=${pkgconfig:location}/bin:${yasm:location}/bin:%(PATH)s
\ No newline at end of file
...@@ -47,6 +47,11 @@ script = ...@@ -47,6 +47,11 @@ script =
)) ))
os.fchmod(f.fileno(), 0o755) os.fchmod(f.fileno(), 0o755)
[firefox-wrapper-68]
<= firefox-wrapper
wrapper-name = firefox-68
part = ${firefox-68:location}
[firefox-wrapper-60] [firefox-wrapper-60]
<= firefox-wrapper <= firefox-wrapper
wrapper-name = firefox-60 wrapper-name = firefox-60
...@@ -69,7 +74,13 @@ part = ${firefox-51:location} ...@@ -69,7 +74,13 @@ part = ${firefox-51:location}
# installed in ${buildout:bin-directory}. # installed in ${buildout:bin-directory}.
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH # Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# would not be created. # would not be created.
<= firefox-52 <= firefox-68
[firefox-68]
<= firefox-download
version = 68.0.2esr
i686-md5sum = eaa9e0246eb2a31ccf55c100dc2edd5a
x86_64-md5sum = d22dc17ce0949cdff78009afca6f2043
[firefox-60] [firefox-60]
<= firefox-download <= firefox-download
...@@ -115,6 +126,7 @@ library = ...@@ -115,6 +126,7 @@ library =
${gdk-pixbuf:location}/lib ${gdk-pixbuf:location}/lib
${gettext:location}/lib ${gettext:location}/lib
${glib:location}/lib ${glib:location}/lib
${gtk-2:location}/lib
${gtk-3:location}/lib ${gtk-3:location}/lib
${harfbuzz:location}/lib ${harfbuzz:location}/lib
${libepoxy:location}/lib ${libepoxy:location}/lib
...@@ -153,7 +165,13 @@ script = ...@@ -153,7 +165,13 @@ script =
[geckodriver] [geckodriver]
# Current geckodriver installed as ${buildout:bin-directory}/geckodriver # Current geckodriver installed as ${buildout:bin-directory}/geckodriver
<= geckodriver-0.17.0 <= geckodriver-0.24.0
[geckodriver-0.24.0]
<= geckodriver-base
version = 0.24.0
i686-md5sum = b88eee754f6c90b01f760f7a453dda95
x86_64-md5sum = 7552b85e43973c84763e212af7cca566
[geckodriver-0.22.0] [geckodriver-0.22.0]
<= geckodriver-base <= geckodriver-base
......
...@@ -48,8 +48,8 @@ environment = ...@@ -48,8 +48,8 @@ environment =
[harfbuzz] [harfbuzz]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.35.tar.bz2 url = http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-2.3.1.tar.bz2
md5sum = 531ee8650626ecddcd90b2a4637e31d4 md5sum = 531de9df7c8a5405dd9c6a873fcee8c2
pkg_config_depends = ${cairo:location}/lib/pkgconfig:${cairo:pkg_config_depends}:${icu4c:location}/lib/pkgconfig pkg_config_depends = ${cairo:location}/lib/pkgconfig:${cairo:pkg_config_depends}:${icu4c:location}/lib/pkgconfig
configure-options = configure-options =
--disable-static --disable-static
...@@ -60,14 +60,23 @@ configure-options = ...@@ -60,14 +60,23 @@ configure-options =
environment = environment =
PATH=${glib:location}/bin:${freetype:location}/bin:${pkgconfig:location}/bin:%(PATH)s PATH=${glib:location}/bin:${freetype:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends} PKG_CONFIG_PATH=${:pkg_config_depends}
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
[fribidi]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/fribidi/fribidi/releases/download/v1.0.5/fribidi-1.0.5.tar.bz2
md5sum = 0f97f65038545340316ec0f4bd53df0b
configure-options =
--enable-shared
--disable-static
[pango] [pango]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
shared = true shared = true
url = http://ftp.gnome.org/pub/gnome/core/3.22/3.22.2/sources/pango-1.40.3.tar.xz url = http://ftp.gnome.org/pub/gnome/core/3.32/3.32.2/sources/pango-1.42.4.tar.xz
md5sum = 17c26720f5a862a12f7e1745e2f1d966 md5sum = deb171a31a3ad76342d5195a1b5bbc7c
pkg_config_depends = ${harfbuzz:location}/lib/pkgconfig:${harfbuzz:pkg_config_depends} pkg_config_depends = ${fribidi:location}/lib/pkgconfig:${harfbuzz:location}/lib/pkgconfig:${harfbuzz:pkg_config_depends}
configure-options = configure-options =
--disable-static --disable-static
--disable-gtk-doc-html --disable-gtk-doc-html
......
...@@ -116,8 +116,9 @@ patch-options = -p1 ...@@ -116,8 +116,9 @@ patch-options = -p1
configure-options = configure-options =
--disable-static --disable-static
--disable-build-docs --disable-build-docs
pkg_config_depends = ${libXau:location}/lib/pkgconfig:${xcbproto:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig
environment = environment =
PKG_CONFIG_PATH=${libXau:location}/lib/pkgconfig:${xcbproto:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig PKG_CONFIG_PATH=${:pkg_config_depends}
PATH=${patch:location}/bin:${pkgconfig:location}/bin:${libxslt:location}/bin:%(PATH)s PATH=${patch:location}/bin:${pkgconfig:location}/bin:${libxslt:location}/bin:%(PATH)s
PYTHON=${buildout:executable} PYTHON=${buildout:executable}
# Python note: libxcb requires python with ElementTree. In case of appliance # Python note: libxcb requires python with ElementTree. In case of appliance
......
...@@ -40,15 +40,30 @@ def makeRecipe(recipe_class, options, name='test', slap_connection=None): ...@@ -40,15 +40,30 @@ def makeRecipe(recipe_class, options, name='test', slap_connection=None):
buildout['slap-connection'] = slap_connection buildout['slap-connection'] = slap_connection
# are we in buildout folder ? # are we in buildout folder ?
# the usual layout is # in SLAPOS-EGG-TEST the usual layout is
# ${buildout:directory}/parts/slapos-repository/slapos/test/utils.py , so try # ${buildout:directory}/parts/slapos-repository/slapos/test/utils.py in instance buildout, so try
# to find a buildout relative to this file. # to find a buildout.cfg relative to this file.
buildout_cfg = os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', 'buildout.cfg') # What can also happens is that this repository is used from software folder, this is the case in
# SLAPOS-SR-TEST. In this case, ${buildout:eggs} is not set in buildout.cfg and we can only assume
# it will be the standards eggs and develop-eggs folders.
# {BASE_DIRECTORY}/parts/slapos-repository/slapos/test/utils.py
base_directory = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..'))
buildout_cfg = os.path.join(base_directory, 'buildout.cfg')
if os.path.exists(buildout_cfg): if os.path.exists(buildout_cfg):
parser = ConfigParser() parser = ConfigParser()
parser.readfp(open(buildout_cfg)) parser.readfp(open(buildout_cfg))
eggs_directory = parser.get('buildout', 'eggs-directory') eggs_directory = parser.get(
develop_eggs_directory = parser.get('buildout', 'develop-eggs-directory') 'buildout',
'eggs-directory',
# default, for the case when buildout_cfg is a software buildout
# like with SLAPOS-SR-TEST.
vars={'eggs-directory': os.path.join(base_directory, 'eggs')})
develop_eggs_directory = parser.get(
'buildout',
'develop-eggs-directory',
vars={'develop-eggs-directory': os.path.join(base_directory, 'develop-eggs')})
logging.getLogger(__name__).info( logging.getLogger(__name__).info(
'Using eggs-directory (%s) and develop-eggs-directory (%s) from buildout at %s', 'Using eggs-directory (%s) and develop-eggs-directory (%s) from buildout at %s',
eggs_directory, eggs_directory,
......
...@@ -30,7 +30,7 @@ md5sum = 491a19d1747bbf795c27b094cf67114d ...@@ -30,7 +30,7 @@ md5sum = 491a19d1747bbf795c27b094cf67114d
[template-slave-list] [template-slave-list]
filename = templates/apache-custom-slave-list.cfg.in filename = templates/apache-custom-slave-list.cfg.in
md5sum = cee327868f251639883df63923f978b5 md5sum = 13338a7844f5a4b749f6647ba8163a8d
[template-slave-configuration] [template-slave-configuration]
filename = templates/custom-virtualhost.conf.in filename = templates/custom-virtualhost.conf.in
......
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
"textarea": true, "textarea": true,
"title": "[DEPRECATED] SSL Key", "title": "[DEPRECATED] SSL Key",
"type": "string" "type": "string"
}, },
"ssl_ca_crt": { "ssl_ca_crt": {
"default": "", "default": "",
"description": "Content of the CA certificate file. Deprecated, please use key-upload-url.", "description": "Content of the CA certificate file. Deprecated, please use key-upload-url.",
......
...@@ -77,6 +77,7 @@ output = {{ plugin_directory }}/${:name} ...@@ -77,6 +77,7 @@ output = {{ plugin_directory }}/${:name}
{% set slave_publish_dict = {} %} {% set slave_publish_dict = {} %}
{% set slave_configuration_section_name = 'slave-instance-%s-configuration' % slave_reference %} {% set slave_configuration_section_name = 'slave-instance-%s-configuration' % slave_reference %}
{% set slave_logrotate_section = slave_reference + "-logs" %} {% set slave_logrotate_section = slave_reference + "-logs" %}
{% set slave_logrotate_cache_direct_section = slave_reference + "-cache-direct-logs" %}
{% set slave_password_section = slave_reference + "-password" %} {% set slave_password_section = slave_reference + "-password" %}
{% set slave_ln_section = slave_reference + "-ln" %} {% set slave_ln_section = slave_reference + "-ln" %}
...@@ -86,7 +87,8 @@ output = {{ plugin_directory }}/${:name} ...@@ -86,7 +87,8 @@ output = {{ plugin_directory }}/${:name}
{% set slave_log_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-logs" %} {% set slave_log_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-logs" %}
{% if enable_cache %} {% if enable_cache %}
{% set slave_log_cache_direct_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-cache-direct-logs" %} {% set slave_log_cache_direct_folder = '${logrotate-directory:logrotate-backup}/' + slave_logrotate_cache_direct_section %}
{% do part_list.extend([slave_logrotate_cache_direct_section]) %}
{% endif %} {% endif %}
{# Pass HTTP2 switch #} {# Pass HTTP2 switch #}
...@@ -162,7 +164,7 @@ name = ${:_buildout_section_name_} ...@@ -162,7 +164,7 @@ name = ${:_buildout_section_name_}
log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}} log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}}
backup = {{ slave_log_folder }} backup = {{ slave_log_folder }}
{% if enable_cache %} {% if enable_cache %}
[{{slave_logrotate_section}}_cache_direct] [{{slave_logrotate_cache_direct_section}}]
<= logrotate-entry-base <= logrotate-entry-base
name = ${:_buildout_section_name_} name = ${:_buildout_section_name_}
log = {{slave_parameter_dict.get('access_log_cache_direct')}} {{slave_parameter_dict.get('error_log_cache_direct')}} log = {{slave_parameter_dict.get('access_log_cache_direct')}} {{slave_parameter_dict.get('error_log_cache_direct')}}
......
...@@ -18,4 +18,4 @@ md5sum = 307663d73ef3ef94b02567ecd322252e ...@@ -18,4 +18,4 @@ md5sum = 307663d73ef3ef94b02567ecd322252e
[template-default] [template-default]
filename = instance-default.cfg filename = instance-default.cfg
md5sum = de56145079f33f78d6bcf140f6caf2f3 md5sum = 4abfdf82f90a39a36de338f36b5eeb3e
...@@ -233,4 +233,4 @@ port = $${shellinabox-frontend:port} ...@@ -233,4 +233,4 @@ port = $${shellinabox-frontend:port}
node-quantity = 1 node-quantity = 1
test-suite-master-url = test-suite-master-url =
instance-dict = instance-dict =
software-path-list = ["https://lab.nexedi.com/nexedi/slapos/raw/1.0.83/software/seleniumrunner/software.cfg"] software-path-list = ["https://lab.nexedi.com/nexedi/slapos/raw/2063375310edea5991786083803e8bca9069ae17/software/seleniumrunner/software.cfg"]
...@@ -11,9 +11,9 @@ transaction = 2.2.1 ...@@ -11,9 +11,9 @@ transaction = 2.2.1
# Required by: # Required by:
# ZEO==5.2.0 # ZEO==5.2.0
# trollius==2.2 # trollius==2.2.post1
futures = 3.2.0 futures = 3.2.0
# Required by: # Required by:
# ZEO==5.2.0 # ZEO==5.2.0
trollius = 2.2 trollius = 2.2.post1
{ {
"$schema": "http://json-schema.org/draft-04/schema#", "$schema": "http://json-schema.org/draft-04/schema#",
"description": "Parameters to instantiate Grafana", "description": "Parameters to instantiate Grafana",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"domain": { "domain": {
"title": "Authorized domain on nextcloud", "title": "Authorized domain on nextcloud",
"description": "Trusted domain used to connect to Nextcloud instance.", "description": "Trusted domain used to connect to Nextcloud instance.",
"type": "string" "type": "string"
}, },
"monitor-interface-url": { "monitor-interface-url": {
"title": "Monitor Web Interface URL", "title": "Monitor Web Interface URL",
"description": "Give Url of HTML web interface that will be used to render this monitor instance.", "description": "Give Url of HTML web interface that will be used to render this monitor instance.",
"type": "string", "type": "string",
"format": "uri", "format": "uri",
"default": "https://monitor.app.officejs.com" "default": "https://monitor.app.officejs.com"
}, },
"monitor-cors-domains": { "monitor-cors-domains": {
"title": "Monitor CORS domains", "title": "Monitor CORS domains",
"description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.",
"type": "string", "type": "string",
"default": "monitor.app.officejs.com" "default": "monitor.app.officejs.com"
}, },
"innodb-file-per-table": { "innodb-file-per-table": {
"title": "Enable/disable innodb_file_per_table", "title": "Enable/disable innodb_file_per_table",
"description": "See MariaDB documentation on innodb_file_per_table", "description": "See MariaDB documentation on innodb_file_per_table",
"minimum": 0, "minimum": 0,
"maximum": 1, "maximum": 1,
"default": 0, "default": 0,
"type": "integer" "type": "integer"
}, },
"apache-computer-guid": { "apache-computer-guid": {
"title": "Computer ID for Apache Instance.", "title": "Computer ID for Apache Instance.",
"description": "Unique identifier of the computer, like \"COMP-1234\". By default, let Master choose a computer.", "description": "Unique identifier of the computer, like \"COMP-1234\". By default, let Master choose a computer.",
"type": "string" "type": "string"
}, },
"mariadb-computer-guid": { "mariadb-computer-guid": {
"title": "Computer ID for Mariadb Instance.", "title": "Computer ID for Mariadb Instance.",
"description": "Unique identifier of the computer, like \"COMP-1234\". By default, let Master choose a computer.", "description": "Unique identifier of the computer, like \"COMP-1234\". By default, let Master choose a computer.",
"type": "string" "type": "string"
}, },
"instance.mail-from": { "instance.mail-from": {
"title": "Mail from", "title": "Mail from",
"description": "From", "description": "From",
"type": "string" "type": "string"
}, },
"instance.mail-domain": { "instance.mail-domain": {
"title": "Mail domain name", "title": "Mail domain name",
"description": "Domain name", "description": "Domain name",
"type": "string" "type": "string"
}, },
"instance.mail-smtpauthtype": { "instance.mail-smtpauthtype": {
"title": "SMTP Auth type", "title": "SMTP Auth type",
"description": "Mail SMTP auth type. Default: LOGIN", "description": "Mail SMTP auth type. Default: LOGIN",
"type": "string", "type": "string",
"default": "LOGIN" "default": "LOGIN"
}, },
"instance.mail-smtpauth": { "instance.mail-smtpauth": {
"title": "SMTP auth required", "title": "SMTP auth required",
"description": "Verify SSL certificate of SMTP server. Default: Yes", "description": "Verify SSL certificate of SMTP server. Default: Yes",
"minimum": 0, "minimum": 0,
"maximum": 1, "maximum": 1,
"default": 0, "default": 0,
"type": "integer" "type": "integer"
}, },
"instance.mail-smtpport": { "instance.mail-smtpport": {
"title": "SMTP port", "title": "SMTP port",
"description": "Mail SMTP Port. Default: 587", "description": "Mail SMTP Port. Default: 587",
"type": "integer", "type": "integer",
"default": 587 "default": 587
}, },
"instance.mail-smtphost": { "instance.mail-smtphost": {
"title": "SMTP host", "title": "SMTP host",
"description": "Mail SMTP host", "description": "Mail SMTP host",
"type": "string" "type": "string"
}, },
"instance.mail-smtpname": { "instance.mail-smtpname": {
"title": "SMTP name", "title": "SMTP name",
"description": "Mail SMTP server name.", "description": "Mail SMTP server name.",
"type": "string" "type": "string"
}, },
"instance.mail-smtppassword": { "instance.mail-smtppassword": {
"title": "SMTP password", "title": "SMTP password",
"description": "Password to connect to SMTP server.", "description": "Password to connect to SMTP server.",
"type": "string" "type": "string"
}, },
"instance.collabora-url": { "instance.collabora-url": {
"title": "Collabora URL", "title": "Collabora URL",
"description": "Collabora server URL", "description": "Collabora server URL",
"type": "string", "type": "string",
"format": "uri", "format": "uri",
"default": "https://collabora.host.vifib.net" "default": "https://collabora.host.vifib.net"
}, },
"instance.stun-server": { "instance.stun-server": {
"title": "Stun server address", "title": "Stun server address",
"description": "Hostname of stun server. Default: turn.vifib.com:5349", "description": "Hostname of stun server. Default: turn.vifib.com:5349",
"type": "string", "type": "string",
"default": "turn.vifib.com:5349" "default": "turn.vifib.com:5349"
}, },
"instance.turn-server": { "instance.turn-server": {
"title": "Turn server address", "title": "Turn server address",
"description": "Hostname of turn server.", "description": "Hostname of turn server.",
"default": "", "default": "",
"type": "string" "type": "string"
}, },
"instance.turn-secret": { "instance.turn-secret": {
"title": "Turn server secret", "title": "Turn server secret",
"description": "Turn secret to use for authentification.", "description": "Turn secret to use for authentification.",
"type": "string" "type": "string"
}, },
"instance.cli-url": { "instance.cli-url": {
"title": "Nextcloud cli URL", "title": "Nextcloud cli URL",
"description": "Nextcloud cli URL, the default will be Nextcloud url.", "description": "Nextcloud cli URL, the default will be Nextcloud url.",
"type": "string", "type": "string",
"format": "uri" "format": "uri"
}, },
"instance.trusted-domain-1": { "instance.trusted-domain-1": {
"title": "Authorized domain on nextcloud", "title": "Authorized domain on nextcloud",
"description": "Trusted domain used to connect to Nextcloud instance.", "description": "Trusted domain used to connect to Nextcloud instance.",
"type": "string" "type": "string"
}, },
"instance.trusted-domain-2": { "instance.trusted-domain-2": {
"title": "Second authorized domain on nextcloud", "title": "Second authorized domain on nextcloud",
"description": "Trusted domain used to connect to Nextcloud instance.", "description": "Trusted domain used to connect to Nextcloud instance.",
"type": "string" "type": "string"
}, },
"instance.trusted-domain-3": { "instance.trusted-domain-3": {
"title": "Third authorized domain on nextcloud", "title": "Third authorized domain on nextcloud",
"description": "Trusted domain used to connect to Nextcloud instance.", "description": "Trusted domain used to connect to Nextcloud instance.",
"type": "string" "type": "string"
} }
} }
} }
\ No newline at end of file
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
extends = extends =
../../component/xorg/buildout.cfg ../../component/xorg/buildout.cfg
../../component/firefox/buildout.cfg ../../component/firefox/buildout.cfg
../../component/ffmpeg/buildout.cfg
../../component/coreutils/buildout.cfg ../../component/coreutils/buildout.cfg
../../stack/slapos.cfg ../../stack/slapos.cfg
./buildout.hash.cfg ./buildout.hash.cfg
...@@ -17,6 +18,7 @@ parts = ...@@ -17,6 +18,7 @@ parts =
slapos-cookbook slapos-cookbook
template template
xserver xserver
ffmpeg
firefox-wrapper firefox-wrapper
geckodriver geckodriver
......
#!/bin/sh
# scan running process and run ffmpeg
# for write video of xvfb session
while true; do
while ! [ -f "${ffmpeg_bin}" ] ; do
ffmpeg_bin=$(find ~ -path */bin/ffmpeg -type f)
echo ${ffmpeg_bin}
[ -f "${ffmpeg_bin}" ] && break
sleep 10
done
ps -u $(id -u) -o pid= | \
while read pid; do
display=""
resolution=""
test -d /proc/$pid || continue
cat /proc/$pid/cmdline | tr '\0' '\n' | head -n1 | grep /bin/Xvfb\$ > /dev/null 2> /dev/null || continue
for line in $(cat /proc/$pid/cmdline | tr '\0' '\n' 2> /dev/null); do
if echo ${line} | grep -o ':[0-9]*' > /dev/null ; then
display="${line}"
fi
if echo ${line} | grep -o '[0-9]*x[0-9]*x[0-9]*' > /dev/null ; then
resolution="${line%x*}"
fi
done
if [ -n "${display}" ] && [ -n "${resolution}" ]; then
firefox_pid=""
for f_pid in $(ps -u $(id -u) -o pid=); do
test -d /proc/${f_pid} || continue
cat /proc/${f_pid}/cmdline | tr '\0' '\n' | head -n1 | grep ./firefox\$ > /dev/null 2> /dev/null || continue
cat /proc/${f_pid}/environ | tr '\0' '\n' | grep ^DISPLAY=${display}\$ > /dev/null 2> /dev/null || continue
firefox_pid="$f_pid"
break;
done
if [ -z "${firefox_pid}" ]; then
continue
fi
filename="output${firefox_pid}.webm"
test -f ${filename} && continue
echo "xvfb ${pid} ${display} ${resolution}"
echo "firefox ${firefox_pid}"
export DISPLAY=${display}
"${ffmpeg_bin}" -loglevel error -r 30 -s ${resolution} -f x11grab -i ${display}.0 \
-vf unpremultiply=inplace=1 \
-c:v libvpx-vp9 -lossless 1 \
-f webm ${filename} &
ffmpeg_pid=$!
sleep 5
if ! test -f ${filename} ;then
kill ${ffmpeg_pid}
continue
fi
echo run ffmpeg ${ffmpeg_pid}
while true; do
if ! [ -d "/proc/${firefox_pid}" ]; then
echo "kill ffmpeg $ffmpeg_pid"
kill ${ffmpeg_pid}
exit
fi
sleep 0.2
done &
fi
done
sleep 1
done
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
# not need these here). # not need these here).
[template-erp5] [template-erp5]
filename = instance-erp5.cfg.in filename = instance-erp5.cfg.in
md5sum = 1c8cf3013bd8a4b05e62a8742089c59b md5sum = 7f3318aec3b682c3379609ccdd659411
[template-balancer] [template-balancer]
filename = instance-balancer.cfg.in filename = instance-balancer.cfg.in
......
...@@ -442,7 +442,7 @@ recipe = slapos.cookbook:publish-early ...@@ -442,7 +442,7 @@ recipe = slapos.cookbook:publish-early
{%- endif %} {%- endif %}
{%- if test_runner_enabled %} {%- if test_runner_enabled %}
{%- for zope_family_name in zope_family_name_list %} {%- for zope_family_name in zope_family_name_list %}
{{ zope_family_name }}-test-runner-url-list default-balancer-test-runner-url-list:default {{ zope_family_name }}-test-runner-url-list default-balancer-test-runner-url-list:{{ zope_family_name }}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
{%- if neo %} {%- if neo %}
...@@ -458,12 +458,15 @@ inituser-password = {{ dumps(inituser_password) }} ...@@ -458,12 +458,15 @@ inituser-password = {{ dumps(inituser_password) }}
{%- set deadlock_debugger_password = slapparameter_dict.get('deadlock-debugger-password') -%} {%- set deadlock_debugger_password = slapparameter_dict.get('deadlock-debugger-password') -%}
{%- if deadlock_debugger_password %} {%- if deadlock_debugger_password %}
deadlock-debugger-password = {{ dumps(deadlock_debugger_password) }} deadlock-debugger-password = {{ dumps(deadlock_debugger_password) }}
{%- endif %} {% endif %}
{%- if test_runner_enabled %}
[default-balancer-test-runner-url-list] [default-balancer-test-runner-url-list]
recipe = recipe =
default = not-ready {%- for zope_family_name in zope_family_name_list %}
{{ zope_family_name }} = not-ready
{%- endfor %}
{%- endif %}
[gen-password] [gen-password]
recipe = slapos.cookbook:generate.password recipe = slapos.cookbook:generate.password
......
...@@ -15,4 +15,4 @@ ...@@ -15,4 +15,4 @@
[template] [template]
filename = instance.cfg filename = instance.cfg
md5sum = 6e4bde9074cdc508df513e31653e7def md5sum = 81b01eb048e0db93bf0152504bf8a04d
...@@ -28,7 +28,7 @@ bin = $${buildout:directory}/bin ...@@ -28,7 +28,7 @@ bin = $${buildout:directory}/bin
working-dir = $${buildout:directory}/tmp working-dir = $${buildout:directory}/tmp
[test-list] [test-list]
path_list = ${slapos.test.caddy-frontend-setup:setup},${slapos.test.erp5-setup:setup},${slapos.test.slapos-master-setup:setup},${slapos.test.kvm-setup:setup},${slapos.test.monitor-setup:setup},${slapos.test.plantuml-setup:setup},${slapos.test.powerdns-setup:setup},${slapos.test.proftpd-setup:setup},${slapos.test.re6stnet-setup:setup},${slapos.test.seleniumserver-setup:setup},${slapos.test.slaprunner-setup:setup},${slapos.test.helloworld-setup:setup},${slapos.test.jupyter-setup:setup},${slapos.test.nextcloud-setup:setup} path_list = ${slapos.cookbook-setup:setup},${slapos.test.caddy-frontend-setup:setup},${slapos.test.erp5-setup:setup},${slapos.test.slapos-master-setup:setup},${slapos.test.kvm-setup:setup},${slapos.test.monitor-setup:setup},${slapos.test.plantuml-setup:setup},${slapos.test.powerdns-setup:setup},${slapos.test.proftpd-setup:setup},${slapos.test.re6stnet-setup:setup},${slapos.test.seleniumserver-setup:setup},${slapos.test.slaprunner-setup:setup},${slapos.test.helloworld-setup:setup},${slapos.test.jupyter-setup:setup},${slapos.test.nextcloud-setup:setup}
[slapos-test-runner] [slapos-test-runner]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
......
...@@ -22,6 +22,11 @@ parts = ...@@ -22,6 +22,11 @@ parts =
[setup-develop-egg] [setup-develop-egg]
recipe = zc.recipe.egg:develop recipe = zc.recipe.egg:develop
[slapos.cookbook-setup]
<= setup-develop-egg
egg = slapos.cookbook
setup = ${slapos-repository:location}/
[slapos.test.caddy-frontend-setup] [slapos.test.caddy-frontend-setup]
<= setup-develop-egg <= setup-develop-egg
egg = slapos.test.caddy-frontend egg = slapos.test.caddy-frontend
...@@ -102,6 +107,7 @@ eggs = ...@@ -102,6 +107,7 @@ eggs =
${bcrypt:egg} ${bcrypt:egg}
slapos.libnetworkcache slapos.libnetworkcache
slapos.core slapos.core
${slapos.cookbook-setup:egg}
${slapos.test.caddy-frontend-setup:egg} ${slapos.test.caddy-frontend-setup:egg}
${slapos.test.erp5-setup:egg} ${slapos.test.erp5-setup:egg}
${slapos.test.slapos-master-setup:egg} ${slapos.test.slapos-master-setup:egg}
......
...@@ -348,6 +348,11 @@ link-binary = ...@@ -348,6 +348,11 @@ link-binary =
repository = https://lab.nexedi.com/nexedi/erp5-bin.git repository = https://lab.nexedi.com/nexedi/erp5-bin.git
branch = master branch = master
[erp5-doc]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-doc.git
branch = master
[bt5-repository] [bt5-repository]
# Format: # Format:
# <url or path> [...] # <url or path> [...]
...@@ -359,7 +364,7 @@ list = ${local-bt5-repository:list} ...@@ -359,7 +364,7 @@ list = ${local-bt5-repository:list}
[local-bt5-repository] [local-bt5-repository]
# Same as bt5-repository, but only local repository. # Same as bt5-repository, but only local repository.
# Used to generate bt5lists. # Used to generate bt5lists.
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 ${erp5-doc:location}
[genbt5list] [genbt5list]
recipe = plone.recipe.command recipe = plone.recipe.command
...@@ -370,7 +375,7 @@ command = ...@@ -370,7 +375,7 @@ command =
update-command = ${:command} update-command = ${:command}
[erp5_repository_list] [erp5_repository_list]
repository_id_list = erp5 erp5-bin repository_id_list = erp5 erp5-bin erp5-doc
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin) # ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults] [erp5-defaults]
......
...@@ -78,7 +78,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e ...@@ -78,7 +78,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e
[template-erp5] [template-erp5]
filename = instance-erp5.cfg.in filename = instance-erp5.cfg.in
md5sum = 079244ece03662c7ceadb68570b69d2f md5sum = ca5375204bacdc1df30285d3c5d179b1
[template-zeo] [template-zeo]
filename = instance-zeo.cfg.in filename = instance-zeo.cfg.in
......
...@@ -399,7 +399,7 @@ recipe = slapos.cookbook:publish-early ...@@ -399,7 +399,7 @@ recipe = slapos.cookbook:publish-early
{%- endif %} {%- endif %}
{%- if test_runner_enabled %} {%- if test_runner_enabled %}
{%- for zope_family_name in zope_family_name_list %} {%- for zope_family_name in zope_family_name_list %}
{{ zope_family_name }}-test-runner-url-list default-balancer-test-runner-url-list:default {{ zope_family_name }}-test-runner-url-list default-balancer-test-runner-url-list:{{ zope_family_name }}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
{%- if neo %} {%- if neo %}
...@@ -415,12 +415,15 @@ inituser-password = {{ dumps(inituser_password) }} ...@@ -415,12 +415,15 @@ inituser-password = {{ dumps(inituser_password) }}
{%- set deadlock_debugger_password = slapparameter_dict.get('deadlock-debugger-password') -%} {%- set deadlock_debugger_password = slapparameter_dict.get('deadlock-debugger-password') -%}
{%- if deadlock_debugger_password %} {%- if deadlock_debugger_password %}
deadlock-debugger-password = {{ dumps(deadlock_debugger_password) }} deadlock-debugger-password = {{ dumps(deadlock_debugger_password) }}
{%- endif %} {% endif %}
{%- if test_runner_enabled %}
[default-balancer-test-runner-url-list] [default-balancer-test-runner-url-list]
recipe = recipe =
default = not-ready {%- for zope_family_name in zope_family_name_list %}
{{ zope_family_name }} = not-ready
{%- endfor %}
{%- endif %}
[gen-password] [gen-password]
recipe = slapos.cookbook:generate.password recipe = slapos.cookbook:generate.password
......
...@@ -275,8 +275,8 @@ uritemplate = 3.0.0 ...@@ -275,8 +275,8 @@ uritemplate = 3.0.0
zope.interface = 4.3.3 zope.interface = 4.3.3
[networkcache] [networkcache]
download-cache-url = http://download.shacache.org/ download-cache-url = http://shacache.nxdcdn.com
download-dir-url = http://dir.shacache.org/ download-dir-url = http://shadir.nxdcdn.com
# signature certificates of the following uploaders. # signature certificates of the following uploaders.
# Sebastien Robin # Sebastien Robin
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment