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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Eteri
slapos
Commits
d452bbac
Commit
d452bbac
authored
Jan 25, 2018
by
Eteri
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'kirr/slapos-y/go-buildmode' into fluentbit-wendelin
parents
883e71d6
b4eb5aaa
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
222 additions
and
124 deletions
+222
-124
component/fontconfig/buildout.cfg
component/fontconfig/buildout.cfg
+4
-3
component/gcc/buildout.cfg
component/gcc/buildout.cfg
+2
-1
component/golang/buildout.cfg
component/golang/buildout.cfg
+10
-2
component/golang/gowork-snapshot
component/golang/gowork-snapshot
+11
-4
component/h5py/buildout.cfg
component/h5py/buildout.cfg
+4
-1
component/libxml2/buildout.cfg
component/libxml2/buildout.cfg
+2
-2
component/libxslt/buildout.cfg
component/libxslt/buildout.cfg
+2
-4
component/mariadb/buildout.cfg
component/mariadb/buildout.cfg
+2
-2
component/nginx/buildout.cfg
component/nginx/buildout.cfg
+1
-0
component/nginx/fix-gcc7-implicit-fallthrough-errors.patch
component/nginx/fix-gcc7-implicit-fallthrough-errors.patch
+63
-0
component/ocropy/buildout.cfg
component/ocropy/buildout.cfg
+2
-2
component/ocropy/ocropy.patch
component/ocropy/ocropy.patch
+39
-20
component/rsync/buildout.cfg
component/rsync/buildout.cfg
+2
-2
component/tensorboard/0.4.0.patch
component/tensorboard/0.4.0.patch
+8
-8
component/tensorboard/buildout.cfg
component/tensorboard/buildout.cfg
+3
-3
slapos/recipe/erp5_test/__init__.py
slapos/recipe/erp5_test/__init__.py
+1
-1
slapos/recipe/erp5_test/test.py
slapos/recipe/erp5_test/test.py
+5
-27
slapos/recipe/librecipe/generic.py
slapos/recipe/librecipe/generic.py
+7
-1
software/cloudooo/buildout.hash.cfg
software/cloudooo/buildout.hash.cfg
+22
-0
software/cloudooo/instance-cloudooo.cfg.in
software/cloudooo/instance-cloudooo.cfg.in
+5
-6
software/cloudooo/instance.cfg.in
software/cloudooo/instance.cfg.in
+1
-0
software/cloudooo/software-common.cfg
software/cloudooo/software-common.cfg
+3
-4
software/erp5/README.rst
software/erp5/README.rst
+2
-6
software/erp5/software.cfg.json
software/erp5/software.cfg.json
+0
-7
software/erp5testnode/testsuite/deploy-test/runTestSuite.py
software/erp5testnode/testsuite/deploy-test/runTestSuite.py
+1
-0
software/powerdns/instance-powerdns-replicate.cfg.jinja2
software/powerdns/instance-powerdns-replicate.cfg.jinja2
+2
-2
software/powerdns/software.cfg
software/powerdns/software.cfg
+1
-1
stack/erp5/buildout.hash.cfg
stack/erp5/buildout.hash.cfg
+4
-4
stack/erp5/instance-balancer.cfg.in
stack/erp5/instance-balancer.cfg.in
+1
-1
stack/erp5/instance-erp5.cfg.in
stack/erp5/instance-erp5.cfg.in
+1
-1
stack/erp5/instance-mariadb.cfg.in
stack/erp5/instance-mariadb.cfg.in
+1
-1
stack/erp5/mysql-querydigest.sh.in
stack/erp5/mysql-querydigest.sh.in
+8
-7
stack/monitor/buildout.cfg
stack/monitor/buildout.cfg
+1
-1
stack/monitor/templates/monitor-httpd.conf.in
stack/monitor/templates/monitor-httpd.conf.in
+1
-0
No files found.
component/fontconfig/buildout.cfg
View file @
d452bbac
...
...
@@ -7,14 +7,15 @@ extends =
../bzip2/buildout.cfg
../zlib/buildout.cfg
../bzip2/buildout.cfg
../gperf/buildout.cfg
parts =
fontconfig
[fontconfig]
recipe = slapos.recipe.cmmi
url = http://fontconfig.org/release/fontconfig-2.12.
1
.tar.bz2
md5sum =
b5af5a423ee3b5cfc34846838963c058
url = http://fontconfig.org/release/fontconfig-2.12.
6
.tar.bz2
md5sum =
733f5e2371ca77b69707bd7b30cc2163
pkg_config_depends = ${freetype:pkg_config_depends}:${freetype:location}/lib/pkgconfig:${libxml2:location}/lib/pkgconfig
# XXX-Cedric : should we use --with-add-fonts={somefont:location}/share,{someotherfont:location}/share?
configure-options =
...
...
@@ -23,7 +24,7 @@ configure-options =
--enable-libxml2
--with-default-fonts=${fonts:location}
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PATH=${pkgconfig:location}/bin:
${gperf:location}/bin:
%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends}
CPPFLAGS=-I${zlib:location}/include -I${bzip2:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib
component/gcc/buildout.cfg
View file @
d452bbac
...
...
@@ -2,6 +2,7 @@
# Mostly required to support languages different than C or C++
[buildout]
extends =
../gettext/buildout.cfg
../gmp/buildout.cfg
../perl/buildout.cfg
../tar/buildout.cfg
...
...
@@ -32,7 +33,7 @@ configure-options =
--with-as=${binutils:location}/bin/as
environment =
LDFLAGS=-Wl,-rpath=${gmp:location}/lib -Wl,-rpath=${isl:location}/lib -Wl,-rpath=${mpc:location}/lib -Wl,-rpath=${mpfr:location}/lib
PATH=${binutils:location}/bin:${perl:location}/bin:${tar:location}/bin:%(PATH)s
PATH=${binutils:location}/bin:${
gettext:location}/bin:${
perl:location}/bin:${tar:location}/bin:%(PATH)s
[gcc-minimal]
<= gcc-common
...
...
component/golang/buildout.cfg
View file @
d452bbac
...
...
@@ -63,6 +63,11 @@ environment-extra =
# lab.nexedi.com/kirr/neo/go/... \
# github.com/pkg/profile \
# golang.org/x/perf/cmd/benchstat
#
# it is possible to specify Go build flags used for compilation e.g. this way:
#
# [gowork]
# buildflags = -race
[gowork]
directory = ${buildout:directory}/go.work
src = ${:directory}/src
...
...
@@ -72,6 +77,9 @@ depends = ${gowork.goinstall:recipe}
# go version used for the workspace (possible to override in applications)
golang = ${golang19:location}
# no special build flags by default
buildflags =
# everything is done by dependent parts
recipe = plone.recipe.command
command = :
...
...
@@ -100,7 +108,7 @@ stop-on-error = true
# clients should put package list to install to gowork:install ("..." requests installing everything)
[gowork.goinstall]
recipe = plone.recipe.command
command = bash -c ". ${gowork:env.sh} && go install -v ${gowork:install}"
command = bash -c ". ${gowork:env.sh} && go install
${gowork:buildflags}
-v ${gowork:install}"
update-command = ${:command}
stop-on-error = true
...
...
@@ -115,7 +123,7 @@ git-executable = ${git:location}/bin/git
# 3) provide repository (which is not the same as importpath in general case)
#
# the list of go packages for a go workspace state can be automatically
# generated with the help of go
-pkg
-snapshot tool.
# generated with the help of go
work
-snapshot tool.
[go-git-package]
<= git-repository
location = ${gowork:src}/${:go.importpath}
component/golang/gowork-snapshot
View file @
d452bbac
...
...
@@ -25,9 +25,16 @@ gogit_list() {
# git_upstream_url <repo> - show current branch upstream URL
git_upstream_url
()
{
repo
=
$1
head
=
"
`
git
-C
$repo
symbolic-ref
--short
HEAD
`
"
# current branch - e.g. "t"
remote
=
"
`
git
-C
$repo
config
--get
branch.
$head
.remote
`
"
# upstream name, e.g. "kirr"
url
=
"
`
git
-C
$repo
config
--get
remote.
$remote
.url
`
"
# upstream URL
head
=
"
`
git
-C
$repo
symbolic-ref
-q
--short
HEAD
`
"
# current branch - e.g. "master"
if
[
-z
$head
]
;
then
remote
=
"origin"
# If we are in detached HEAD, assume the upstream name is origin
else
remote
=
"
`
git
-C
$repo
config
--get
branch.
$head
.remote
`
"
# upstream name, e.g. "origin"
fi
url
=
"
`
git
-C
$repo
config
--get
remote.
$remote
.url
`
"
# upstream URL
if
[
-z
$url
]
;
then
echo
"ERROR: Failed to guess upstream url from
$repo
"
1>&2
fi
echo
"
$url
"
}
...
...
@@ -59,5 +66,5 @@ while read pkg url rev; do
echo
"<= go-git-package"
echo
"go.importpath =
$pkg
"
echo
"repository =
$url
"
echo
"revision =
$rev
"
echo
"revision
=
$rev
"
done
component/h5py/buildout.cfg
View file @
d452bbac
...
...
@@ -2,6 +2,7 @@
extends =
../hdf5/buildout.cfg
../cython/buildout.cfg
../numpy/buildout.cfg
parts =
h5py
...
...
@@ -12,7 +13,9 @@ CPPFLAGS = -I${hdf5:location}/include
[h5py]
recipe = zc.recipe.egg:custom
egg = h5py
setup-eggs = ${cython:egg}
setup-eggs =
${cython:egg}
${numpy:egg}
include-dirs =
${hdf5:location}/include
library-dirs =
...
...
component/libxml2/buildout.cfg
View file @
d452bbac
...
...
@@ -11,8 +11,8 @@ parts =
[libxml2]
recipe = slapos.recipe.cmmi
url = http://xmlsoft.org/sources/libxml2-2.9.
5
.tar.gz
md5sum =
5ce0da9bdaa267b40c4ca36d35363b8b
url = http://xmlsoft.org/sources/libxml2-2.9.
7
.tar.gz
md5sum =
896608641a08b465098a40ddf51cefba
configure-options =
--disable-static
--without-python
...
...
component/libxslt/buildout.cfg
View file @
d452bbac
...
...
@@ -7,8 +7,8 @@ parts =
libxslt
[libxslt]
url = ftp://xmlsoft.org/libxslt/libxslt-1.1.3
0
.tar.gz
md5sum =
70becbbcb1dad55f14de0b84171b91d5
url = ftp://xmlsoft.org/libxslt/libxslt-1.1.3
2
.tar.gz
md5sum =
1fc72f98e98bf4443f1651165f3aa146
recipe = slapos.recipe.cmmi
configure-options =
--disable-static
...
...
@@ -20,5 +20,3 @@ configure-options =
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LIBXML_CFLAGS=-I${libxml2:location}/include
LIBXML_LIBS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib
component/mariadb/buildout.cfg
View file @
d452bbac
...
...
@@ -27,8 +27,8 @@ parts =
[mariadb]
recipe = slapos.recipe.cmmi
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http%3A//fr.mirror.babylon.network/mariadb/?serve
version = 10.1.
29
md5sum =
6d2cc6b0f8c5c7525e08aaddad8dca96
version = 10.1.
30
md5sum =
c424fd12bdff388e3da1bdecf42626c9
patch-options = -p0
patches =
${:_profile_base_location_}/mariadb_10.1.21_create_system_tables__no_test.patch#3c76aa9564a162f13aced7c0a3f783b3
...
...
component/nginx/buildout.cfg
View file @
d452bbac
...
...
@@ -18,6 +18,7 @@ patch-options = -p0
patch-binary = ${patch:location}/bin/patch
patches =
http://nginx.org/download/patch.2017.ranges.txt#40bf9f37c881cb3b10cfefd84ca92f6a
${:_profile_base_location_}/fix-gcc7-implicit-fallthrough-errors.patch
[nginx]
<= nginx-common
...
...
component/nginx/fix-gcc7-implicit-fallthrough-errors.patch
0 → 100644
View file @
d452bbac
commit 8449f750e62cd229026e9df3bd023ec7e073a7d4
Author: Maxim Dounin <mdounin@mdounin.ru>
Date: Thu Apr 27 16:57:18 2017 +0300
Added missing "fall through" comments (ticket #1259).
Found by gcc7 (-Wimplicit-fallthrough).
diff --git src/core/ngx_murmurhash.c src/core/ngx_murmurhash.c
index c31e0e03..5ade658d 100644
--- src/core/ngx_murmurhash.c
+++ src/core/ngx_murmurhash.c
@@ -35,8 +35,10 @@
ngx_murmur_hash2(u_char *data, size_t len)
switch (len) {
case 3:
h ^= data[2] << 16;
+ /* fall through */
case 2:
h ^= data[1] << 8;
+ /* fall through */
case 1:
h ^= data[0];
h *= 0x5bd1e995;
diff --git src/http/ngx_http_parse.c src/http/ngx_http_parse.c
index 36220fdc..e8e51563 100644
--- src/http/ngx_http_parse.c
+++ src/http/ngx_http_parse.c
@@ -1396,6 +1396,7 @@
ngx_http_parse_complex_uri(ngx_http_request_t *r, ngx_uint_t merge_slashes)
goto done;
case '+':
r->plus_in_uri = 1;
+ /* fall through */
default:
state = sw_usual;
*u++ = ch;
@@ -1437,6 +1438,7 @@
ngx_http_parse_complex_uri(ngx_http_request_t *r, ngx_uint_t merge_slashes)
goto done;
case '+':
r->plus_in_uri = 1;
+ /* fall through */
default:
state = sw_usual;
*u++ = ch;
@@ -1484,6 +1486,7 @@
ngx_http_parse_complex_uri(ngx_http_request_t *r, ngx_uint_t merge_slashes)
goto done;
case '+':
r->plus_in_uri = 1;
+ /* fall through */
default:
state = sw_usual;
*u++ = ch;
diff --git src/os/unix/ngx_process.c src/os/unix/ngx_process.c
index dd50b5ca..993c032a 100644
--- src/os/unix/ngx_process.c
+++ src/os/unix/ngx_process.c
@@ -413,6 +413,7 @@
ngx_signal_handler(int signo, siginfo_t *siginfo, void *ucontext)
break;
}
ngx_debug_quit = 1;
+ /* fall through */
case ngx_signal_value(NGX_SHUTDOWN_SIGNAL):
ngx_quit = 1;
action = ", shutting down";
component/ocropy/buildout.cfg
View file @
d452bbac
...
...
@@ -32,8 +32,8 @@ setup-eggs =
${matplotlib:egg}
${pillow-python:egg}
patches =
${:_profile_base_location_}/ocropy.patch
patch-options = -p
0
${:_profile_base_location_}/ocropy.patch
#dd7a02e1e63ed9df68e3a539b3e919eb
patch-options = -p
1
patch-binary = ${patch:location}/bin/patch
environment = ocropy-env
find-links = https://github.com/tmbdev/ocropy/tarball/4efbddca22bb2f0c639af0694e7a1386f2f097b5/ocropy-1.0.tar.gz
...
...
component/ocropy/ocropy.patch
View file @
d452bbac
diff --git ocrolib/__init__.py ocrolib/__init__.py
From 1bb1546b12b0c08b1b32b293207de2d58d43ff1c Mon Sep 17 00:00:00 2001
From: Francois Le Corre <francois.lecorre@nexedi.com>
Date: Thu, 6 Apr 2017 11:32:27 +0200
Subject: [PATCH] WIP
- New OCROPY_MODEL_PATH environment variable to specify the position of models
- Import for the first time a module that compiles C code from python,
allowing us to have the static library built before runtime and
preventing us from using gcc through zope.
---
ocrolib/__init__.py | 3 ++-
ocrolib/common.py | 7 ++++---
ocrolib/native.py | 1 +
setup.py | 15 ++++++++++++---
4 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/ocrolib/__init__.py b/ocrolib/__init__.py
index 1e0d627..81e85fb 100644
--- ocrolib/__init__.py
+++ ocrolib/__init__.py
---
a/
ocrolib/__init__.py
+++
b/
ocrolib/__init__.py
@@ -1,7 +1,7 @@
__all__ = [
"binnednn","cairoextras","common","components","dbtables",
...
...
@@ -11,18 +27,18 @@ index 1e0d627..81e85fb 100644
]
################################################################
@@ -9,5 +9,6 @@
__all__ = [
@@ -9,5 +9,6 @@
################################################################
import default
+from psegutils import *
from common import *
from default import traceback as trace
diff --git
ocrolib/common.py
ocrolib/common.py
diff --git
a/ocrolib/common.py b/
ocrolib/common.py
index 27c0f26..14f088f 100644
--- ocrolib/common.py
+++ ocrolib/common.py
@@ -14,6 +14,7 @@
import unicodedata
---
a/
ocrolib/common.py
+++
b/
ocrolib/common.py
@@ -14,6 +14,7 @@
import inspect
import glob
import cPickle
...
...
@@ -38,7 +54,7 @@ index 27c0f26..14f088f 100644
def load_object(fname,zip=0,nofind=0,verbose=0):
"""Loads an object from disk. By default, this handles zipped files
and searches in the usual places for OCRopus. It also handles some
@@ -439,8 +441,7 @@
def load_object(fname,zip=0,nofind=0,verbose=0):
@@ -439,8 +441,7 @@
class names that have changed."""
if zip==0 and fname.endswith(".gz"):
zip = 1
if zip>0:
...
...
@@ -57,10 +73,10 @@ index 27c0f26..14f088f 100644
possible_prefixes.append("/usr/local/share/ocropus")
diff --git
ocrolib/native.py
ocrolib/native.py
diff --git
a/ocrolib/native.py b/
ocrolib/native.py
index b7a207f..240450b 100644
--- ocrolib/native.py
+++ ocrolib/native.py
---
a/
ocrolib/native.py
+++
b/
ocrolib/native.py
@@ -44,6 +44,7 @@
class CompileError(Exception):
def compile_and_find(c_string,prefix=".pynative",opt="-g -O4",libs="-lm",
...
...
@@ -69,22 +85,22 @@ index b7a207f..240450b 100644
if not os.path.exists(prefix):
os.mkdir(prefix)
m = hashlib.md5()
diff --git
setup.py
setup.py
index 2ec5832..
6697b12
100644
--- setup.py
+++ setup.py
@@ -10,7 +10,9 @@
assert sys.version_info[0]==2 and sys.version_info[1]>=7,\
diff --git
a/setup.py b/
setup.py
index 2ec5832..
0ad4d85
100644
---
a/
setup.py
+++
b/
setup.py
@@ -10,7 +10,9 @@
from distutils.core import setup #, Extension, Command
#from distutils.command.install_data import install_data
-if not os.path.exists("models/en-default.pyrnn.gz"):
+models = os.environ.get('OCROPY_MODEL_PATH'
, '').split(':') or \
+
[c for c in glob.glob("models/*pyrnn.gz")]
+models = os.environ.get('OCROPY_MODEL_PATH'
)
+
models = models.split(':') if models else glob.glob("models/*pyrnn.gz")
+if not models:
print()
print("You should download the default model 'en-default.pyrnn.gz'")
print("and put it into ./models.")
@@ -18,16 +20,23 @@
if not os.path.exists("models/en-default.pyrnn.gz"):
@@ -18,16 +20,23 @@
print("Check https://github.com/tmbdev/ocropy for the location")
print("of model files.")
print()
...
...
@@ -110,3 +126,6 @@ index 2ec5832..6697b12 100644
+ data_files= [('share/ocropus', models), ("", ["LICENSE"])],
scripts = scripts,
)
--
2.14.1
component/rsync/buildout.cfg
View file @
d452bbac
...
...
@@ -7,8 +7,8 @@ parts =
[rsync]
recipe = slapos.recipe.cmmi
url = http
://rsync.samba.org/ftp/rsync/src/rsync-3.1.1
.tar.gz
md5sum =
43bd6676f0b404326eee2d63be3cdcfe
url = http
s://download.samba.org/pub/rsync/rsync-3.1.2
.tar.gz
md5sum =
0f758d7e000c0f7f7d3792610fad70cb
make-options =
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
environment =
...
...
component/tensorboard/0.4.patch
→
component/tensorboard/0.4.
0.
patch
View file @
d452bbac
diff --git a/tensorboard/pip_package/build_pip_package.sh b/tensorboard/pip_package/build_pip_package.sh
index
b386d59..f03b056
100755
index
88fb5a2..782dbc5
100755
--- a/tensorboard/pip_package/build_pip_package.sh
+++ b/tensorboard/pip_package/build_pip_package.sh
@@ -26,6 +26,7 @@
function main() {
...
...
@@ -10,14 +10,14 @@ index b386d59..f03b056 100755
echo $(date) : "=== Using tmpdir: ${TMPDIR}"
@@ -45,8 +46,8 @@
function main() {
@@ -44,9 +45,7 @@
function main() {
pushd ${TMPDIR} >/dev/null
rm -f MANIFEST
echo $(date) : "=== Building
wheel
"
echo $(pwd)
-
python setup.py bdist_wheel >/dev/null
- python
3 setup.py bdist_wheel
>/dev/null
echo $(date) : "=== Building
python2 wheel in $PWD
"
- python setup.py bdist_wheel --python-tag py2 >/dev/null
-
echo $(date) : "=== Building python3 wheel in $PWD"
- python
setup.py bdist_wheel --python-tag py3
>/dev/null
+ PYTHONPATH=${WORKDIR}/${RUNFILES} $PYTHON_BIN_PATH setup.py bdist_egg >/dev/null
+ #python3 setup.py bdist_wheel >/dev/null
mkdir -p ${DEST}
cp dist/* ${DEST}
popd
popd
>/dev/null
component/tensorboard/buildout.cfg
View file @
d452bbac
...
...
@@ -11,11 +11,11 @@ parts =
recipe = plone.recipe.command
stop-on-error = true
repository = https://github.com/tensorflow/tensorboard
tag = 0.4
tag = 0.4
.0
git-binary = ${git:location}/bin/git
patch-binary = ${patch:location}/bin/patch
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = export HOME=${:location}; (${:git-binary} clone --quiet -b ${:tag} ${:repository} ${:location}; cd ${buildout:parts-directory} ; ${:patch-binary} -p1 -d ${:_buildout_section_name_} < ${:_profile_base_location_}/0.4.patch ) || (rm -fr ${:location}; exit 1)
command = export HOME=${:location}; (${:git-binary} clone --quiet -b ${:tag} ${:repository} ${:location}; cd ${buildout:parts-directory} ; ${:patch-binary} -p1 -d ${:_buildout_section_name_} < ${:_profile_base_location_}/0.4.
0.
patch ) || (rm -fr ${:location}; exit 1)
[tensorboard-build]
recipe = slapos.recipe.build
...
...
@@ -61,7 +61,7 @@ numpy-python-command = ${buildout:bin-directory}/${numpy-egg:interpreter}
script =
os.makedirs(location)
workdir = self.options['tensorboard-repository-path']
egg_name = 'tensorflow_tensorboard-0.4.0
rc3
-py2.7.egg'
egg_name = 'tensorflow_tensorboard-0.4.0-py2.7.egg'
dist_dir = os.path.join(workdir, 'dist')
dest_dir = os.path.join(self.buildout['buildout']['eggs-directory'], egg_name)
env = {'PATH':':'.join([self.options['bazel-bin'],
...
...
slapos/recipe/erp5_test/__init__.py
View file @
d452bbac
...
...
@@ -85,7 +85,7 @@ class Recipe(GenericBaseRecipe):
mysql_connection_string_list
),
]
+
common_list
,
**
common_dict
)]))
path_list
.
append
(
self
.
createPythonScript
(
self
.
options
[
'run-test-suite'
],
__name__
+
'.test.run
UnitTest
'
,
[
dict
(
__name__
+
'.test.run
TestSuite
'
,
[
dict
(
call_list
=
[
self
.
options
[
'run-test-suite-binary'
],
'--db_list'
,
','
.
join
(
mysql_connection_string_list
),
]
+
common_list
,
**
common_dict
)]))
...
...
slapos/recipe/erp5_test/test.py
View file @
d452bbac
...
...
@@ -34,7 +34,10 @@ def runTestSuite(args):
if
'test_ca_path'
in
d
:
env
[
'TEST_CA_PATH'
]
=
d
[
'test_ca_path'
]
if
'prepend_path'
in
d
:
env
[
'PATH'
]
=
':'
.
join
([
d
[
'prepend_path'
]]
+
os
.
environ
.
get
(
'PATH'
,
''
).
split
(
':'
))
try
:
env
[
'PATH'
]
=
d
[
'prepend_path'
]
+
':'
+
env
[
'PATH'
]
except
KeyError
:
env
[
'PATH'
]
=
d
[
'prepend_path'
]
if
'instance_home'
in
d
:
env
[
'INSTANCE_HOME'
]
=
d
[
'instance_home'
]
env
[
'REAL_INSTANCE_HOME'
]
=
d
[
'instance_home'
]
...
...
@@ -57,29 +60,4 @@ def runTestSuite(args):
argument_list
.
append
(
env
)
os
.
execle
(
executable_filepath
,
*
argument_list
)
def
runUnitTest
(
args
):
env
=
os
.
environ
.
copy
()
d
=
args
[
0
]
if
'openssl_binary'
in
d
:
env
[
'OPENSSL_BINARY'
]
=
d
[
'openssl_binary'
]
if
'test_ca_path'
in
d
:
env
[
'TEST_CA_PATH'
]
=
d
[
'test_ca_path'
]
if
'prepend_path'
in
d
:
env
[
'PATH'
]
=
':'
.
join
([
d
[
'prepend_path'
]]
+
os
.
environ
.
get
(
'PATH'
,
''
).
split
(
':'
))
if
'instance_home'
in
d
:
env
[
'INSTANCE_HOME'
]
=
d
[
'instance_home'
]
env
[
'REAL_INSTANCE_HOME'
]
=
d
[
'instance_home'
]
# Deal with Shebang size limitation
executable_filepath
=
d
[
'call_list'
][
0
]
file_object
=
open
(
executable_filepath
,
'r'
)
line
=
file_object
.
readline
()
file_object
.
close
()
argument_list
=
[]
if
line
[:
2
]
==
'#!'
:
executable_filepath
=
line
[
2
:].
strip
()
argument_list
.
append
(
executable_filepath
)
argument_list
.
extend
(
d
[
'call_list'
])
argument_list
.
extend
(
sys
.
argv
[
1
:])
argument_list
.
append
(
env
)
os
.
execle
(
executable_filepath
,
*
argument_list
)
runUnitTest
=
runTestSuite
slapos/recipe/librecipe/generic.py
View file @
d452bbac
...
...
@@ -61,7 +61,13 @@ class GenericBaseRecipe(object):
self
.
_options
(
options
)
# Options Hook
self
.
options
=
options
.
copy
()
# Updated options dict
self
.
_ws
=
self
.
getWorkingSet
()
@
property
def
_ws
(
self
):
# getWorkingSet() is slow and it is not always needed.
# So _ws should be a lazy attribute.
if
getattr
(
self
,
'_ws_internal'
,
None
)
is
None
:
self
.
_ws_internal
=
self
.
getWorkingSet
()
return
self
.
_ws_internal
def
update
(
self
):
"""By default update method does the same thing than install"""
...
...
software/cloudooo/buildout.hash.cfg
0 → 100644
View file @
d452bbac
# THIS IS NOT A BUILDOUT FILE, despite purposedly using a compatible syntax.
# The only allowed lines here are (regexes):
# - "^#" comments, copied verbatim
# - "^[" section beginings, copied verbatim
# - lines containing an "=" sign which must fit in the following categorie.
# - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
# But avoid directories, they are not portable.
# Copied verbatim.
# - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
# by the re-generation script.
# Re-generated.
# - other lines are copied verbatim
# Substitution (${...:...}), extension ([buildout] extends = ...) and
# section inheritance (< = ...) are NOT supported (but you should really
# not need these here).
[template-cloudooo]
filename = instance.cfg.in
md5sum = 6e4431cf4b0a0d034402604b1e2844c0
[template-cloudooo-instance]
filename = instance-cloudooo.cfg.in
md5sum = afbfed1d762e5cdf7c6fd1292e7b28e7
software/cloudooo/instance-cloudooo.cfg.in
View file @
d452bbac
...
...
@@ -10,6 +10,7 @@
{% set next_port = slapparameter_dict.get(instance_parameter_dict['port-parameter-name'], next_port) | int -%}
{% endif -%}
{% do assert(next_port > 0) -%}
{% set next_port = itertools.count(next_port).next -%}
{% set backend_count = instance_parameter_dict['backend-count'] | int -%}
{% if instance_parameter_dict.get('backend-count-parameter-name') -%}
...
...
@@ -33,9 +34,8 @@
{% set mimetype_entry_addition = mimetype_entry_addition ~ "\n" ~ slapparameter_dict.get(instance_parameter_dict['mimetype-entry-addition-parameter-name'], '') -%}
{% endif -%}
{% set apache_port = next_port -%}
{% set haproxy_port = next_port + 1 -%}
{% set next_port = next_port + 2 -%}
{% set apache_port = next_port() -%}
{% set haproxy_port = next_port() -%}
{% set apache_ip_list = [ipv4] -%}
{% if ipv6_set -%}
...
...
@@ -184,13 +184,12 @@ ooo-uno-path = {{ parameter_dict['libreoffice-bin'] }}/basis-link/program
{% set name = 'cloudooo-' ~ index -%}
[{{ cloudooo(name) }}]
< = cloudooo-base
port = {{ next_port }}
openoffice-port = {{ next_port
+ 1
}}
port = {{ next_port
()
}}
openoffice-port = {{ next_port
()
}}
configuration-file = ${directory:etc}/{{ name }}.cfg
data-directory = ${directory:srv}/{{ name }}
wrapper = ${directory:services}/{{ name }}
{% set next_port = next_port + 2 -%}
{% endfor -%}
[haproxy]
...
...
software/cloudooo/instance.cfg.in
View file @
d452bbac
...
...
@@ -39,6 +39,7 @@ extensions = jinja2.ext.do
extra-context =
section parameter_dict cloudooo-dynamic-template-parameter-dict
key ipv4_set slap-parameters:ipv4
import itertools itertools
[switch-softwaretype]
recipe = slapos.cookbook:softwaretype
...
...
software/cloudooo/software-common.cfg
View file @
d452bbac
[buildout]
extends =
buildout.hash.cfg
../../stack/cloudooo.cfg
../../stack/logrotate/buildout.cfg
parts =
...
...
@@ -25,8 +26,7 @@ cert = ${slap-connection:cert-file}
recipe = slapos.recipe.template:jinja2
# XXX: "template.cfg" is hardcoded in instanciation recipe
rendered = ${buildout:directory}/template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
md5sum = 4543e62c41726ef074454252c4951ac8
template = ${:_profile_base_location_}/${:filename}
mode = 640
[template-cloudooo-base]
...
...
@@ -81,6 +81,5 @@ template-logrotate-base = ${template-logrotate-base:rendered}
[template-cloudooo-instance]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-cloudooo.cfg.in
md5sum = 045830db85e1200f765788aa8b62289e
url = ${:_profile_base_location_}/${:filename}
mode = 640
software/erp5/README.rst
View file @
d452bbac
...
...
@@ -3,12 +3,8 @@ Available ``software-type`` values
- ``default``
Recommended for production use.
- ``create-erp5-site``
Automated creation of ERP5Site instance, for easy deployment.
Usage in production discouraged due to the increased risk of data loss.
Recommended for developemnt and production use. Automatic creation of
erp5-site.
Notes
=====
...
...
software/erp5/software.cfg.json
View file @
d452bbac
...
...
@@ -9,13 +9,6 @@
"request"
:
"instance-erp5-input-schema.json"
,
"response"
:
"instance-erp5-output-schema.json"
,
"index"
:
0
},
"create-erp5-site"
:
{
"title"
:
"Create ERP5 Site"
,
"description"
:
"Automated ERP5Site creation on instanciation when ZODB is found empty."
,
"request"
:
"instance-erp5-input-schema.json"
,
"response"
:
"instance-erp5-output-schema.json"
,
"index"
:
1
}
}
}
software/erp5testnode/testsuite/deploy-test/runTestSuite.py
View file @
d452bbac
...
...
@@ -106,6 +106,7 @@ def waitForSite(partition_path):
date
=
strftime
(
"%Y/%m/%d %H:%M:%S"
,
gmtime
(
end
)),
duration
=
end
-
start
,
)
print
(
try_info
+
'status_dict %r'
%
(
status_dict
,))
return
status_dict
...
...
software/powerdns/instance-powerdns-replicate.cfg.jinja2
View file @
d452bbac
...
...
@@ -81,7 +81,7 @@ username = admin
[monitor-instance-parameter]
monitor-httpd-port = 8099
cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.app.officejs.com') }}
username =
${monitor-instance-parameter:username}
username =
admin
password = ${monitor-htpasswd:passwd}
[monitor-conf-parameters]
...
...
@@ -109,7 +109,7 @@ config-{{parameter}} = {{ value }}
{% endfor -%}
config-{{ slave_list_name }} = {{ json_module.dumps(slave_instance_list) }}
config-monitor-cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.node.vifib.com') }}
config-monitor-username =
${monitor-instance-parameter:username}
config-monitor-username =
admin
config-monitor-password = ${monitor-htpasswd:passwd}
[publish-information]
...
...
software/powerdns/software.cfg
View file @
d452bbac
...
...
@@ -38,7 +38,7 @@ mode = 640
[template-dns-replicate]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-powerdns-replicate.cfg.jinja2
md5sum =
3699d0751632e0c11b466342789e27a3
md5sum =
46acd4ed071df8d7139dcd0434be42eb
mode = 0644
[iso-list]
...
...
stack/erp5/buildout.hash.cfg
View file @
d452bbac
...
...
@@ -19,7 +19,7 @@ md5sum = c1f1083bf6c911a0e65dcb841fba327d
[mariadb-slow-query-report-script]
filename = mysql-querydigest.sh.in
md5sum =
cfe6ab8ae54a521ecb269e9d9762cbeb
md5sum =
0c0d98a68230cd0ad36046bb25b35f4a
[mariadb-start-clone-from-backup]
filename = instance-mariadb-start-clone-from-backup.sh.in
...
...
@@ -27,7 +27,7 @@ md5sum = 1af531c51f575a1d1362f2ca2d61620d
[template-mariadb]
filename = instance-mariadb.cfg.in
md5sum =
244e185ed26831fe0b5abf49c67753d6
md5sum =
da7c36ecb490b67360d2afda94b41bff
[template-kumofs]
filename = instance-kumofs.cfg.in
...
...
@@ -79,7 +79,7 @@ md5sum = d41d8cd98f00b204e9800998ecf8427e
[template-erp5]
filename = instance-erp5.cfg.in
md5sum =
2465af81147af322056cee9f6c7de14f
md5sum =
02ed5d9b74c70789004d01dd2ecde7b1
[template-zeo]
filename = instance-zeo.cfg.in
...
...
@@ -91,7 +91,7 @@ md5sum = fd7e8c507cef1950e6c0347ce2a01021
[template-balancer]
filename = instance-balancer.cfg.in
md5sum =
f64c568f1365eb1164f12f48fede9a9
9
md5sum =
a71ad387eab681b9020e271cba2c7a7
9
[template-haproxy-cfg]
filename = haproxy.cfg.in
...
...
stack/erp5/instance-balancer.cfg.in
View file @
d452bbac
...
...
@@ -287,7 +287,7 @@ apachedex = ${monitor-directory:private}/apachedex
[{{ section('monitor-generate-apachedex-report') }}]
recipe = slapos.cookbook:wrapper
wrapper-path = ${monitor-directory:reports}/${:command}
command-line = "{{ parameter_dict['run-apachedex-location'] }}" "{{ parameter_dict['apachedex-location'] }}" "${directory:apachedex}" ${monitor-publish-parameters:monitor-base-url}/private/apachedex --apache-log-list "${apachedex-parameters:apache-log-list}" --config "${apachedex-parameters:configuration}"
command-line = "{{ parameter_dict['run-apachedex-location'] }}" "{{ parameter_dict['apachedex-location'] }}" "${directory:apachedex}" ${monitor-publish-parameters:monitor-base-url}/private/apachedex --apache-log-list "${apachedex-parameters:apache-log-list}" --config
uration
"${apachedex-parameters:configuration}"
command = apachedex_every_23_hour
[apachedex-parameters]
...
...
stack/erp5/instance-erp5.cfg.in
View file @
d452bbac
...
...
@@ -284,7 +284,7 @@ config-backend-path-dict = {{ dumps(zope_backend_path_dict) }}
config-ssl-authentication-dict = {{ dumps(ssl_authentication_dict) }}
config-apachedex-promise-threshold = {{ dumps(monitor_dict.get('apachedex-promise-threshold', 70)) }}
config-apachedex-configuration = {{ dumps(monitor_dict.get('apachedex-configuration',
'--erp5-base
"/erp5(/|$|/\?)" --skip-user-agent Zabbix
--error-detail --js-embed --quiet')) }}
'--erp5-base
+erp5 .*/VirtualHostRoot/erp5(/|\\?|$) --base +other / --skip-user-agent Zabbix
--error-detail --js-embed --quiet')) }}
[request-frontend-base]
{% if has_frontend -%}
...
...
stack/erp5/instance-mariadb.cfg.in
View file @
d452bbac
...
...
@@ -252,7 +252,7 @@ mariadb-ssl = ${:etc}/mariadb-ssl
var = ${buildout:directory}/var
log = ${:var}/log
run = ${:var}/run
slowquery =
${monitor-directory:private}/slowquerydex
slowquery =
${monitor-directory:private}/slowquery_digest
[{{ section('resiliency-exclude-file') }}]
# Generate rdiff exclude file in case of resiliency
...
...
stack/erp5/mysql-querydigest.sh.in
View file @
d452bbac
...
...
@@ -7,19 +7,20 @@ PT_QUERY_EXEC='{{pt_query_exec}}'
if [ ! -d "$OUTPUT_FOLDER" ]; then
echo "ERROR: output_folder don't exists"
exit
0
exit
1
fi
OUTPUT_FILE=${OUTPUT_FOLDER}/slowquery_digest.txt
TODAY=`date +%Y%m%d`
dashed_today=$(date +%Y-%m-%d)
today=$(date -d "$dashed_today" +%Y%m%d)
SLOW_LOG=$SLOW_QUERY_PATH-$TODAY
SLOW_LOG="$SLOW_QUERY_PATH-$today"
OUTPUT_FILE="$OUTPUT_FOLDER/slowquery_digest.txt-$dashed_today"
if [ ! -f "$SLOW_LOG" ]; then
echo "ERROR: cannot read mysql slow query log file $SLOW_LOG. Exiting."
exit 1
fi
$PT_QUERY_EXEC $SLOW_LOG > $OUTPUT_FILE
echo "ok"
"$PT_QUERY_EXEC" "$SLOW_LOG" > "$OUTPUT_FILE" && \
echo "Report generated successfully." || \
echo "Report failed with code $?"
stack/monitor/buildout.cfg
View file @
d452bbac
...
...
@@ -61,7 +61,7 @@ eggs =
# Monitor templates files
[monitor-httpd-conf]
<= monitor-template-base
md5sum =
f2d6951670733de3b37c0ebe9eee343b
md5sum =
b5f42503799e7e770afce4097d3b75ae
filename = monitor-httpd.conf.in
[monitor-template-wrapper]
...
...
stack/monitor/templates/monitor-httpd.conf.in
View file @
d452bbac
...
...
@@ -2,6 +2,7 @@ PidFile "{{ parameter_dict.get('pid-file') }}"
StartServers 1
ServerLimit 1
MaxRequestWorkers 4
ThreadLimit 4
ThreadsPerChild 4
...
...
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