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
Guillaume Hervier
slapos
Commits
ba5da9ec
Commit
ba5da9ec
authored
Jun 10, 2012
by
Kazuhiko Shiozaki
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/erp5-component' into erp5
parents
fe471853
b2f94b7d
Changes
35
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
568 additions
and
322 deletions
+568
-322
component/giflib/buildout.cfg
component/giflib/buildout.cfg
+17
-0
component/groonga/buildout.cfg
component/groonga/buildout.cfg
+2
-2
component/haproxy/buildout.cfg
component/haproxy/buildout.cfg
+2
-2
component/leptonica/buildout.cfg
component/leptonica/buildout.cfg
+32
-0
component/leptonica/leptonica-1.69-zlib-include.patch
component/leptonica/leptonica-1.69-zlib-include.patch
+22
-0
component/librsvg/buildout.cfg
component/librsvg/buildout.cfg
+4
-10
component/libtiff/buildout.cfg
component/libtiff/buildout.cfg
+1
-0
component/libxml2/buildout.cfg
component/libxml2/buildout.cfg
+3
-2
component/mariadb/buildout.cfg
component/mariadb/buildout.cfg
+5
-4
component/openssl/buildout.cfg
component/openssl/buildout.cfg
+2
-2
component/perl/buildout.cfg
component/perl/buildout.cfg
+2
-2
component/poppler/buildout.cfg
component/poppler/buildout.cfg
+2
-2
component/python-2.6/buildout.cfg
component/python-2.6/buildout.cfg
+4
-1
component/python-2.7/buildout.cfg
component/python-2.7/buildout.cfg
+4
-1
component/sqlite3/buildout.cfg
component/sqlite3/buildout.cfg
+2
-2
component/tesseract/buildout.cfg
component/tesseract/buildout.cfg
+34
-34
component/tesseract/tesseract-3.01-remove-bom.patch
component/tesseract/tesseract-3.01-remove-bom.patch
+15
-0
component/webp/buildout.cfg
component/webp/buildout.cfg
+10
-0
setup.py
setup.py
+1
-1
slapos/recipe/generic_zope_zeo_client/__init__.py
slapos/recipe/generic_zope_zeo_client/__init__.py
+1
-58
slapos/recipe/request.py
slapos/recipe/request.py
+4
-0
slapos/recipe/slapconfiguration.py
slapos/recipe/slapconfiguration.py
+50
-44
slapos/recipe/testnode/profile_testnode.py
slapos/recipe/testnode/profile_testnode.py
+2
-2
software/cloudooo/instance.cfg.in
software/cloudooo/instance.cfg.in
+0
-11
software/cloudooo/software.cfg
software/cloudooo/software.cfg
+1
-1
software/erp5/instance-cloudoo.cfg.in
software/erp5/instance-cloudoo.cfg.in
+1
-1
software/erp5/instance-tidstorage.cfg.in
software/erp5/instance-tidstorage.cfg.in
+153
-125
software/erp5/instance-varnish.cfg.in
software/erp5/instance-varnish.cfg.in
+1
-1
software/erp5/instance.cfg.in
software/erp5/instance.cfg.in
+6
-2
software/erp5/software.cfg
software/erp5/software.cfg
+12
-5
software/erp5/zope.conf.in
software/erp5/zope.conf.in
+103
-0
software/erp5testnode/software.cfg
software/erp5testnode/software.cfg
+60
-1
software/tesseract/software.cfg
software/tesseract/software.cfg
+5
-0
stack/erp5.cfg
stack/erp5.cfg
+4
-5
stack/nbd.cfg
stack/nbd.cfg
+1
-1
No files found.
component/giflib/buildout.cfg
0 → 100644
View file @
ba5da9ec
[buildout]
parts =
giflib
[giflib]
recipe = hexagonit.recipe.cmmi
url = http://prdownloads.sourceforge.net/giflib/giflib-4.2.0.tar.bz2?download
md5sum = 711ad48551ee14db7c200b5f402df849
configure-options =
--without-x
--disable-x11
--disable-static
# restrict building to libraries only, we don't care about binaries
# and specially docs which would require more dependencies (e.g. xmlto):
make-options =
SUBDIRS=lib
\ No newline at end of file
component/groonga/buildout.cfg
View file @
ba5da9ec
...
@@ -7,8 +7,8 @@ parts =
...
@@ -7,8 +7,8 @@ parts =
[groonga]
[groonga]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = http://packages.groonga.org/source/groonga/groonga-2.0.
2
.tar.gz
url = http://packages.groonga.org/source/groonga/groonga-2.0.
3
.tar.gz
md5sum =
8791e4f0b08c8065d6836b2fb18a295a
md5sum =
37c8539c78b19442a31a27cac0f15980
configure-options =
configure-options =
--disable-static
--disable-static
--disable-glibtest
--disable-glibtest
...
...
component/haproxy/buildout.cfg
View file @
ba5da9ec
...
@@ -9,8 +9,8 @@ parts = haproxy
...
@@ -9,8 +9,8 @@ parts = haproxy
[haproxy]
[haproxy]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.2
0
.tar.gz
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.2
1
.tar.gz
md5sum =
0cd3b91812ff31ae09ec4ace6355e29e
md5sum =
f36d5d13fd4a44ab454eee5d06cb38a2
configure-command = true
configure-command = true
# If the system is running on Linux 2.6, we use "linux26" as the TARGET,
# If the system is running on Linux 2.6, we use "linux26" as the TARGET,
# otherwise use "generic".
# otherwise use "generic".
...
...
component/leptonica/buildout.cfg
0 → 100644
View file @
ba5da9ec
[buildout]
parts = leptonica
extends =
../libtool/buildout.cfg
../zlib/buildout.cfg
../libjpeg/buildout.cfg
../libpng/buildout.cfg
../libtiff/buildout.cfg
../webp/buildout.cfg
../giflib/buildout.cfg
[leptonica]
recipe = hexagonit.recipe.cmmi
url = http://leptonica.googlecode.com/files/leptonica-1.68.tar.gz
md5sum = 5cd7092f9ff2ca7e3f3e73bfcd556403
configure-command =
./autogen.sh
./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static
patch-options = -p1
patches =
${leptonica-1.69-zlib-include.patch:location}/${leptonica-1.69-zlib-include.patch:filename}
environment =
ACLOCAL_ARGS=-I${libtool:location}/share/aclocal
CPPFLAGS=-I${zlib:location}/include -I${libjpeg:location}/include -I${libpng:location}/include -I${libtiff:location}/include -I${webp:location}/include -I${giflib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${webp:location}/lib -Wl,-rpath=${webp:location}/lib -L${giflib:location}/lib -Wl,-rpath=${giflib:location}/lib
[leptonica-1.69-zlib-include.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = cff3dc942075190939b407c38e0d3201
download-only = true
filename = ${:_buildout_section_name_}
component/leptonica/leptonica-1.69-zlib-include.patch
0 → 100644
View file @
ba5da9ec
This patch is originally taken from:
http://leptonica.googlecode.com/issues/attachment?aid=560001000&name=zlib-include.patch&token=m2sugSYxB4xwAuNgrKXyHTxBYNg%3A1337345966091
To fix the following issue with leptonica:
http://code.google.com/p/leptonica/issues/detail?id=56
diff -Nurd -x'*~' leptonica-1.68.orig/src/pngio.c leptonica-1.68/src/pngio.c
--- leptonica-1.68.orig/src/pngio.c 2011-02-01 00:41:12.000000000 -0500
+++ leptonica-1.68/src/pngio.c 2011-07-09 09:17:17.000000000 -0400
@@ -108,6 +108,10 @@
#include "png.h"
+#ifdef HAVE_LIBZ
+#include "zlib.h"
+#endif
+
/* ----------------Set defaults for read/write options ----------------- */
/* strip 16 bpp --> 8 bpp on reading png; default is for stripping */
static l_int32 var_PNG_STRIP_16_TO_8 = 1;
component/librsvg/buildout.cfg
View file @
ba5da9ec
[buildout]
[buildout]
parts = librsvg
parts = librsvg
extends =
extends =
../bzip2/buildout.cfg
../pkgconfig/buildout.cfg
../pkgconfig/buildout.cfg
../libxml2/buildout.cfg
../libxml2/buildout.cfg
../bzip2/buildout.cfg
../zlib/buildout.cfg
../zlib/buildout.cfg
../gtk-2/buildout.cfg
../gtk-2/buildout.cfg
../xorg/buildout.cfg
[libcroco]
[libcroco]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
...
@@ -32,14 +33,7 @@ configure-options =
...
@@ -32,14 +33,7 @@ configure-options =
--disable-tools
--disable-tools
--disable-gtk-doc-html
--disable-gtk-doc-html
--enable-introspection=no
--enable-introspection=no
--with-bzlib=${bzip2:location}
--with-zlib=${zlib:location}
--with-ltdl-include=${libtool:location}/include
--with-ltdl-lib=${libtool:location}/lib
environment =
environment =
PATH=${gdk-pixbuf:location}/bin:${glib:location}/bin:${libxml2:location}/bin:${pkgconfig:location}/bin:${pango:location}/bin:%(PATH)s
PATH=${gdk-pixbuf:location}/bin:${glib:location}/bin:${libxml2:location}/bin:${pkgconfig:location}/bin:${pango:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${pkgconfig:location}/lib/pkgconfig:${libxml2:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${cairo:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig:${pango:location}/lib/pkgconfig:${libcroco:location}/lib/pkgconfig:${bzip2:location}/lib/pkgconfig
PKG_CONFIG_PATH=${cairo:location}/lib/pkgconfig:${fontconfig:location}/lib/pkgconfig:${freetype:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${kbproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig:${libXrender:location}/lib/pkgconfig:${libcroco:location}/lib/pkgconfig:${libxcb:location}/lib/pkgconfig:${libxml2:location}/lib/pkgconfig:${pango:location}/lib/pkgconfig:${pixman:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig
CPPFLAGS = -I${pango:location}/include/pango-1.0 -I${gdk-pixbuf:location}/include/gdk-pixbuf-2.0 -I${libxml2:location}/include/libxml2 -I${libcroco:location}/include/libcroco-0.6 -I${cairo:location}/include/cairo -I${glib:location}/include/glib-2.0 -I${glib:location}/lib/glib-2.0/include -I${bzip2:location}/include -I${zlib:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${cairo:location}/lib -Wl,-rpath=${cairo:location}/lib -L${pango:location}/lib -Wl,-rpath=${pango:location}/lib -L${gdk-pixbuf:location}/lib -Wl,-rpath=${gdk-pixbuf:location}/lib -L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib -L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${libcroco:location}/lib -Wl,-rpath=${libcroco:location}/lib
LIBS=-lrt -lgdk_pixbuf-2.0 -lgio-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lcairo -lglib-2.0 -lxml2 -lcroco-0.6 -pthread -lgthread-2.0 -lrt -lglib-2.0 -lm -Wl,--as-needed
component/libtiff/buildout.cfg
View file @
ba5da9ec
...
@@ -17,6 +17,7 @@ md5sum = fae149cc9da35c598d8be897826dfc63
...
@@ -17,6 +17,7 @@ md5sum = fae149cc9da35c598d8be897826dfc63
configure-options =
configure-options =
--disable-static
--disable-static
--without-x
--without-x
--disable-lzma
environment =
environment =
CPPFLAGS=-I${libjpeg:location}/include -I${jbigkit:location}/include -I${zlib:location}/include
CPPFLAGS=-I${libjpeg:location}/include -I${jbigkit:location}/include -I${zlib:location}/include
LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
component/libxml2/buildout.cfg
View file @
ba5da9ec
...
@@ -8,11 +8,12 @@ parts =
...
@@ -8,11 +8,12 @@ parts =
[libxml2]
[libxml2]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.
7.8
.tar.gz
url = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.
8.0
.tar.gz
md5sum =
8127a65e8c3b08856093099b52599c86
md5sum =
c62106f02ee00b6437f0fb9d370c1093
configure-options =
configure-options =
--disable-static
--disable-static
--without-python
--without-python
--without-lzma
--with-zlib=${zlib:location}
--with-zlib=${zlib:location}
environment =
environment =
LDFLAGS = -Wl,-rpath=${zlib:location}/lib
LDFLAGS = -Wl,-rpath=${zlib:location}/lib
component/mariadb/buildout.cfg
View file @
ba5da9ec
...
@@ -25,10 +25,10 @@ download-only = true
...
@@ -25,10 +25,10 @@ download-only = true
[mariadb]
[mariadb]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
version = 5.5.2
3
version = 5.5.2
4
revision = 1
revision = 1
url = http://downloads.askmonty.org/f/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz/from/http://ftp.osuosl.org/pub/mariadb
url = http://downloads.askmonty.org/f/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz/from/http://ftp.osuosl.org/pub/mariadb
md5sum =
7074fa091b3c1489f45a5ddf12cd5e6f
md5sum =
caf9461227eeadd4e57cf3f2a74b1165
# compile directory is required to build mysql plugins.
# compile directory is required to build mysql plugins.
keep-compile-dir = true
keep-compile-dir = true
patch-options = -p0
patch-options = -p0
...
@@ -44,6 +44,7 @@ configure-options =
...
@@ -44,6 +44,7 @@ configure-options =
-DWITH_ZLIB=system
-DWITH_ZLIB=system
-DWITH_READLINE=0
-DWITH_READLINE=0
-DWITH_PIC=1
-DWITH_PIC=1
-DENABLE_DTRACE=0
-DWITH_EXTRA_CHARSETS=complex
-DWITH_EXTRA_CHARSETS=complex
-DWITH_EMBEDDED_SERVER=0
-DWITH_EMBEDDED_SERVER=0
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
...
@@ -59,8 +60,8 @@ environment =
...
@@ -59,8 +60,8 @@ environment =
[mroonga-mariadb]
[mroonga-mariadb]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = https://github.com/downloads/mroonga/mroonga/mroonga-2.0
2
.tar.gz
url = https://github.com/downloads/mroonga/mroonga/mroonga-2.0
3
.tar.gz
md5sum =
295754cd477838395ef3cb9936e12ede
md5sum =
0f7c7035a0266fee8fc6d021145804b5
configure-options =
configure-options =
--with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version}
--with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version}
--with-mysql-config=${mariadb:location}/bin/mysql_config
--with-mysql-config=${mariadb:location}/bin/mysql_config
...
...
component/openssl/buildout.cfg
View file @
ba5da9ec
...
@@ -28,8 +28,8 @@ download-only = true
...
@@ -28,8 +28,8 @@ download-only = true
[openssl]
[openssl]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = https://www.openssl.org/source/openssl-1.0.1
a
.tar.gz
url = https://www.openssl.org/source/openssl-1.0.1
c
.tar.gz
md5sum = a
0104320c0997cd33e18b8ea798609d1
md5sum = a
e412727c8c15b67880aef7bd2999b2e
patches =
patches =
${openssl-nodoc.patch:location}/${openssl-nodoc.patch:filename}
${openssl-nodoc.patch:location}/${openssl-nodoc.patch:filename}
${openssl-exlibs.patch:location}/${openssl-exlibs.patch:filename}
${openssl-exlibs.patch:location}/${openssl-exlibs.patch:filename}
...
...
component/perl/buildout.cfg
View file @
ba5da9ec
...
@@ -16,9 +16,9 @@ filename = ${:_buildout_section_name_}
...
@@ -16,9 +16,9 @@ filename = ${:_buildout_section_name_}
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
depends =
depends =
${gdbm:version}
${gdbm:version}
version = 5.1
4.2
version = 5.1
6.0
url = http://www.cpan.org/src/5.0/perl-${:version}.tar.bz2
url = http://www.cpan.org/src/5.0/perl-${:version}.tar.bz2
md5sum =
04a4c5d3c1f9f19d77daff8e8cd19a26
md5sum =
15a2f95fb27231e10998240f13acf961
siteprefix = ${buildout:parts-directory}/site_${:_buildout_section_name_}
siteprefix = ${buildout:parts-directory}/site_${:_buildout_section_name_}
patch-options = -p1
patch-options = -p1
patches =
patches =
...
...
component/poppler/buildout.cfg
View file @
ba5da9ec
...
@@ -13,8 +13,8 @@ extends =
...
@@ -13,8 +13,8 @@ extends =
[poppler]
[poppler]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
md5sum =
12658f3308597e57f3faff538cc73baf
md5sum =
5bca54b9561bf5b14d9344efce2cd4f3
url = http://poppler.freedesktop.org/poppler-0.
18.4
.tar.gz
url = http://poppler.freedesktop.org/poppler-0.
20.0
.tar.gz
depends =
depends =
${libtiff:version}
${libtiff:version}
configure-options =
configure-options =
...
...
component/python-2.6/buildout.cfg
View file @
ba5da9ec
...
@@ -10,6 +10,7 @@ extends =
...
@@ -10,6 +10,7 @@ extends =
../readline/buildout.cfg
../readline/buildout.cfg
../sqlite3/buildout.cfg
../sqlite3/buildout.cfg
../zlib/buildout.cfg
../zlib/buildout.cfg
../file/buildout.cfg
parts =
parts =
python2.6
python2.6
...
@@ -45,9 +46,11 @@ configure-options =
...
@@ -45,9 +46,11 @@ configure-options =
--enable-unicode=ucs4
--enable-unicode=ucs4
--with-threads
--with-threads
# the entry "-Wl,-rpath=${file:location}/lib" below is needed by python-magic,
# which would otherwise load the system libmagic.so with ctypes
environment =
environment =
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${ncurses:location}/include/ -I${ncurses:location}/include/ncursesw/ -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${ncurses:location}/include/ -I${ncurses:location}/include/ncursesw/ -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
-Wl,-rpath=${file:location}/lib
[bootstrap2.6]
[bootstrap2.6]
recipe = zc.recipe.egg
recipe = zc.recipe.egg
...
...
component/python-2.7/buildout.cfg
View file @
ba5da9ec
...
@@ -9,6 +9,7 @@ extends =
...
@@ -9,6 +9,7 @@ extends =
../readline/buildout.cfg
../readline/buildout.cfg
../sqlite3/buildout.cfg
../sqlite3/buildout.cfg
../zlib/buildout.cfg
../zlib/buildout.cfg
../file/buildout.cfg
parts =
parts =
python2.7
python2.7
...
@@ -44,6 +45,8 @@ configure-options =
...
@@ -44,6 +45,8 @@ configure-options =
--with-system-expat
--with-system-expat
--with-threads
--with-threads
# the entry "-Wl,-rpath=${file:location}/lib" below is needed by python-magic,
# which would otherwise load the system libmagic.so with ctypes
environment =
environment =
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${libexpat:location}/include -I${ncurses:location}/include -I${ncurses:location}/include/ncursesw -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${libexpat:location}/include -I${ncurses:location}/include -I${ncurses:location}/include/ncursesw -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${libexpat:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${libexpat:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${readline:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${gdbm:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
-Wl,-rpath=${file:location}/lib
component/sqlite3/buildout.cfg
View file @
ba5da9ec
...
@@ -5,8 +5,8 @@ parts =
...
@@ -5,8 +5,8 @@ parts =
[sqlite3]
[sqlite3]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = http://www.sqlite.org/sqlite-autoconf-3071
100
.tar.gz
url = http://www.sqlite.org/sqlite-autoconf-3071
201
.tar.gz
md5sum =
0552d71bda98ebdcaea305cd6058221b
md5sum =
eb7bbd258913518ad30971ea7ecb0ca9
configure-options =
configure-options =
--disable-static
--disable-static
--enable-readline
--enable-readline
...
...
component/tesseract/buildout.cfg
View file @
ba5da9ec
[buildout]
[buildout]
extends =
extends =
../automake/buildout.cfg
../libtool/buildout.cfg
../leptonica/buildout.cfg
../jbigkit/buildout.cfg
../jbigkit/buildout.cfg
../libjpeg/buildout.cfg
../libpng/buildout.cfg
../libtiff/buildout.cfg
../zlib/buildout.cfg
parts =
parts =
tesseract-eng-traineddata-unzip
tesseract
tesseract
[tesseract-share]
# XXX: tesseract seems not easy configurable on runtime about where to find
# its trained data, so just move out its datadir to own controlled location
recipe = plone.recipe.command
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = mkdir -p ${:location} && mkdir -p ${:location}/tessdata
update-command = ${:command}
stop-on-error = yes
[tesseract-gcc-4.7-build-patch]
[tesseract-gcc-4.7-build-patch]
recipe = hexagonit.recipe.download
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
url = ${:_profile_base_location_}/${:filename}
...
@@ -27,32 +15,44 @@ download-only = true
...
@@ -27,32 +15,44 @@ download-only = true
filename = tesseract-3.00-gcc-4.7-build.patch
filename = tesseract-3.00-gcc-4.7-build.patch
md5sum = ca80db3ec489c547b03f3ee48879c1b1
md5sum = ca80db3ec489c547b03f3ee48879c1b1
[tesseract-3.01-remove-bom.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
download-only = true
filename = ${:_buildout_section_name_}
md5sum = 2e691858cb492b7c17d23bf0912b3d24
[tesseract]
[tesseract]
recipe = hexagonit.recipe.cmmi
recipe = hexagonit.recipe.cmmi
url = http://tesseract-ocr.googlecode.com/files/tesseract-3.0
0
.tar.gz
url = http://tesseract-ocr.googlecode.com/files/tesseract-3.0
1
.tar.gz
md5sum =
cc812a261088ea0c3d2da735be35d09f
md5sum =
1ba496e51a42358fb9d3ffe781b2d20a
patch-options =
patch-options =
-p1
-p1
patches =
patches =
${tesseract-gcc-4.7-build-patch:location}/${tesseract-gcc-4.7-build-patch:filename}
${tesseract-gcc-4.7-build-patch:location}/${tesseract-gcc-4.7-build-patch:filename}
depends =
${tesseract-3.01-remove-bom.patch:location}/${tesseract-3.01-remove-bom.patch:filename}
${libtiff:version}
configure-command =
configure-options =
aclocal -I ${libtool:location}/share/aclocal -I config
--disable-static
libtoolize -f -c
--datarootdir=${tesseract-share:location}
libtoolize --automake
autoheader -f
automake -c -a -f
autoconf -Wno-portability
./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static --datarootdir=${tesseract-eng-traineddata:location}
# XXX: tesseract seems not easily configurable at runtime about where to find
# its trained data, so we set its datarootdir above to a controlled location
# tesseract has a non-standard way of testing for leptonica, hence the
# LIBLEPT_HEADERSDIR entry below:
environment =
environment =
CPPFLAGS=-I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libpng:location}/include
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s
LDFLAGS =-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib
ACLOCAL_ARGS=-I${libtool:location}/share/aclocal
LIBLEPT_HEADERSDIR=${leptonica:location}/include
CPPFLAGS=-I${leptonica:location}/include
LDFLAGS =-L${leptonica:location}/lib -Wl,-rpath=${leptonica:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
[tesseract-eng-traineddata]
[tesseract-eng-traineddata]
recipe = hexagonit.recipe.download
recipe = hexagonit.recipe.download
download-only = true
strip-top-level-dir = true
url = http://tesseract-ocr.googlecode.com/files/eng.traineddata.gz
url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz
md5sum = d91041ad156cf2db36664e91ef799451
md5sum = 89c139a73e0e7b1225809fc7b226b6c9
[tesseract-eng-traineddata-unzip]
location = ${buildout:parts-directory}/${:_buildout_section_name_}
recipe = plone.recipe.command
command = gunzip ${tesseract-eng-traineddata:location}/eng.traineddata.gz -c > ${tesseract-share:location}/tessdata/eng.traineddata
update-command = ${:command}
stop-on-error = yes
component/tesseract/tesseract-3.01-remove-bom.patch
0 → 100644
View file @
ba5da9ec
The patch below removes a utf-8 BOM mark.
Avoid touching it as the BOM is invisible, and copy/pasting might not work.
It is needed because old compilers treat the BOM as garbage instead of
whitespace.
--- tesseract-3.01/ccutil/strngs.h.orig 2012-05-24 15:13:22.743808379 +0200
+++ tesseract-3.01/ccutil/strngs.h 2012-05-24 15:16:54.468858282 +0200
@@ -1,4 +1,4 @@
-/**********************************************************************
+/**********************************************************************
* File: strngs.h (Formerly strings.h)
* Description: STRING class definition.
* Author: Ray Smith
component/webp/buildout.cfg
0 → 100644
View file @
ba5da9ec
[buildout]
parts =
webp
[webp]
recipe = hexagonit.recipe.cmmi
url = https://webp.googlecode.com/files/libwebp-0.1.3.tar.gz
md5sum = 254d4670e14e9ed881f0536b006ab336
configure-options =
--disable-static
setup.py
View file @
ba5da9ec
...
@@ -103,6 +103,7 @@ setup(name=name,
...
@@ -103,6 +103,7 @@ setup(name=name,
'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed'
,
'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed'
,
'shell = slapos.recipe.shell:Recipe'
,
'shell = slapos.recipe.shell:Recipe'
,
'shellinabox = slapos.recipe.shellinabox:Recipe'
,
'shellinabox = slapos.recipe.shellinabox:Recipe'
,
'slapconfiguration = slapos.recipe.slapconfiguration:Recipe'
,
'symbolic.link = slapos.recipe.symbolic_link:Recipe'
,
'symbolic.link = slapos.recipe.symbolic_link:Recipe'
,
'softwaretype = slapos.recipe.softwaretype:Recipe'
,
'softwaretype = slapos.recipe.softwaretype:Recipe'
,
'siptester = slapos.recipe.siptester:SipTesterRecipe'
,
'siptester = slapos.recipe.siptester:SipTesterRecipe'
,
...
@@ -129,7 +130,6 @@ setup(name=name,
...
@@ -129,7 +130,6 @@ setup(name=name,
'erp5.test = slapos.recipe.erp5_test:Recipe'
,
'erp5.test = slapos.recipe.erp5_test:Recipe'
,
'generic.varnish = slapos.recipe.generic_varnish:Recipe'
,
'generic.varnish = slapos.recipe.generic_varnish:Recipe'
,
'webchecker = slapos.recipe.web_checker:Recipe'
,
'webchecker = slapos.recipe.web_checker:Recipe'
,
'slapparameters = slapos.recipe.slapparameters:Recipe'
,
],
],
'slapos.recipe.nosqltestbed.plugin'
:
[
'slapos.recipe.nosqltestbed.plugin'
:
[
'kumo = slapos.recipe.nosqltestbed.kumo:KumoTestBed'
,
'kumo = slapos.recipe.nosqltestbed.kumo:KumoTestBed'
,
...
...
slapos/recipe/generic_zope_zeo_client/__init__.py
View file @
ba5da9ec
...
@@ -43,7 +43,6 @@ def Zope2InitUser(path, username, password):
...
@@ -43,7 +43,6 @@ def Zope2InitUser(path, username, password):
class
Recipe
(
GenericBaseRecipe
):
class
Recipe
(
GenericBaseRecipe
):
def
_options
(
self
,
options
):
def
_options
(
self
,
options
):
options
[
'password'
]
=
self
.
generatePassword
()
options
[
'password'
]
=
self
.
generatePassword
()
options
[
'deadlock-password'
]
=
self
.
generatePassword
()
def
install
(
self
):
def
install
(
self
):
"""
"""
...
@@ -91,25 +90,6 @@ class Recipe(GenericBaseRecipe):
...
@@ -91,25 +90,6 @@ class Recipe(GenericBaseRecipe):
# Always provide a URL-Type
# Always provide a URL-Type
append
(
"file://"
+
link
)
append
(
"file://"
+
link
)
# Generate Zeo connections
zeo_snippet_template
=
open
(
self
.
getTemplateFilename
(
'zope.zeo.entry.conf.in'
)).
read
()
zeo_snippet_list
=
[]
for
zeo_line
in
self
.
options
[
'zeo-connection-string'
].
splitlines
():
zeo_line
.
strip
()
if
not
zeo_line
:
continue
d
=
dict
()
for
param
in
zeo_line
.
split
():
k
,
v
=
param
.
split
(
'='
)
d
[
k
.
strip
()]
=
v
.
strip
()
zeo_snippet_list
.
append
(
zeo_snippet_template
%
d
)
# Create zope configuration file
zope_config
=
dict
(
products
=
self
.
options
[
'products'
],
thread_amount
=
self
.
options
[
'thread-amount'
],
zodb_configuration
=
'
\
n
'
.
join
(
zeo_snippet_list
)
)
zope_environment
=
dict
(
zope_environment
=
dict
(
TMP
=
self
.
options
[
'tmp-path'
],
TMP
=
self
.
options
[
'tmp-path'
],
TMPDIR
=
self
.
options
[
'tmp-path'
],
TMPDIR
=
self
.
options
[
'tmp-path'
],
...
@@ -134,44 +114,7 @@ class Recipe(GenericBaseRecipe):
...
@@ -134,44 +114,7 @@ class Recipe(GenericBaseRecipe):
# configure default Zope2 zcml
# configure default Zope2 zcml
open
(
self
.
options
[
'site-zcml'
],
'w'
).
write
(
open
(
self
.
getTemplateFilename
(
open
(
self
.
options
[
'site-zcml'
],
'w'
).
write
(
open
(
self
.
getTemplateFilename
(
'site.zcml'
)).
read
())
'site.zcml'
)).
read
())
zope_config
[
'instance'
]
=
self
.
options
[
'instance-path'
]
zope_config
[
'event_log'
]
=
self
.
options
[
'event-log'
]
zope_config
[
'z2_log'
]
=
self
.
options
[
'z2-log'
]
zope_config
[
'pid-filename'
]
=
self
.
options
[
'pid-file'
]
zope_config
[
'lock-filename'
]
=
self
.
options
[
'lock-file'
]
prefixed_products
=
[]
for
product
in
reversed
(
zope_config
[
'products'
].
split
()):
product
=
product
.
strip
()
if
product
:
prefixed_products
.
append
(
'products %s'
%
product
)
prefixed_products
.
insert
(
0
,
'products %s'
%
self
.
options
[
'instance-products'
])
zope_config
[
'products'
]
=
'
\
n
'
.
join
(
prefixed_products
)
zope_config
[
'address'
]
=
'%s:%s'
%
(
self
.
options
[
'ip'
],
self
.
options
[
'port'
])
zope_config
.
update
(
dump_url
=
self
.
options
[
'deadlock-path'
],
secret
=
self
.
options
[
'deadlock-password'
])
zope_wrapper_template_location
=
self
.
getTemplateFilename
(
'zope.conf.in'
)
zope_conf_content
=
self
.
substituteTemplate
(
zope_wrapper_template_location
,
zope_config
)
if
self
.
isTrueValue
(
self
.
options
[
'timeserver'
]):
zope_conf_content
+=
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'zope.conf.timeserver.in'
),
{})
if
'tidstorage-ip'
in
self
.
options
:
zope_conf_content
+=
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'zope.conf.tidstorage.in'
),
{
'tidstorage-ip'
:
self
.
options
[
'tidstorage-ip'
],
'tidstorage-port'
:
self
.
options
[
'tidstorage-port'
],
})
if
(
'promise-path'
in
self
.
options
)
and
(
'site-id'
in
self
.
options
):
zope_conf_content
+=
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'zope.conf.promise.in'
),
{
'site-id'
:
self
.
options
[
'site-id'
],
'promise-path'
:
self
.
options
[
'promise-path'
],
})
zope_conf_path
=
self
.
createFile
(
self
.
options
[
'configuration-file'
],
zope_conf_content
)
path_list
.
append
(
zope_conf_path
)
# Create init script
# Create init script
path_list
.
append
(
self
.
createPythonScript
(
self
.
options
[
'wrapper'
],
'slapos.recipe.librecipe.execute.executee'
,
[[
self
.
options
[
'runzope-binary'
].
strip
(),
'-C'
,
zope_conf_path
],
zope_environment
]))
path_list
.
append
(
self
.
createPythonScript
(
self
.
options
[
'wrapper'
],
'slapos.recipe.librecipe.execute.executee'
,
[[
self
.
options
[
'runzope-binary'
].
strip
(),
'-C'
,
self
.
options
[
'configuration-file'
]
],
zope_environment
]))
return
path_list
return
path_list
slapos/recipe/request.py
View file @
ba5da9ec
...
@@ -51,6 +51,10 @@ class Recipe(object):
...
@@ -51,6 +51,10 @@ class Recipe(object):
software-url
software-url
URL of a software definition to request an instance of.
URL of a software definition to request an instance of.
software-type
Software type of requested instance, among those provided by the
definition from software-url.
slave (optional, defaults to false)
slave (optional, defaults to false)
Set to "true" when requesting a slave instance, ie just setting a set of
Set to "true" when requesting a slave instance, ie just setting a set of
parameters in an existing instance.
parameters in an existing instance.
...
...
slapos/recipe/slap
parameters
.py
→
slapos/recipe/slap
configuration
.py
View file @
ba5da9ec
...
@@ -25,13 +25,8 @@
...
@@ -25,13 +25,8 @@
#
#
##############################################################################
##############################################################################
import
slapos.slap
import
slapos.slap
import
json
from
ConfigParser
import
RawConfigParser
from
ConfigParser
import
RawConfigParser
from
netaddr
import
valid_ipv4
,
valid_ipv6
cast_dict
=
{
'json'
:
(
True
,
json
.
dumps
),
'str'
:
(
False
,
str
),
}
class
Recipe
(
object
):
class
Recipe
(
object
):
"""
"""
...
@@ -39,6 +34,8 @@ class Recipe(object):
...
@@ -39,6 +34,8 @@ class Recipe(object):
buildout section in various ways, and in various encodings.
buildout section in various ways, and in various encodings.
Populates the buildout section it is used in with all slap partition
Populates the buildout section it is used in with all slap partition
parameters.
parameters.
Also provides access to partition properties: all IPv4, IPv6 and tap
interfaces it is allowed to use.
Input:
Input:
url
url
...
@@ -59,56 +56,65 @@ class Recipe(object):
...
@@ -59,56 +56,65 @@ class Recipe(object):
Partition identifier.
Partition identifier.
Example:
Example:
${slap-connection:partition-id}
${slap-connection:partition-id}
unsafe (optional, 0 by default)
Enables formats which are unsafe when represented back into a buildout
text file. Set to 0 to explicitly disable unsafe formats, any other
integer value to enable them.
Output:
Output:
One key per supported serialisation format, with all partition parameters
slap-software-type
serialised in that format as values and format's name.
Current partition's software type.
Also, one key per partition parameter, prefixed with serialisation format
ipv4
followed by a dot. Example:
Set of IPv4 addresses.
json = {"foo": "bar"}
ipv6
json.foo = "bar"
Set of IPv6 addresses.
tap
Supported serailisation formats:
Set of TAP interfaces.
json (safe)
configuration
JavaScript Object Notation
Dict of all parameters.
str (unsafe)
configuration.<key>
Python string representation.
One key per partition parameter.
Partition parameter whose name cannot be represented unambiguously in
buildout syntax are ignored. They cannot be accessed from buildout syntax
anyway, and are available through "configuration" output key.
"""
"""
# XXX: used to detect if a configuration key is a valid section key. This
# XXX: used to detect if a configuration key is a valid section key. This
# assumes buildout uses ConfigParser - which is currently the case.
# assumes buildout uses ConfigParser - which is currently the case.
OPTCRE
=
RawConfigParser
.
OPTCRE
OPTCRE
_match
=
RawConfigParser
.
OPTCRE
.
match
def
__init__
(
self
,
buildout
,
name
,
options
):
def
__init__
(
self
,
buildout
,
name
,
options
):
slap
=
slapos
.
slap
.
slap
()
slap
=
slapos
.
slap
.
slap
()
slap
.
initializeConnection
(
slap
.
initializeConnection
(
options
[
'url'
],
options
[
'url'
],
options
.
get
(
'key'
),
options
.
get
(
'key'
),
options
.
get
(
'cert'
),
options
.
get
(
'cert'
),
)
)
parameter_dict
=
slap
.
registerComputerPartition
(
parameter_dict
=
slap
.
registerComputerPartition
(
options
[
'computer'
],
options
[
'computer'
],
options
[
'partition'
],
options
[
'partition'
],
).
getInstanceParameterDict
()
).
getInstanceParameterDict
()
allow_unsafe
=
bool
(
int
(
options
.
get
(
'unsafe'
,
'0'
)))
# XXX: those are not partition parameters, strictly speaking.
match
=
self
.
OPTCRE
.
match
# Discard them, and make them available as separate section keys.
for
name
,
(
safe
,
cast
)
in
cast_dict
.
iteritems
():
options
[
'slap-software-type'
]
=
parameter_dict
.
pop
(
if
not
safe
and
not
allow_unsafe
:
'slap_software_type'
)
ipv4_set
=
set
()
v4_add
=
ipv4_set
.
add
ipv6_set
=
set
()
v6_add
=
ipv6_set
.
add
tap_set
=
set
()
tap_add
=
tap_set
.
add
for
tap
,
ip
in
parameter_dict
.
pop
(
'ip_list'
):
tap_add
(
tap
)
if
valid_ipv4
(
ip
):
v4_add
(
ip
)
elif
valid_ipv6
(
ip
):
v6_add
(
ip
)
# XXX: emit warning on unknown address type ?
options
[
'ipv4'
]
=
ipv4_set
options
[
'ipv6'
]
=
ipv6_set
options
[
'tap'
]
=
tap_set
options
[
'configuration'
]
=
parameter_dict
match
=
self
.
OPTCRE_match
for
key
,
value
in
parameter_dict
.
iteritems
():
if
match
(
key
)
is
not
None
:
continue
continue
options
[
name
]
=
cast
(
parameter_dict
)
options
[
'configuration.'
+
key
]
=
value
for
key
,
value
in
parameter_dict
.
iteritems
():
if
match
(
key
)
is
not
None
:
# It should be OK to skip silently and unconditionally: such
# parameter cannot be accessed in a well-formed buildout
# config.
continue
options
[
name
+
'.'
+
key
]
=
cast
(
value
)
def
install
(
self
):
return
[]
update
=
install
install
=
update
=
lambda
self
:
[]
slapos/recipe/testnode/profile_testnode.py
View file @
ba5da9ec
...
@@ -126,8 +126,8 @@ def run(args):
...
@@ -126,8 +126,8 @@ def run(args):
subprocess
.
check_call
([
config
[
'git_binary'
],
'checkout'
,
'--force'
,
subprocess
.
check_call
([
config
[
'git_binary'
],
'checkout'
,
'--force'
,
'--track'
,
'-b'
,
config
[
'branch'
],
'origin/'
+
config
[
'branch'
]],
'--track'
,
'-b'
,
config
[
'branch'
],
'origin/'
+
config
[
'branch'
]],
cwd
=
repository_clone
)
cwd
=
repository_clone
)
subprocess
.
check_call
([
config
[
'git_binary'
],
'
pull'
,
'--rebase'
]
,
subprocess
.
check_call
([
config
[
'git_binary'
],
'
reset'
,
'--hard'
,
cwd
=
repository_clone
)
'@{upstream}'
],
cwd
=
repository_clone
)
except
Exception
:
except
Exception
:
print
'Retrying git in 60s'
print
'Retrying git in 60s'
time
.
sleep
(
60
)
time
.
sleep
(
60
)
...
...
software/cloudooo/instance.cfg.in
View file @
ba5da9ec
...
@@ -6,14 +6,6 @@ eggs-directory = {{ eggs_directory }}
...
@@ -6,14 +6,6 @@ eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
offline = true
[slap-parameters]
recipe = slapos.cookbook:slapparameters
computer = ${slap-connection:computer-id}
partition = ${slap-connection:partition-id}
url = ${slap-connection:server-url}
key = ${slap-connection:key-file}
cert = ${slap-connection:cert-file}
[jinja2-template-base]
[jinja2-template-base]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/${:filename}
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/${:filename}
...
@@ -21,7 +13,6 @@ extra-context =
...
@@ -21,7 +13,6 @@ extra-context =
context =
context =
key eggs_directory buildout:eggs-directory
key eggs_directory buildout:eggs-directory
key develop_eggs_directory buildout:develop-eggs-directory
key develop_eggs_directory buildout:develop-eggs-directory
jsonkey slapparameter_dict slap-parameters:json
${:extra-context}
${:extra-context}
[dynamic-template-cloudooo-parameters]
[dynamic-template-cloudooo-parameters]
...
@@ -53,8 +44,6 @@ filename = instance-cloudoo.cfg
...
@@ -53,8 +44,6 @@ filename = instance-cloudoo.cfg
extra-context =
extra-context =
section parameter_dict dynamic-template-cloudooo-parameters
section parameter_dict dynamic-template-cloudooo-parameters
import json_module json
import json_module json
# Must match the key id in [switch-softwaretype] which uses this section.
raw software_type default
[switch-softwaretype]
[switch-softwaretype]
recipe = slapos.cookbook:softwaretype
recipe = slapos.cookbook:softwaretype
...
...
software/cloudooo/software.cfg
View file @
ba5da9ec
...
@@ -68,7 +68,7 @@ context =
...
@@ -68,7 +68,7 @@ context =
# XXX: "template.cfg" is hardcoded in instanciation recipe
# XXX: "template.cfg" is hardcoded in instanciation recipe
filename = template.cfg
filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
template = ${:_profile_base_location_}/instance.cfg.in
md5sum =
5c4efb6deb981401d131eaf70a7c6f76
md5sum =
843e8ab2bd35c585fa22eee4e83f4e6e
extra-context =
extra-context =
key buildout_bin_directory buildout:bin-directory
key buildout_bin_directory buildout:bin-directory
key dcron_location dcron:location
key dcron_location dcron:location
...
...
software/erp5/instance-cloudoo.cfg.in
View file @
ba5da9ec
{% if software_type == slap
parameter_dict['slap_software_type']
-%}
{% if software_type == slap
_software_type
-%}
{% set json = json_module.loads(parameter_dict.get('cloudooo-json', '{}')) -%}
{% set json = json_module.loads(parameter_dict.get('cloudooo-json', '{}')) -%}
{% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
{% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
[buildout]
[buildout]
...
...
software/erp5/instance-tidstorage.cfg.in
View file @
ba5da9ec
{% if software_type == slap
parameter_dict['slap_software_type']
-%}
{% if software_type == slap
_software_type
-%}
{#
{#
Note: all port counters are pre-incremented. No idea why base port is skipped.
Note: all port counters are pre-incremented. No idea why base port is skipped.
-#}
-#}
{% set current_zeo_port = zeo_port_base | int -%}
{% set current_zeo_port = zeo_port_base | int -%}
{% set zope_port_base = zope_port_base | int -%}
{% set zope_port_base = zope_port_base | int -%}
{% set zope_dummy_list = [] %}
{% set zope_dummy_list = []
-
%}
{% set current_apache_port = apache_port_base | int -%}
{% set current_apache_port = apache_port_base | int -%}
{% set current_haproxy_port = haproxy_port_base | int -%}
{% set current_haproxy_port = haproxy_port_base | int -%}
{% set json = json_module.loads(slapparameter_dict['json']) -%}
{% set json = json_module.loads(slapparameter_dict['json']) -%}
{% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
{% set bin_directory = parameter_dict['buildout-bin-directory'] -%}
{#
{#
XXX: This template only supports exactly one IPv4 and one IPv6 per
partition. No more (undefined result), no less (IndexError).
-#}
{% set ipv4 = (ipv4_set | list)[0] -%}
{% set ipv6 = (ipv6_set | list)[0] -%}
{#
BBB: erp5-ca['state'] has been configured as string by mistake. Keep this for
BBB: erp5-ca['state'] has been configured as string by mistake. Keep this for
backward compatibility with existing automatically setup CAs.
backward compatibility with existing automatically setup CAs.
-#}
-#}
...
@@ -33,79 +39,85 @@ backward compatibility with existing automatically setup CAs.
...
@@ -33,79 +39,85 @@ backward compatibility with existing automatically setup CAs.
longrequest_logger_timeout='',
longrequest_logger_timeout='',
longrequest_logger_interval=''
longrequest_logger_interval=''
) -%}
) -%}
[{{ section(name) }}]
{% set conf_name = name ~ '-conf' -%}
< = zope-base
{% set conf_parameter_name = conf_name ~ '-param' -%}
{% do zope_dummy_list.append(None) %}
[{{ conf_parameter_name }}]
{% set offset = zope_dummy_list | length %}
< = zope-conf-parameter-base
pid-file = ${directory:run}/{{ name }}.pid
lock-file = ${directory:run}/{{ name }}.lock
{% do zope_dummy_list.append(None) -%}
{% set offset = zope_dummy_list | length -%}
port = {{ zope_port_base + offset }}
port = {{ zope_port_base + offset }}
thread-amount = {{ thread_amount }}
thread-amount = {{ thread_amount }}
timeserver = {{ timeserver }}
timeserver = {{ timeserver }}
event-log = ${directory:log}/{{ name }}-event.log
z2-log = ${directory:log}/{{ name }}-Z2.log
[{{ conf_name }}]
< = zope-conf-base
rendered = ${directory:etc}/{{ name }}.conf
extra-context =
section parameter_dict {{ conf_parameter_name }}
[{{ section(name) }}]
< = zope-base
longrequest-logger-file = {{ longrequest_logger_file }}
longrequest-logger-file = {{ longrequest_logger_file }}
longrequest-logger-timeout = {{ longrequest_logger_timeout }}
longrequest-logger-timeout = {{ longrequest_logger_timeout }}
longrequest-logger-interval = {{ longrequest_logger_interval }}
longrequest-logger-interval = {{ longrequest_logger_interval }}
wrapper = ${basedirectory:services}/{{ name }}
wrapper = ${directory:services}/{{ name }}
pid-file = ${basedirectory:run}/{{ name }}.pid
configuration-file = {{ '${' ~ conf_name ~ ':rendered}' }}
lock-file = ${basedirectory:run}/{{ name }}.lock
port = {{ '${' ~ conf_parameter_name ~ ':port}' }}
event-log = ${basedirectory:log}/{{ name }}-event.log
z2-log = ${basedirectory:log}/{{ name }}-Z2.log
configuration-file = ${rootdirectory:etc}/{{ name }}.conf
[{{ section('logrotate-entry-' ~ name) }}]
[{{ section('logrotate-entry-' ~ name) }}]
< = logrotate-base
< = logrotate-base
recipe = slapos.cookbook:logrotate.d
recipe = slapos.cookbook:logrotate.d
name = {{ name }}
name = {{ name }}
log = {{ '${' ~
name ~ ':event-log}' }} {{ '${' ~
name ~ ':z2-log}' }}
log = {{ '${' ~
conf_parameter_name ~ ':event-log}' }} {{ '${' ~ conf_parameter_
name ~ ':z2-log}' }}
post = {{ bin_directory }}/killpidfromfile {{ '${' ~ name ~ ':pid-file}' }} SIGUSR2
post = {{ bin_directory }}/killpidfromfile {{ '${' ~
conf_parameter_
name ~ ':pid-file}' }} SIGUSR2
{% endmacro -%}
{% endmacro -%}
#############################
#############################
# Directory creation
# Directory creation
#############################
#############################
[rootdirectory]
recipe = slapos.cookbook:mkdirectory
etc = ${buildout:directory}/etc
var = ${buildout:directory}/var
srv = ${buildout:directory}/srv
bin = ${buildout:directory}/bin
tmp = ${buildout:directory}/tmp
[basedirectory]
recipe = slapos.cookbook:mkdirectory
log = ${rootdirectory:var}/log
services = ${rootdirectory:etc}/run
run = ${rootdirectory:var}/run
backup = ${rootdirectory:srv}/backup
[directory]
[directory]
recipe = slapos.cookbook:mkdirectory
recipe = slapos.cookbook:mkdirectory
tidstorage = ${rootdirectory:srv}/tidstorage
apache-conf = ${:etc}/apache
zodb = ${rootdirectory:srv}/zodb
backup = ${:srv}/backup
zodb-backup = ${basedirectory:backup}/zodb
bin = ${buildout:directory}/bin
instance = ${rootdirectory:srv}/erp5shared
ca-dir = ${:srv}/ssl
cron-entries = ${:etc}/cron.d
cronstamps = ${:etc}/cronstamps
crontabs = ${:etc}/crontabs
erp5-ca-dir = ${:srv}/erp5-ssl
etc = ${buildout:directory}/etc
instance = ${:srv}/erp5shared
instance-constraint = ${:instance}/Constraint
instance-document = ${:instance}/Document
instance-etc = ${:instance}/etc
instance-etc = ${:instance}/etc
apache-conf = ${rootdirectory:etc}/apache
instance-etc-package-include = ${:instance}/etc/package-include
instance-etc-package-include = ${:instance}/etc/package-include
instance-document = ${:instance}/Document
instance-propertysheet = ${:instance}/PropertySheet
instance-products = ${:instance}/Products
instance-extensions = ${:instance}/Extensions
instance-extensions = ${:instance}/Extensions
instance-constraint = ${:instance}/Constraint
instance-import = ${:instance}/import
instance-import = ${:instance}/import
instance-lib = ${:instance}/lib
instance-lib = ${:instance}/lib
instance-products = ${:instance}/Products
instance-propertysheet = ${:instance}/PropertySheet
instance-tests = ${:instance}/tests
instance-tests = ${:instance}/tests
erp5-ca-dir = ${rootdirectory:srv}/erp5-ssl
log = ${:var}/log
ca-dir = ${rootdirectory:srv}/ssl
logrotate-backup = ${:backup}/logrotate
cron-entries = ${rootdirectory:etc}/cron.d
logrotate-entries = ${:etc}/logrotate.d
crontabs = ${rootdirectory:etc}/crontabs
run = ${:var}/run
cronstamps = ${rootdirectory:etc}/cronstamps
services = ${:etc}/run
logrotate-backup = ${basedirectory:backup}/logrotate
srv = ${buildout:directory}/srv
logrotate-entries = ${rootdirectory:etc}/logrotate.d
tidstorage = ${:srv}/tidstorage
tmp = ${buildout:directory}/tmp
var = ${buildout:directory}/var
zodb = ${:srv}/zodb
zodb-backup = ${:backup}/zodb
#############################
#############################
# Binary symlinking
# Binary symlinking
#############################
#############################
[binary-link]
[binary-link]
recipe = slapos.cookbook:symbolic.link
recipe = slapos.cookbook:symbolic.link
target-directory = ${
root
directory:bin}
target-directory = ${directory:bin}
link-binary =
link-binary =
{{ parameter_dict['coreutils'] }}/bin/basename
{{ parameter_dict['coreutils'] }}/bin/basename
{{ parameter_dict['coreutils'] }}/bin/cat
{{ parameter_dict['coreutils'] }}/bin/cat
...
@@ -145,7 +157,7 @@ recipe = slapos.cookbook:certificate_authority
...
@@ -145,7 +157,7 @@ recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl
ca-dir = ${directory:ca-dir}
ca-dir = ${directory:ca-dir}
requests-directory = ${cadirectory:requests}
requests-directory = ${cadirectory:requests}
wrapper = ${
base
directory:services}/ca
wrapper = ${directory:services}/ca
ca-private = ${cadirectory:private}
ca-private = ${cadirectory:private}
ca-certs = ${cadirectory:certs}
ca-certs = ${cadirectory:certs}
ca-newcerts = ${cadirectory:newcerts}
ca-newcerts = ${cadirectory:newcerts}
...
@@ -167,7 +179,7 @@ recipe = slapos.cookbook:certificate_authority
...
@@ -167,7 +179,7 @@ recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl
ca-dir = ${directory:erp5-ca-dir}
ca-dir = ${directory:erp5-ca-dir}
requests-directory = ${erp5-cadirectory:requests}
requests-directory = ${erp5-cadirectory:requests}
wrapper = ${
base
directory:services}/erp5-ca
wrapper = ${directory:services}/erp5-ca
ca-private = ${erp5-cadirectory:private}
ca-private = ${erp5-cadirectory:private}
ca-certs = ${erp5-cadirectory:certs}
ca-certs = ${erp5-cadirectory:certs}
ca-newcerts = ${erp5-cadirectory:newcerts}
ca-newcerts = ${erp5-cadirectory:newcerts}
...
@@ -191,12 +203,12 @@ dcrond-binary = {{ parameter_dict['dcron'] }}/sbin/crond
...
@@ -191,12 +203,12 @@ dcrond-binary = {{ parameter_dict['dcron'] }}/sbin/crond
crontabs = ${directory:crontabs}
crontabs = ${directory:crontabs}
cronstamps = ${directory:cronstamps}
cronstamps = ${directory:cronstamps}
catcher = ${cron-simplelogger:wrapper}
catcher = ${cron-simplelogger:wrapper}
binary = ${
base
directory:services}/crond
binary = ${directory:services}/crond
[cron-simplelogger]
[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
recipe = slapos.cookbook:simplelogger
wrapper = ${
root
directory:bin}/cron_simplelogger
wrapper = ${directory:bin}/cron_simplelogger
log = ${
base
directory:log}/cron.log
log = ${directory:log}/cron.log
#############################
#############################
# Logrotate
# Logrotate
...
@@ -213,9 +225,9 @@ logrotate-binary = {{ parameter_dict['logrotate'] }}/usr/sbin/logrotate
...
@@ -213,9 +225,9 @@ logrotate-binary = {{ parameter_dict['logrotate'] }}/usr/sbin/logrotate
gzip-binary = {{ parameter_dict['gzip'] }}/bin/gzip
gzip-binary = {{ parameter_dict['gzip'] }}/bin/gzip
gunzip-binary = {{ parameter_dict['gzip'] }}/bin/gunzip
gunzip-binary = {{ parameter_dict['gzip'] }}/bin/gunzip
# Directories
# Directories
wrapper = ${
root
directory:bin}/logrotate
wrapper = ${directory:bin}/logrotate
conf = ${
root
directory:etc}/logrotate.conf
conf = ${directory:etc}/logrotate.conf
state-file = ${
root
directory:srv}/logrotate.status
state-file = ${directory:srv}/logrotate.status
[cron-entry-logrotate]
[cron-entry-logrotate]
< = cron-base
< = cron-base
...
@@ -229,7 +241,7 @@ command = ${logrotate:wrapper}
...
@@ -229,7 +241,7 @@ command = ${logrotate:wrapper}
#############################
#############################
[erp5-bootstrap]
[erp5-bootstrap]
recipe = slapos.cookbook:erp5.bootstrap
recipe = slapos.cookbook:erp5.bootstrap
runner-path = ${
base
directory:services}/erp5-bootstrap
runner-path = ${directory:services}/erp5-bootstrap
mysql-url = {{ slapparameter_dict['mysql-url'] }}
mysql-url = {{ slapparameter_dict['mysql-url'] }}
zope-url = http://${zope-admin:user}:${zope-admin:password}@${zope-admin:ip}:${zope-admin:port}/{{ site_id }}
zope-url = http://${zope-admin:user}:${zope-admin:password}@${zope-admin:ip}:${zope-admin:port}/{{ site_id }}
...
@@ -238,7 +250,7 @@ zope-url = http://${zope-admin:user}:${zope-admin:password}@${zope-admin:ip}:${z
...
@@ -238,7 +250,7 @@ zope-url = http://${zope-admin:user}:${zope-admin:password}@${zope-admin:ip}:${z
#############################
#############################
[erp5-promise]
[erp5-promise]
recipe = slapos.cookbook:erp5.promise
recipe = slapos.cookbook:erp5.promise
promise-path = ${
root
directory:etc}/erp5promise.cfg
promise-path = ${directory:etc}/erp5promise.cfg
kumofs-url = {{ slapparameter_dict['kumofs-url'] }}
kumofs-url = {{ slapparameter_dict['kumofs-url'] }}
memcached-url = {{ slapparameter_dict['memcached-url'] }}
memcached-url = {{ slapparameter_dict['memcached-url'] }}
cloudooo-url = {{ slapparameter_dict['cloudooo-url'] }}
cloudooo-url = {{ slapparameter_dict['cloudooo-url'] }}
...
@@ -251,39 +263,41 @@ bt5-repository-url = ${slap-parameter:bt5-repository-url}
...
@@ -251,39 +263,41 @@ bt5-repository-url = ${slap-parameter:bt5-repository-url}
#############################
#############################
[zeo-instance-entry-common]
[zeo-instance-entry-common]
recipe = slapos.cookbook:zeo
recipe = slapos.cookbook:zeo
ip =
${slap-network-information:local-ipv4
}
ip =
{{ ipv4 }
}
binary-path = {{ bin_directory }}/runzeo
binary-path = {{ bin_directory }}/runzeo
{% for zeo_id, zeo_configuration_list in json['zeo'].iteritems() -%}
{% for zeo_id, zeo_configuration_list in json['zeo'].iteritems() -%}
{% set current_zeo_port = current_zeo_port + 1 -%}
{% set storage_list = [] -%}
{% set storage_list = [] -%}
{% for zeo_slave in zeo_configuration_list -%}
{% for zeo_slave in zeo_configuration_list -%}
{% do zodb_connection_list.append(
{% do zodb_connection_list.append((
'zeo-cache-size=%(zeo-cache-size)s zope-cache-size=%(zope-cache-size)s '
zeo_slave['storage-name'],
'server=%(server)s mount-point=%(mount-point)s storage-name=%(storage-name)s' % {
zeo_slave['mount-point'] % {'site-id': site_id},
'zope-cache-size': zeo_slave['zope-cache-size'],
zeo_slave['zope-cache-size'],
'zeo-cache-size': zeo_slave['zeo-cache-size'],
'zeoclient',
'mount-point': zeo_slave['mount-point'] % {'site-id': site_id},
{
'storage-name': zeo_slave['storage-name'],
'cache-size': zeo_slave['zeo-cache-size'],
'server': '${zeo-instance-%(zeo-id)s:ip}:${zeo-instance-%(zeo-id)s:port}' % {'zeo-id': zeo_id},
'server': ipv4 ~ ':' ~ current_zeo_port,
}) -%}
'storage': zeo_slave['storage-name'],
'name': zeo_slave['storage-name'],
},
)) -%}
{% set zodb_path = '${directory:zodb}/' ~ zeo_slave['storage-name'] ~ '.fs' -%}
{% set zodb_path = '${directory:zodb}/' ~ zeo_slave['storage-name'] ~ '.fs' -%}
{% do storage_list.append('storage-name=%(storage-name)s zodb-path=%(zodb-path)s' % {'zodb-path': zodb_path, 'storage-name': zeo_slave['storage-name']}) -%}
{% do storage_list.append('storage-name=%(storage-name)s zodb-path=%(zodb-path)s' % {'zodb-path': zodb_path, 'storage-name': zeo_slave['storage-name']}) -%}
{% do known_tid_storage_identifier_dict.__setitem__("((('%(ip)s', %(port)s),), '%(storage_name)s')" % {
{% do known_tid_storage_identifier_dict.__setitem__("((('${zeo-instance-%(zeo_id)s:ip}', ${zeo-instance-%(zeo_id)s:port}),), '%(storage_name)s')" % {
'ip': '${zeo-instance-%s:ip}' % zeo_id,
'zeo_id': zeo_id,
'port': '${zeo-instance-%s:port}' % zeo_id,
'storage_name': zeo_slave['storage-name']
'storage_name': zeo_slave['storage-name']
}, (zodb_path, '${directory:zodb-backup}/%s/' % zeo_slave['storage-name'], zeo_slave['serialize-path'] % {'site-id': site_id})) -%}
}, (zodb_path, '${directory:zodb-backup}/%s/' % zeo_slave['storage-name'], zeo_slave['serialize-path'] % {'site-id': site_id})) -%}
{% endfor -%}
{% endfor -%}
{% set current_zeo_port = current_zeo_port + 1 -%}
[{{ section('zeo-instance-%s' % zeo_id) }}]
[{{ section('zeo-instance-%s' % zeo_id) }}]
< = zeo-instance-entry-common
< = zeo-instance-entry-common
log-path = ${
base
directory:log}/zeo-{{ zeo_id }}.log
log-path = ${directory:log}/zeo-{{ zeo_id }}.log
pid-path = ${
base
directory:run}/zeo-{{ zeo_id }}.pid
pid-path = ${directory:run}/zeo-{{ zeo_id }}.pid
conf-path = ${
root
directory:etc}/zeo-{{ zeo_id }}.conf
conf-path = ${directory:etc}/zeo-{{ zeo_id }}.conf
port = {{ current_zeo_port }}
port = {{ current_zeo_port }}
storage =
storage =
{{ storage_list | join('\n ') }}
{{ storage_list | join('\n ') }}
wrapper-path = ${
base
directory:services}/zeo-{{ zeo_id }}
wrapper-path = ${directory:services}/zeo-{{ zeo_id }}
[{{ section('logrotate-entry-zeo-%s' % zeo_id) }}]
[{{ section('logrotate-entry-zeo-%s' % zeo_id) }}]
< = logrotate-base
< = logrotate-base
...
@@ -293,36 +307,52 @@ log = ${zeo-instance-{{ zeo_id }}:log-path}
...
@@ -293,36 +307,52 @@ log = ${zeo-instance-{{ zeo_id }}:log-path}
post = {{ bin_directory }}/killpidfromfile ${zeo-instance-{{ zeo_id }}:pid-path} SIGUSR2
post = {{ bin_directory }}/killpidfromfile ${zeo-instance-{{ zeo_id }}:pid-path} SIGUSR2
{% endfor -%}
{% endfor -%}
#############################
# Zope
#############################
[zope-base]
[zope-base]
recipe = slapos.cookbook:generic.zope.zeo.client
recipe = slapos.cookbook:generic.zope.zeo.client
# XXX: products won't be needed as soon as all ERP5 (and products-deps)
# products will be eggified so then it will be possible to use them thanks to
# availability in software's eggs
products = {{ parameter_dict['products'] }}
user = zope
user = zope
ip = ${slap-network-information:local-ipv4}
ip = {{ ipv4 }}
deadlock-path = /manage_debug_threads
timezone = {{ json['timezone'] }}
timezone = {{ json['timezone'] }}
zeo-connection-string =
{{ zodb_connection_list | join('\n ') }}
tidstorage-ip = ${tidstorage:ip}
tidstorage-ip = ${tidstorage:ip}
tidstorage-port = ${tidstorage:port}
tidstorage-port = ${tidstorage:port}
instance-path = ${directory:instance}
instance-etc = ${directory:instance-etc}
instance-etc = ${directory:instance-etc}
instance-products = ${directory:instance-products}
bt5-repository = ${directory:var}/bt5_repository
bt5-repository = ${rootdirectory:var}/bt5_repository
tmp-path = ${directory:tmp}
tmp-path = ${rootdirectory:tmp}
bin-path = ${directory:bin}
bin-path = ${rootdirectory:bin}
site-zcml = ${:instance-etc}/site.zcml
site-zcml = ${:instance-etc}/site.zcml
inituser = ${
:instance-path
}/inituser
inituser = ${
directory:instance
}/inituser
runzope-binary = {{ bin_directory }}/runzope
runzope-binary = {{ bin_directory }}/runzope
bt5-repository-list =
bt5-repository-list =
promise-path = ${erp5-promise:promise-path}
[deadlock-debugger-password]
recipe = slapos.cookbook:pwgen.stable
[zope-conf-parameter-base]
ip = {{ ipv4 }}
site-id = {{ site_id }}
site-id = {{ site_id }}
zodb-list = {{ json_module.dumps(zodb_connection_list) }}
# XXX: products won't be needed as soon as all ERP5 (and products-deps)
# products will be eggified so then it will be possible to use them thanks to
# availability in software's eggs
products = {{ parameter_dict['products'] }}
[zope-conf-base]
recipe = slapos.recipe.template:jinja2
template = {{ parameter_dict['zope-conf-template'] }}
extra-context =
context =
key instance directory:instance
key instance_products directory:instance-products
raw deadlock_path /manage_debug_threads
key deadlock_debugger_password deadlock-debugger-password:password
import json_module json
key tidstorage_ip tidstorage:ip
key tidstorage_port tidstorage:port
key promise_path erp5-promise:promise-path
${:extra-context}
#############################
# Zope
#############################
# Distribution node
# Distribution node
{{ zope('zope-distribution', timeserver=True) }}
{{ zope('zope-distribution', timeserver=True) }}
# Admin node
# Admin node
...
@@ -330,7 +360,7 @@ site-id = {{ site_id }}
...
@@ -330,7 +360,7 @@ site-id = {{ site_id }}
# Activity nodes
# Activity nodes
{% for q in range(1, json['activity']['zopecount'] + 1) -%}
{% for q in range(1, json['activity']['zopecount'] + 1) -%}
{{ zope('zope-activity-%s' % q, timeserver=True) }}
{{ zope('zope-activity-%s' % q, timeserver=True) }}
{% endfor %}
{%
-
endfor %}
# Other zopes, apaches and haproxies
# Other zopes, apaches and haproxies
{% set publish_url_list = [] -%}
{% set publish_url_list = [] -%}
{% for backend_name, backend_configuration in json['backend'].iteritems() -%}
{% for backend_name, backend_configuration in json['backend'].iteritems() -%}
...
@@ -339,7 +369,7 @@ site-id = {{ site_id }}
...
@@ -339,7 +369,7 @@ site-id = {{ site_id }}
{% for q in range(1, backend_configuration['zopecount'] + 1) -%}
{% for q in range(1, backend_configuration['zopecount'] + 1) -%}
{% set part_name = 'zope-%s-%s' % (backend_name, q) -%}
{% set part_name = 'zope-%s-%s' % (backend_name, q) -%}
{% if longrequest_logger != None -%}
{% if longrequest_logger != None -%}
{% set longrequest_logger_file = '${
base
directory:log}/%s-longrequest.log' % (part_name, ) -%}
{% set longrequest_logger_file = '${directory:log}/%s-longrequest.log' % (part_name, ) -%}
{% set longrequest_logger_timeout = longrequest_logger.get('timeout', '4') -%}
{% set longrequest_logger_timeout = longrequest_logger.get('timeout', '4') -%}
{% set longrequest_logger_interval = longrequest_logger.get('interval', '2') -%}
{% set longrequest_logger_interval = longrequest_logger.get('interval', '2') -%}
{% else -%}
{% else -%}
...
@@ -355,7 +385,7 @@ site-id = {{ site_id }}
...
@@ -355,7 +385,7 @@ site-id = {{ site_id }}
longrequest_logger_interval=longrequest_logger_interval,
longrequest_logger_interval=longrequest_logger_interval,
) }}
) }}
{% do haproxy_backend_list.append('${%(part_name)s:ip}:${%(part_name)s:port}' % {'part_name': part_name}) -%}
{% do haproxy_backend_list.append('${%(part_name)s:ip}:${%(part_name)s:port}' % {'part_name': part_name}) -%}
{%
endfor
%}
{%
endfor -
%}
{% set scheme = backend_configuration.get('scheme', ['https']) -%}
{% set scheme = backend_configuration.get('scheme', ['https']) -%}
{% set current_apache_port = current_apache_port + 2 -%}
{% set current_apache_port = current_apache_port + 2 -%}
{% set current_haproxy_port = current_haproxy_port + 1 -%}
{% set current_haproxy_port = current_haproxy_port + 1 -%}
...
@@ -369,16 +399,16 @@ site-id = {{ site_id }}
...
@@ -369,16 +399,16 @@ site-id = {{ site_id }}
[{{ section(section_name) }}]
[{{ section(section_name) }}]
recipe = slapos.cookbook:apache.zope.backend
recipe = slapos.cookbook:apache.zope.backend
backend = http://${haproxy-{{ backend_name }}:ip}:${haproxy-{{ backend_name }}:port}
backend = http://${haproxy-{{ backend_name }}:ip}:${haproxy-{{ backend_name }}:port}
ip =
${slap-network-information:global-ipv6
}
ip =
{{ ipv6 }
}
port = {{ current_apache_port }}
port = {{ current_apache_port }}
scheme = http
scheme = http
wrapper = ${
base
directory:services}/apache-public-{{ backend_name }}
wrapper = ${directory:services}/apache-public-{{ backend_name }}
configuration-file = ${directory:apache-conf}/apache-public-{{ backend_name }}.conf
configuration-file = ${directory:apache-conf}/apache-public-{{ backend_name }}.conf
access-control-string = {{ backend_configuration['access-control-string'] }}
access-control-string = {{ backend_configuration['access-control-string'] }}
pid-file = ${
base
directory:run}/apache-public-{{ backend_name }}.pid
pid-file = ${directory:run}/apache-public-{{ backend_name }}.pid
lock-file = ${
base
directory:run}/apache-public-{{ backend_name }}.lock
lock-file = ${directory:run}/apache-public-{{ backend_name }}.lock
error-log = ${
base
directory:log}/apache-public-{{ backend_name }}-error.log
error-log = ${directory:log}/apache-public-{{ backend_name }}-error.log
access-log = ${
base
directory:log}/apache-public-{{ backend_name }}-access.log
access-log = ${directory:log}/apache-public-{{ backend_name }}-access.log
apache-binary = {{ parameter_dict['apache'] }}/bin/httpd
apache-binary = {{ parameter_dict['apache'] }}/bin/httpd
[{{ section('logrotate-entry-apache-public-' ~ backend_name) }}]
[{{ section('logrotate-entry-apache-public-' ~ backend_name) }}]
...
@@ -387,7 +417,7 @@ recipe = slapos.cookbook:logrotate.d
...
@@ -387,7 +417,7 @@ recipe = slapos.cookbook:logrotate.d
name = apache-public-{{ backend_name }}
name = apache-public-{{ backend_name }}
log = ${apache-public-{{ backend_name }}:error-log} ${apache-public-{{ backend_name }}:access-log}
log = ${apache-public-{{ backend_name }}:error-log} ${apache-public-{{ backend_name }}:access-log}
post = {{ bin_directory }}/killpidfromfile ${apache-public-{{ backend_name }}:pid-file} SIGUSR1
post = {{ bin_directory }}/killpidfromfile ${apache-public-{{ backend_name }}:pid-file} SIGUSR1
{% endif %}
{% endif
-
%}
{% if 'https' in scheme -%}
{% if 'https' in scheme -%}
{% set section_name = 'apache-' ~ backend_name -%}
{% set section_name = 'apache-' ~ backend_name -%}
{% do publish_url_list.append(
{% do publish_url_list.append(
...
@@ -398,19 +428,19 @@ post = {{ bin_directory }}/killpidfromfile ${apache-public-{{ backend_name }}:pi
...
@@ -398,19 +428,19 @@ post = {{ bin_directory }}/killpidfromfile ${apache-public-{{ backend_name }}:pi
[{{ section(section_name) }}]
[{{ section(section_name) }}]
recipe = slapos.cookbook:apache.zope.backend
recipe = slapos.cookbook:apache.zope.backend
backend = http://${haproxy-{{ backend_name }}:ip}:${haproxy-{{ backend_name }}:port}
backend = http://${haproxy-{{ backend_name }}:ip}:${haproxy-{{ backend_name }}:port}
ip =
${slap-network-information:global-ipv6
}
ip =
{{ ipv6 }
}
port = {{ current_apache_port - 1 }}
port = {{ current_apache_port - 1 }}
wrapper = ${
root
directory:bin}/apache-{{ backend_name }}
wrapper = ${directory:bin}/apache-{{ backend_name }}
scheme = https
scheme = https
key-file = ${directory:apache-conf}/apache-{{ backend_name }}.key
key-file = ${directory:apache-conf}/apache-{{ backend_name }}.key
cert-file = ${directory:apache-conf}/apache-{{ backend_name }}.crt
cert-file = ${directory:apache-conf}/apache-{{ backend_name }}.crt
configuration-file = ${directory:apache-conf}/apache-{{ backend_name }}.conf
configuration-file = ${directory:apache-conf}/apache-{{ backend_name }}.conf
access-control-string = {{ backend_configuration['access-control-string'] }}
access-control-string = {{ backend_configuration['access-control-string'] }}
pid-file = ${
base
directory:run}/apache-{{ backend_name }}.pid
pid-file = ${directory:run}/apache-{{ backend_name }}.pid
lock-file = ${
base
directory:run}/apache-{{ backend_name }}.lock
lock-file = ${directory:run}/apache-{{ backend_name }}.lock
ssl-session-cache = $${
base
directory:log}/apache-ssl-session-cache
ssl-session-cache = $${directory:log}/apache-ssl-session-cache
error-log = ${
base
directory:log}/apache-{{ backend_name }}-error.log
error-log = ${directory:log}/apache-{{ backend_name }}-error.log
access-log = ${
base
directory:log}/apache-{{ backend_name }}-access.log
access-log = ${directory:log}/apache-{{ backend_name }}-access.log
apache-binary = {{ parameter_dict['apache'] }}/bin/httpd
apache-binary = {{ parameter_dict['apache'] }}/bin/httpd
ssl-authentication = {{ backend_configuration.get('ssl-authentication', False) }}
ssl-authentication = {{ backend_configuration.get('ssl-authentication', False) }}
backend-path = {{ backend_configuration.get('backend-path', '/') % {'site-id': site_id} }}
backend-path = {{ backend_configuration.get('backend-path', '/') % {'site-id': site_id} }}
...
@@ -424,7 +454,7 @@ recipe = slapos.cookbook:certificate_authority.request
...
@@ -424,7 +454,7 @@ recipe = slapos.cookbook:certificate_authority.request
key-file = ${apache-{{ backend_name }}:key-file}
key-file = ${apache-{{ backend_name }}:key-file}
cert-file = ${apache-{{ backend_name }}:cert-file}
cert-file = ${apache-{{ backend_name }}:cert-file}
executable = ${apache-{{ backend_name }}:wrapper}
executable = ${apache-{{ backend_name }}:wrapper}
wrapper = ${
base
directory:services}/apache-{{ backend_name }}
wrapper = ${directory:services}/apache-{{ backend_name }}
[{{ section('logrotate-entry-apache-' ~ backend_name) }}]
[{{ section('logrotate-entry-apache-' ~ backend_name) }}]
< = logrotate-base
< = logrotate-base
...
@@ -436,17 +466,16 @@ post = {{ bin_directory }}/killpidfromfile ${apache-{{ backend_name }}:pid-file}
...
@@ -436,17 +466,16 @@ post = {{ bin_directory }}/killpidfromfile ${apache-{{ backend_name }}:pid-file}
[{{ section('haproxy-' ~ backend_name) }}]
[{{ section('haproxy-' ~ backend_name) }}]
recipe = slapos.cookbook:haproxy
recipe = slapos.cookbook:haproxy
name = {{ backend_name }}
name = {{ backend_name }}
conf-path = ${
root
directory:etc}/haproxy-{{ backend_name }}.cfg
conf-path = ${directory:etc}/haproxy-{{ backend_name }}.cfg
ip =
${slap-network-information:local-ipv4
}
ip =
{{ ipv4 }
}
port = {{ current_haproxy_port }}
port = {{ current_haproxy_port }}
maxconn = {{ backend_configuration['maxconn'] }}
maxconn = {{ backend_configuration['maxconn'] }}
server-check-path = /{{ site_id }}/getId
server-check-path = /{{ site_id }}/getId
wrapper-path = ${
base
directory:services}/haproxy-{{ backend_name }}
wrapper-path = ${directory:services}/haproxy-{{ backend_name }}
binary-path = {{ parameter_dict['haproxy'] }}/sbin/haproxy
binary-path = {{ parameter_dict['haproxy'] }}/sbin/haproxy
backend-list = {{ haproxy_backend_list | join(' ')}}
backend-list = {{ haproxy_backend_list | join(' ')}}
{% endif -%}
{%- endif %}
{% endfor %}
{% endfor -%}
[{{ section('publish-apache-backend-list') }}]
[{{ section('publish-apache-backend-list') }}]
recipe = slapos.cookbook:publish
recipe = slapos.cookbook:publish
{{ publish_url_list | join('\n') }}
{{ publish_url_list | join('\n') }}
...
@@ -458,17 +487,17 @@ recipe = slapos.cookbook:publish
...
@@ -458,17 +487,17 @@ recipe = slapos.cookbook:publish
recipe = slapos.cookbook:tidstorage
recipe = slapos.cookbook:tidstorage
known-tid-storage-identifier-dict = {{ known_tid_storage_identifier_dict }}
known-tid-storage-identifier-dict = {{ known_tid_storage_identifier_dict }}
base-url = http://${zope-admin:ip}:${zope-admin:port}/%s/serialize
base-url = http://${zope-admin:ip}:${zope-admin:port}/%s/serialize
configuration-path = ${
root
directory:etc}/tidstorage.py
configuration-path = ${directory:etc}/tidstorage.py
ip =
${slap-network-information:local-ipv4
}
ip =
{{ ipv4 }
}
port = 6001
port = 6001
timestamp-file-path = ${directory:tidstorage}/repozo_tidstorage_timestamp.log
timestamp-file-path = ${directory:tidstorage}/repozo_tidstorage_timestamp.log
logfile-name = ${
base
directory:log}/tidstorage.log
logfile-name = ${directory:log}/tidstorage.log
pidfile-name = ${
base
directory:run}/tidstorage.pid
pidfile-name = ${directory:run}/tidstorage.pid
status-file = ${directory:tidstorage}/tidstorage.tid
status-file = ${directory:tidstorage}/tidstorage.tid
tidstorage-repozo-binary = {{ bin_directory }}/tidstorage_repozo
tidstorage-repozo-binary = {{ bin_directory }}/tidstorage_repozo
tidstoraged-binary = {{ bin_directory }}/tidstoraged
tidstoraged-binary = {{ bin_directory }}/tidstoraged
repozo-binary = {{ bin_directory }}/repozo
repozo-binary = {{ bin_directory }}/repozo
tidstorage-wrapper = ${
base
directory:services}/tidstoraged
tidstorage-wrapper = ${directory:services}/tidstoraged
repozo-wrapper = ${buildout:bin-directory}/tidstorage-repozo
repozo-wrapper = ${buildout:bin-directory}/tidstorage-repozo
[cron-entry-tidstorage-backup]
[cron-entry-tidstorage-backup]
...
@@ -506,5 +535,4 @@ parts =
...
@@ -506,5 +535,4 @@ parts =
eggs-directory = {{ eggs_directory }}
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
offline = true
{%- endif %}
{% endif %}
software/erp5/instance-varnish.cfg.in
View file @
ba5da9ec
{% if software_type == slap
parameter_dict['slap_software_type']
-%}
{% if software_type == slap
_software_type
-%}
{% set web_checker_parameter = slapparameter_dict['web-checker-mail-address'] -%}
{% set web_checker_parameter = slapparameter_dict['web-checker-mail-address'] -%}
[buildout]
[buildout]
parts =
parts =
...
...
software/erp5/instance.cfg.in
View file @
ba5da9ec
...
@@ -7,7 +7,7 @@ develop-eggs-directory = {{ develop_eggs_directory }}
...
@@ -7,7 +7,7 @@ develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
offline = true
[slap-parameters]
[slap-parameters]
recipe = slapos.cookbook:slap
parameters
recipe = slapos.cookbook:slap
configuration
computer = ${slap-connection:computer-id}
computer = ${slap-connection:computer-id}
partition = ${slap-connection:partition-id}
partition = ${slap-connection:partition-id}
url = ${slap-connection:server-url}
url = ${slap-connection:server-url}
...
@@ -21,7 +21,8 @@ extra-context =
...
@@ -21,7 +21,8 @@ extra-context =
context =
context =
key eggs_directory buildout:eggs-directory
key eggs_directory buildout:eggs-directory
key develop_eggs_directory buildout:develop-eggs-directory
key develop_eggs_directory buildout:develop-eggs-directory
jsonkey slapparameter_dict slap-parameters:json
key slap_software_type slap-parameters:slap-software-type
key slapparameter_dict slap-parameters:configuration
${:extra-context}
${:extra-context}
[dynamic-template-tidstorage-parameters]
[dynamic-template-tidstorage-parameters]
...
@@ -47,6 +48,7 @@ aspell = {{ aspell_location }}
...
@@ -47,6 +48,7 @@ aspell = {{ aspell_location }}
poppler = {{ poppler_location }}
poppler = {{ poppler_location }}
dmtx-utils = {{ dmtx_utils_location }}
dmtx-utils = {{ dmtx_utils_location }}
buildout-bin-directory = {{ buildout_bin_directory }}
buildout-bin-directory = {{ buildout_bin_directory }}
zope-conf-template = {{ template_zope_conf }}
[dynamic-template-tidstorage]
[dynamic-template-tidstorage]
< = jinja2-template-base
< = jinja2-template-base
...
@@ -60,6 +62,8 @@ extra-context =
...
@@ -60,6 +62,8 @@ extra-context =
raw zeo_port_base 15000
raw zeo_port_base 15000
raw haproxy_port_base 11000
raw haproxy_port_base 11000
raw apache_port_base 10000
raw apache_port_base 10000
key ipv4_set slap-parameters:ipv4
key ipv6_set slap-parameters:ipv6
# Must match the key id in [switch-softwaretype] which uses this section.
# Must match the key id in [switch-softwaretype] which uses this section.
raw software_type tidstorage
raw software_type tidstorage
...
...
software/erp5/software.cfg
View file @
ba5da9ec
...
@@ -28,7 +28,7 @@ unzip = true
...
@@ -28,7 +28,7 @@ unzip = true
[slapos.cookbook-repository]
[slapos.cookbook-repository]
recipe = plone.recipe.command
recipe = plone.recipe.command
stop-on-error = true
stop-on-error = true
branch = erp5
branch = erp5
-component
revision =
revision =
location = ${buildout:parts-directory}/${:_buildout_section_name_}
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = "${git:location}/bin/git" clone --branch "${:branch}" --quiet http://git.erp5.org/repos/slapos.git "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
command = "${git:location}/bin/git" clone --branch "${:branch}" --quiet http://git.erp5.org/repos/slapos.git "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}" ; fi
...
@@ -132,24 +132,30 @@ extra-context =
...
@@ -132,24 +132,30 @@ extra-context =
[template-tidstorage]
[template-tidstorage]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
md5sum =
34e7ba946640e5aec08d72634b25128f
md5sum =
4e99979af04da930842d4ebd0d114a29
mode = 640
mode = 640
[template-cloudooo]
[template-cloudooo]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
md5sum =
aea927d5d3363177fd1017c4b89838d7
md5sum =
d3b3afac9099823ba2853070324a29c8
mode = 640
mode = 640
# Additional Configuration
# Additional Configuration
configurator_bt5_list = erp5_core_proxy_field_legacy erp5_full_text_myisam_catalog erp5_base erp5_workflow erp5_configurator erp5_configurator_standard erp5_configurator_maxma_demo erp5_configurator_ung
configurator_bt5_list = erp5_core_proxy_field_legacy erp5_full_text_myisam_catalog erp5_base erp5_workflow erp5_configurator erp5_configurator_standard erp5_configurator_maxma_demo erp5_configurator_ung
[template-zope-conf]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/zope.conf.in
md5sum = 98852d8e717941a4c994d36d2c8961d0
mode = 640
[template]
[template]
< = template-jinja2-base
< = template-jinja2-base
# XXX: "template.cfg" is hardcoded in instanciation recipe
# XXX: "template.cfg" is hardcoded in instanciation recipe
filename = template.cfg
filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
template = ${:_profile_base_location_}/instance.cfg.in
md5sum =
9cc3d209a4848a201fd8c29a366de643
md5sum =
d9b0d9105a4a55e6fca32e5b550d12f2
extra-context =
extra-context =
key apache_location apache:location
key apache_location apache:location
key aspell_location aspell:location
key aspell_location aspell:location
...
@@ -195,6 +201,7 @@ extra-context =
...
@@ -195,6 +201,7 @@ extra-context =
key template_tidstorage template-tidstorage:target
key template_tidstorage template-tidstorage:target
key template_varnish template-varnish:target
key template_varnish template-varnish:target
key template_zope template-zope:rendered
key template_zope template-zope:rendered
key template_zope_conf template-zope-conf:target
key tesseract_location tesseract:location
key tesseract_location tesseract:location
key w3m_location w3m:location
key w3m_location w3m:location
key zlib_location zlib:location
key zlib_location zlib:location
...
@@ -228,7 +235,7 @@ extra-context =
...
@@ -228,7 +235,7 @@ extra-context =
[template-varnish]
[template-varnish]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-varnish.cfg.in
url = ${:_profile_base_location_}/instance-varnish.cfg.in
md5sum =
ea07f22c97e50105a88380da3b92b5e6
md5sum =
17aee2df57b121343b1fd65f4b51ce80
mode = 640
mode = 640
...
...
software/erp5/zope.conf.in
0 → 100644
View file @
ba5da9ec
# Note: Environment is setup in running wrapper script, as zope.conf is read
# too late for some components.
%define INSTANCE {{ instance }}
instancehome $INSTANCE
zserver-threads {{ parameter_dict['thread-amount'] }}
lock-filename {{ parameter_dict['lock-file'] }}
pid-filename {{ parameter_dict['pid-file'] }}
default-zpublisher-encoding utf-8
rest-input-encoding utf-8
rest-output-encoding utf-8
# XXX: isn't this entry implicit ?
products {{ instance_products }}
{% for product in parameter_dict['products'].split() -%}
{% if product.strip() -%}
products {{ product }}
{% endif -%}
{% endfor -%}
<http-server>
address {{ parameter_dict['ip'] }}:{{ parameter_dict['port'] }}
</http-server>
{# TODO: enable
{% if webdav_port -%}
<webdav-source-server>
address {{ parameter_dict['ip'] }}:{{ parameter_dict['webdav_port'] }}
force-connection-close off
</webdav-source-server>
{% endif -%}
-#}
<zoperunner>
program $INSTANCE/bin/runzope
</zoperunner>
<product-config DeadlockDebugger>
dump_url /manage_debug_threads
secret {{ deadlock_debugger_password }}
</product-config>
{% if tidstorage_ip -%}
<product-config TIDStorage>
backend-ip {{ tidstorage_ip }}
backend-port {{ tidstorage_port }}
</product-config>
{% endif -%}
{# BBB: should not have to compare those values to begin with: just take a
parameter with timerserver interval, empty string meaning disabled -#}
{% if parameter_dict['timeserver'] in ('y', 'yes', '1', 'true') -%}
%import timerserver
<timer-server>
interval 1
</timer-server>
{% endif -%}
{% if promise_path -%}
<product-config /{{ parameter_dict['site-id'] }}>
promise_path {{ promise_path }}
</product-config>
{% endif -%}
<eventlog>
level info
<logfile>
dateformat
path {{ parameter_dict['event-log'] }}
</logfile>
</eventlog>
<logger access>
level WARN
<logfile>
dateformat
path {{ parameter_dict['z2-log'] }}
</logfile>
</logger>
<zodb_db temporary>
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
{% for db_name, mount_point, cache_size, storage_type, storage_dict in json_module.loads(parameter_dict['zodb-list']) -%}
<zodb_db {{ db_name }}>
{%- if cache_size %}
cache-size {{ cache_size }}
{%- endif %}
mount-point {{ mount_point }}
<{{ storage_type }}>
{%- for key, value in storage_dict.iteritems() %}
{{ key }} {{ value }}
{%- endfor %}
</{{ storage_type }}>
</zodb_db>
{% endfor -%}
software/erp5testnode/software.cfg
View file @
ba5da9ec
...
@@ -106,7 +106,14 @@ mode = 0644
...
@@ -106,7 +106,14 @@ mode = 0644
md5sum = 2349e62d4fa46fc88e05d855f49b7c38
md5sum = 2349e62d4fa46fc88e05d855f49b7c38
[networkcache]
[networkcache]
# Romain Courteaud + Sebastien Robin + Antoine Catton signature certificate
# signature certificates of the following uploaders.
# Romain Courteaud
# Sebastien Robin
# Kazuhiko Shiozaki
# Cedric de Saint Martin
# Yingjie Xu
# Gabriel Monnerat
# Antoine Catton
signature-certificate-list =
signature-certificate-list =
-----BEGIN CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
...
@@ -135,6 +142,58 @@ signature-certificate-list =
...
@@ -135,6 +142,58 @@ signature-certificate-list =
hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg==
hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg==
-----END CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB7jCCAVegAwIBAgIJAJWA0jQ4o9DGMA0GCSqGSIb3DQEBBQUAMA8xDTALBgNV
BAMMBHg2MXMwIBcNMTExMTI0MTAyNDQzWhgPMjExMTEwMzExMDI0NDNaMA8xDTAL
BgNVBAMMBHg2MXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANdJNiFsRlkH
vq2kHP2zdxEyzPAWZH3CQ3Myb3F8hERXTIFSUqntPXDKXDb7Y/laqjMXdj+vptKk
3Q36J+8VnJbSwjGwmEG6tym9qMSGIPPNw1JXY1R29eF3o4aj21o7DHAkhuNc5Tso
67fUSKgvyVnyH4G6ShQUAtghPaAwS0KvAgMBAAGjUDBOMB0GA1UdDgQWBBSjxFUE
RfnTvABRLAa34Ytkhz5vPzAfBgNVHSMEGDAWgBSjxFUERfnTvABRLAa34Ytkhz5v
PzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAFLDS7zNhlrQYSQO5KIj
z2RJe3fj4rLPklo3TmP5KLvendG+LErE2cbKPqnhQ2oVoj6u9tWVwo/g03PMrrnL
KrDm39slYD/1KoE5kB4l/p6KVOdeJ4I6xcgu9rnkqqHzDwI4v7e8/D3WZbpiFUsY
vaZhjNYKWQf79l6zXfOvphzJ
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT
MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB
D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1
P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O
BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp
cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr
b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV
Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby
If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAIlBksrZVkK8MA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
BAMMCENPTVAtMzU3MCAXDTEyMDEyNjEwNTUyOFoYDzIxMTIwMTAyMTA1NTI4WjAT
MREwDwYDVQQDDAhDT01QLTM1NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
ts+iGUwi44vtIfwXR8DCnLtHV4ydl0YTK2joJflj0/Ws7mz5BYkxIU4fea/6+VF3
i11nwBgYgxQyjNztgc9u9O71k1W5tU95yO7U7bFdYd5uxYA9/22fjObaTQoC4Nc9
mTu6r/VHyJ1yRsunBZXvnk/XaKp7gGE9vNEyJvPn2bkCAwEAAaNQME4wHQYDVR0O
BBYEFKuGIYu8+6aEkTVg62BRYaD11PILMB8GA1UdIwQYMBaAFKuGIYu8+6aEkTVg
62BRYaD11PILMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMoTRpBxK
YLEZJbofF7gSrRIcrlUJYXfTfw1QUBOKkGFFDsiJpEg4y5pUk1s5Jq9K3SDzNq/W
it1oYjOhuGg3al8OOeKFrU6nvNTF1BAvJCl0tr3POai5yXyN5jlK/zPfypmQYxE+
TaqQSGBJPVXYt6lrq/PRD9ciZgKLOwEqK8w=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAPHoWu90gbsgMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
BAMMCXZpZmlibm9kZTAeFw0xMjAzMTkyMzIwNTVaFw0xMzAzMTkyMzIwNTVaMBQx
EjAQBgNVBAMMCXZpZmlibm9kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
ozBijpO8PS5RTeKTzA90vi9ezvv4vVjNaguqT4UwP9+O1+i6yq1Y2W5zZxw/Klbn
oudyNzie3/wqs9VfPmcyU9ajFzBv/Tobm3obmOqBN0GSYs5fyGw+O9G3//6ZEhf0
NinwdKmrRX+d0P5bHewadZWIvlmOupcnVJmkks852BECAwEAAaNQME4wHQYDVR0O
BBYEFF9EtgfZZs8L2ZxBJxSiY6eTsTEwMB8GA1UdIwQYMBaAFF9EtgfZZs8L2ZxB
JxSiY6eTsTEwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAc43YTfc6
baSemaMAc/jz8LNLhRE5dLfLOcRSoHda8y0lOrfe4lHT6yP5l8uyWAzLW+g6s3DA
Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n
yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB8DCCAVmgAwIBAgIJAJ5iKK7w6AQVMA0GCSqGSIb3DQEBBQUAMBExDzANBgNV
MIIB8DCCAVmgAwIBAgIJAJ5iKK7w6AQVMA0GCSqGSIb3DQEBBQUAMBExDzANBgNV
BAMMBkNPTVAtMTAeFw0xMTExMjkxNjU1NDZaFw0xMjExMjgxNjU1NDZaMBExDzAN
BAMMBkNPTVAtMTAeFw0xMTExMjkxNjU1NDZaFw0xMjExMjgxNjU1NDZaMBExDzAN
BgNVBAMMBkNPTVAtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6IBOEnQP
BgNVBAMMBkNPTVAtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6IBOEnQP
...
...
software/tesseract/software.cfg
0 → 100644
View file @
ba5da9ec
# A simple software release to test if tesseract building works
[buildout]
extends =
../../stack/slapos.cfg
../../component/tesseract/buildout.cfg
\ No newline at end of file
stack/erp5.cfg
View file @
ba5da9ec
...
@@ -112,7 +112,6 @@ parts =
...
@@ -112,7 +112,6 @@ parts =
kumo
kumo
libreoffice-bin
libreoffice-bin
w3-validator
w3-validator
tesseract-eng-traineddata-unzip
tesseract
tesseract
hookbox
hookbox
bootstrap2.6
bootstrap2.6
...
@@ -242,10 +241,10 @@ recipe = plone.recipe.command
...
@@ -242,10 +241,10 @@ recipe = plone.recipe.command
location = ${buildout:parts-directory}/${:_buildout_section_name_}
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
stop-on-error = true
repository = http://git.erp5.org/repos/erp5.git
repository = http://git.erp5.org/repos/erp5.git
branch =
master
branch =
erp5-component
revision =
revision =
command =
${git:location}/bin/git clone --quiet --branch ${:branch} ${:repository} ${:location} && if [ -n "${:revision}" ]; then cd ${:location} && ${git:location}/bin/git reset --quiet --hard ${:revision}
; fi
command =
"${git:location}/bin/git" clone --quiet --branch "${:branch}" "${:repository}" "${:location}" && if [ -n "${:revision}" ]; then cd "${:location}" && "${git:location}/bin/git" reset --quiet --hard "${:revision}"
; fi
update-command = cd
${:location} && GIT_COMMITTER_EMAIL=nobody@example.com GIT_AUTHOR_NAME=Nobody GIT_AUTHOR_EMAIL=nobody@example.com ${git:location}/bin/git pull && if [ -n "${:revision}" ]; then echo "Resetting." ; cd ${:location} && ${git:location}/bin/git reset --hard ${:revision
} ; fi
update-command = cd
"${:location}" && "${git:location}/bin/git" fetch && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --hard @{upstream
} ; fi
[products]
[products]
# XXX: ERP5 related products are not defined as python distributions, so it is
# XXX: ERP5 related products are not defined as python distributions, so it is
...
@@ -440,7 +439,7 @@ scripts =
...
@@ -440,7 +439,7 @@ scripts =
[versions]
[versions]
# Use SlapOS patched zc.buildout
# Use SlapOS patched zc.buildout
zc.buildout = 1.6.0-dev-SlapOS-00
5
zc.buildout = 1.6.0-dev-SlapOS-00
6
# pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
# pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
Acquisition = 2.13.7nxd001
Acquisition = 2.13.7nxd001
...
...
stack/nbd.cfg
View file @
ba5da9ec
...
@@ -55,7 +55,7 @@ stop-on-error = true
...
@@ -55,7 +55,7 @@ stop-on-error = true
command =
command =
(${git:location}/bin/git clone --quiet http://git.erp5.org/repos/slapos.kvm.git ${:location} ) || (rm -fr ${:location} ; exit 1)
(${git:location}/bin/git clone --quiet http://git.erp5.org/repos/slapos.kvm.git ${:location} ) || (rm -fr ${:location} ; exit 1)
update-command =
update-command =
cd ${:location} && ${git:location}/bin/git pull --quiet origin master
cd "${:location}" && "${git:location}/bin/git" fetch --quiet && "${git:location}/bin/git" reset --hard --quiet @{upstream}
[instance-recipe]
[instance-recipe]
egg = slapos.cookbook
egg = slapos.cookbook
...
...
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