Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ivan Tyagov
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
Show 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 =
[groonga]
recipe = hexagonit.recipe.cmmi
url = http://packages.groonga.org/source/groonga/groonga-2.0.
2
.tar.gz
md5sum =
8791e4f0b08c8065d6836b2fb18a295a
url = http://packages.groonga.org/source/groonga/groonga-2.0.
3
.tar.gz
md5sum =
37c8539c78b19442a31a27cac0f15980
configure-options =
--disable-static
--disable-glibtest
...
...
component/haproxy/buildout.cfg
View file @
ba5da9ec
...
...
@@ -9,8 +9,8 @@ parts = haproxy
[haproxy]
recipe = hexagonit.recipe.cmmi
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.2
0
.tar.gz
md5sum =
0cd3b91812ff31ae09ec4ace6355e29e
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.2
1
.tar.gz
md5sum =
f36d5d13fd4a44ab454eee5d06cb38a2
configure-command = true
# If the system is running on Linux 2.6, we use "linux26" as the TARGET,
# 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]
parts = librsvg
extends =
../bzip2/buildout.cfg
../pkgconfig/buildout.cfg
../libxml2/buildout.cfg
../bzip2/buildout.cfg
../zlib/buildout.cfg
../gtk-2/buildout.cfg
../xorg/buildout.cfg
[libcroco]
recipe = hexagonit.recipe.cmmi
...
...
@@ -32,14 +33,7 @@ configure-options =
--disable-tools
--disable-gtk-doc-html
--enable-introspection=no
--with-bzlib=${bzip2:location}
--with-zlib=${zlib:location}
--with-ltdl-include=${libtool:location}/include
--with-ltdl-lib=${libtool:location}/lib
environment =
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
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 -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
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
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib
component/libtiff/buildout.cfg
View file @
ba5da9ec
...
...
@@ -17,6 +17,7 @@ md5sum = fae149cc9da35c598d8be897826dfc63
configure-options =
--disable-static
--without-x
--disable-lzma
environment =
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
component/libxml2/buildout.cfg
View file @
ba5da9ec
...
...
@@ -8,11 +8,12 @@ parts =
[libxml2]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.
7.8
.tar.gz
md5sum =
8127a65e8c3b08856093099b52599c86
url = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.
8.0
.tar.gz
md5sum =
c62106f02ee00b6437f0fb9d370c1093
configure-options =
--disable-static
--without-python
--without-lzma
--with-zlib=${zlib:location}
environment =
LDFLAGS = -Wl,-rpath=${zlib:location}/lib
component/mariadb/buildout.cfg
View file @
ba5da9ec
...
...
@@ -25,10 +25,10 @@ download-only = true
[mariadb]
recipe = hexagonit.recipe.cmmi
version = 5.5.2
3
version = 5.5.2
4
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
md5sum =
7074fa091b3c1489f45a5ddf12cd5e6f
md5sum =
caf9461227eeadd4e57cf3f2a74b1165
# compile directory is required to build mysql plugins.
keep-compile-dir = true
patch-options = -p0
...
...
@@ -44,6 +44,7 @@ configure-options =
-DWITH_ZLIB=system
-DWITH_READLINE=0
-DWITH_PIC=1
-DENABLE_DTRACE=0
-DWITH_EXTRA_CHARSETS=complex
-DWITH_EMBEDDED_SERVER=0
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
...
...
@@ -59,8 +60,8 @@ environment =
[mroonga-mariadb]
recipe = hexagonit.recipe.cmmi
url = https://github.com/downloads/mroonga/mroonga/mroonga-2.0
2
.tar.gz
md5sum =
295754cd477838395ef3cb9936e12ede
url = https://github.com/downloads/mroonga/mroonga/mroonga-2.0
3
.tar.gz
md5sum =
0f7c7035a0266fee8fc6d021145804b5
configure-options =
--with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version}
--with-mysql-config=${mariadb:location}/bin/mysql_config
...
...
component/openssl/buildout.cfg
View file @
ba5da9ec
...
...
@@ -28,8 +28,8 @@ download-only = true
[openssl]
recipe = hexagonit.recipe.cmmi
url = https://www.openssl.org/source/openssl-1.0.1
a
.tar.gz
md5sum = a
0104320c0997cd33e18b8ea798609d1
url = https://www.openssl.org/source/openssl-1.0.1
c
.tar.gz
md5sum = a
e412727c8c15b67880aef7bd2999b2e
patches =
${openssl-nodoc.patch:location}/${openssl-nodoc.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_}
recipe = hexagonit.recipe.cmmi
depends =
${gdbm:version}
version = 5.1
4.2
version = 5.1
6.0
url = http://www.cpan.org/src/5.0/perl-${:version}.tar.bz2
md5sum =
04a4c5d3c1f9f19d77daff8e8cd19a26
md5sum =
15a2f95fb27231e10998240f13acf961
siteprefix = ${buildout:parts-directory}/site_${:_buildout_section_name_}
patch-options = -p1
patches =
...
...
component/poppler/buildout.cfg
View file @
ba5da9ec
...
...
@@ -13,8 +13,8 @@ extends =
[poppler]
recipe = hexagonit.recipe.cmmi
md5sum =
12658f3308597e57f3faff538cc73baf
url = http://poppler.freedesktop.org/poppler-0.
18.4
.tar.gz
md5sum =
5bca54b9561bf5b14d9344efce2cd4f3
url = http://poppler.freedesktop.org/poppler-0.
20.0
.tar.gz
depends =
${libtiff:version}
configure-options =
...
...
component/python-2.6/buildout.cfg
View file @
ba5da9ec
...
...
@@ -10,6 +10,7 @@ extends =
../readline/buildout.cfg
../sqlite3/buildout.cfg
../zlib/buildout.cfg
../file/buildout.cfg
parts =
python2.6
...
...
@@ -45,9 +46,11 @@ configure-options =
--enable-unicode=ucs4
--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 =
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]
recipe = zc.recipe.egg
...
...
component/python-2.7/buildout.cfg
View file @
ba5da9ec
...
...
@@ -9,6 +9,7 @@ extends =
../readline/buildout.cfg
../sqlite3/buildout.cfg
../zlib/buildout.cfg
../file/buildout.cfg
parts =
python2.7
...
...
@@ -44,6 +45,8 @@ configure-options =
--with-system-expat
--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 =
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 =
[sqlite3]
recipe = hexagonit.recipe.cmmi
url = http://www.sqlite.org/sqlite-autoconf-3071
100
.tar.gz
md5sum =
0552d71bda98ebdcaea305cd6058221b
url = http://www.sqlite.org/sqlite-autoconf-3071
201
.tar.gz
md5sum =
eb7bbd258913518ad30971ea7ecb0ca9
configure-options =
--disable-static
--enable-readline
...
...
component/tesseract/buildout.cfg
View file @
ba5da9ec
[buildout]
extends =
../automake/buildout.cfg
../libtool/buildout.cfg
../leptonica/buildout.cfg
../jbigkit/buildout.cfg
../libjpeg/buildout.cfg
../libpng/buildout.cfg
../libtiff/buildout.cfg
../zlib/buildout.cfg
parts =
tesseract-eng-traineddata-unzip
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]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
...
...
@@ -27,32 +15,44 @@ download-only = true
filename = tesseract-3.00-gcc-4.7-build.patch
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]
recipe = hexagonit.recipe.cmmi
url = http://tesseract-ocr.googlecode.com/files/tesseract-3.0
0
.tar.gz
md5sum =
cc812a261088ea0c3d2da735be35d09f
url = http://tesseract-ocr.googlecode.com/files/tesseract-3.0
1
.tar.gz
md5sum =
1ba496e51a42358fb9d3ffe781b2d20a
patch-options =
-p1
patches =
${tesseract-gcc-4.7-build-patch:location}/${tesseract-gcc-4.7-build-patch:filename}
depends =
${libtiff:version}
configure-options =
--disable-static
--datarootdir=${tesseract-share:location}
${tesseract-3.01-remove-bom.patch:location}/${tesseract-3.01-remove-bom.patch:filename}
configure-command =
aclocal -I ${libtool:location}/share/aclocal -I config
libtoolize -f -c
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 =
CPPFLAGS=-I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libpng:location}/include
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
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s
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]
recipe = hexagonit.recipe.download
download-only = true
url = http://tesseract-ocr.googlecode.com/files/eng.traineddata.gz
md5sum = d91041ad156cf2db36664e91ef799451
[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
strip-top-level-dir = true
url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz
md5sum = 89c139a73e0e7b1225809fc7b226b6c9
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,
'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed'
,
'shell = slapos.recipe.shell:Recipe'
,
'shellinabox = slapos.recipe.shellinabox:Recipe'
,
'slapconfiguration = slapos.recipe.slapconfiguration:Recipe'
,
'symbolic.link = slapos.recipe.symbolic_link:Recipe'
,
'softwaretype = slapos.recipe.softwaretype:Recipe'
,
'siptester = slapos.recipe.siptester:SipTesterRecipe'
,
...
...
@@ -129,7 +130,6 @@ setup(name=name,
'erp5.test = slapos.recipe.erp5_test:Recipe'
,
'generic.varnish = slapos.recipe.generic_varnish:Recipe'
,
'webchecker = slapos.recipe.web_checker:Recipe'
,
'slapparameters = slapos.recipe.slapparameters:Recipe'
,
],
'slapos.recipe.nosqltestbed.plugin'
:
[
'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):
class
Recipe
(
GenericBaseRecipe
):
def
_options
(
self
,
options
):
options
[
'password'
]
=
self
.
generatePassword
()
options
[
'deadlock-password'
]
=
self
.
generatePassword
()
def
install
(
self
):
"""
...
...
@@ -91,25 +90,6 @@ class Recipe(GenericBaseRecipe):
# Always provide a URL-Type
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
(
TMP
=
self
.
options
[
'tmp-path'
],
TMPDIR
=
self
.
options
[
'tmp-path'
],
...
...
@@ -134,44 +114,7 @@ class Recipe(GenericBaseRecipe):
# configure default Zope2 zcml
open
(
self
.
options
[
'site-zcml'
],
'w'
).
write
(
open
(
self
.
getTemplateFilename
(
'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
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
slapos/recipe/request.py
View file @
ba5da9ec
...
...
@@ -51,6 +51,10 @@ class Recipe(object):
software-url
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)
Set to "true" when requesting a slave instance, ie just setting a set of
parameters in an existing instance.
...
...
slapos/recipe/slap
parameters
.py
→
slapos/recipe/slap
configuration
.py
View file @
ba5da9ec
...
...
@@ -25,13 +25,8 @@
#
##############################################################################
import
slapos.slap
import
json
from
ConfigParser
import
RawConfigParser
cast_dict
=
{
'json'
:
(
True
,
json
.
dumps
),
'str'
:
(
False
,
str
),
}
from
netaddr
import
valid_ipv4
,
valid_ipv6
class
Recipe
(
object
):
"""
...
...
@@ -39,6 +34,8 @@ class Recipe(object):
buildout section in various ways, and in various encodings.
Populates the buildout section it is used in with all slap partition
parameters.
Also provides access to partition properties: all IPv4, IPv6 and tap
interfaces it is allowed to use.
Input:
url
...
...
@@ -59,29 +56,28 @@ class Recipe(object):
Partition identifier.
Example:
${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:
One key per supported serialisation format, with all partition parameters
serialised in that format as values and format's name.
Also, one key per partition parameter, prefixed with serialisation format
followed by a dot. Example:
json = {"foo": "bar"}
json.foo = "bar"
Supported serailisation formats:
json (safe)
JavaScript Object Notation
str (unsafe)
Python string representation.
slap-software-type
Current partition's software type.
ipv4
Set of IPv4 addresses.
ipv6
Set of IPv6 addresses.
tap
Set of TAP interfaces.
configuration
Dict of all parameters.
configuration.<key>
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
# assumes buildout uses ConfigParser - which is currently the case.
OPTCRE
=
RawConfigParser
.
OPTCRE
OPTCRE
_match
=
RawConfigParser
.
OPTCRE
.
match
def
__init__
(
self
,
buildout
,
name
,
options
):
slap
=
slapos
.
slap
.
slap
()
...
...
@@ -94,21 +90,31 @@ class Recipe(object):
options
[
'computer'
],
options
[
'partition'
],
).
getInstanceParameterDict
()
allow_unsafe
=
bool
(
int
(
options
.
get
(
'unsafe'
,
'0'
)))
match
=
self
.
OPTCRE
.
match
for
name
,
(
safe
,
cast
)
in
cast_dict
.
iteritems
():
if
not
safe
and
not
allow_unsafe
:
continue
options
[
name
]
=
cast
(
parameter_dict
)
# XXX: those are not partition parameters, strictly speaking.
# Discard them, and make them available as separate section keys.
options
[
'slap-software-type'
]
=
parameter_dict
.
pop
(
'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
:
# 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
[]
options
[
'configuration.'
+
key
]
=
value
update
=
install
install
=
update
=
lambda
self
:
[]
slapos/recipe/testnode/profile_testnode.py
View file @
ba5da9ec
...
...
@@ -126,8 +126,8 @@ def run(args):
subprocess
.
check_call
([
config
[
'git_binary'
],
'checkout'
,
'--force'
,
'--track'
,
'-b'
,
config
[
'branch'
],
'origin/'
+
config
[
'branch'
]],
cwd
=
repository_clone
)
subprocess
.
check_call
([
config
[
'git_binary'
],
'
pull'
,
'--rebase'
]
,
cwd
=
repository_clone
)
subprocess
.
check_call
([
config
[
'git_binary'
],
'
reset'
,
'--hard'
,
'@{upstream}'
],
cwd
=
repository_clone
)
except
Exception
:
print
'Retrying git in 60s'
time
.
sleep
(
60
)
...
...
software/cloudooo/instance.cfg.in
View file @
ba5da9ec
...
...
@@ -6,14 +6,6 @@ eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
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]
recipe = slapos.recipe.template:jinja2
rendered = ${buildout:parts-directory}/${:_buildout_section_name_}/${:filename}
...
...
@@ -21,7 +13,6 @@ extra-context =
context =
key eggs_directory buildout:eggs-directory
key develop_eggs_directory buildout:develop-eggs-directory
jsonkey slapparameter_dict slap-parameters:json
${:extra-context}
[dynamic-template-cloudooo-parameters]
...
...
@@ -53,8 +44,6 @@ filename = instance-cloudoo.cfg
extra-context =
section parameter_dict dynamic-template-cloudooo-parameters
import json_module json
# Must match the key id in [switch-softwaretype] which uses this section.
raw software_type default
[switch-softwaretype]
recipe = slapos.cookbook:softwaretype
...
...
software/cloudooo/software.cfg
View file @
ba5da9ec
...
...
@@ -68,7 +68,7 @@ context =
# XXX: "template.cfg" is hardcoded in instanciation recipe
filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
md5sum =
5c4efb6deb981401d131eaf70a7c6f76
md5sum =
843e8ab2bd35c585fa22eee4e83f4e6e
extra-context =
key buildout_bin_directory buildout:bin-directory
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 bin_directory = parameter_dict['buildout-bin-directory'] -%}
[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.
-#}
{% set current_zeo_port = zeo_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_haproxy_port = haproxy_port_base | int -%}
{% set json = json_module.loads(slapparameter_dict['json']) -%}
{% 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
backward compatibility with existing automatically setup CAs.
-#}
...
...
@@ -33,79 +39,85 @@ backward compatibility with existing automatically setup CAs.
longrequest_logger_timeout='',
longrequest_logger_interval=''
) -%}
[{{ section(name) }}]
< = zope-base
{% do zope_dummy_list.append(None) %}
{% set offset = zope_dummy_list | length %}
{% set conf_name = name ~ '-conf' -%}
{% set conf_parameter_name = conf_name ~ '-param' -%}
[{{ conf_parameter_name }}]
< = 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 }}
thread-amount = {{ thread_amount }}
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-timeout = {{ longrequest_logger_timeout }}
longrequest-logger-interval = {{ longrequest_logger_interval }}
wrapper = ${basedirectory:services}/{{ name }}
pid-file = ${basedirectory:run}/{{ name }}.pid
lock-file = ${basedirectory:run}/{{ name }}.lock
event-log = ${basedirectory:log}/{{ name }}-event.log
z2-log = ${basedirectory:log}/{{ name }}-Z2.log
configuration-file = ${rootdirectory:etc}/{{ name }}.conf
wrapper = ${directory:services}/{{ name }}
configuration-file = {{ '${' ~ conf_name ~ ':rendered}' }}
port = {{ '${' ~ conf_parameter_name ~ ':port}' }}
[{{ section('logrotate-entry-' ~ name) }}]
< = logrotate-base
recipe = slapos.cookbook:logrotate.d
name = {{ name }}
log = {{ '${' ~
name ~ ':event-log}' }} {{ '${' ~
name ~ ':z2-log}' }}
post = {{ bin_directory }}/killpidfromfile {{ '${' ~ name ~ ':pid-file}' }} SIGUSR2
log = {{ '${' ~
conf_parameter_name ~ ':event-log}' }} {{ '${' ~ conf_parameter_
name ~ ':z2-log}' }}
post = {{ bin_directory }}/killpidfromfile {{ '${' ~
conf_parameter_
name ~ ':pid-file}' }} SIGUSR2
{% endmacro -%}
#############################
# 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]
recipe = slapos.cookbook:mkdirectory
tidstorage = ${rootdirectory:srv}/tidstorage
zodb = ${rootdirectory:srv}/zodb
zodb-backup = ${basedirectory:backup}/zodb
instance = ${rootdirectory:srv}/erp5shared
apache-conf = ${:etc}/apache
backup = ${:srv}/backup
bin = ${buildout:directory}/bin
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
apache-conf = ${rootdirectory:etc}/apache
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-constraint = ${:instance}/Constraint
instance-import = ${:instance}/import
instance-lib = ${:instance}/lib
instance-products = ${:instance}/Products
instance-propertysheet = ${:instance}/PropertySheet
instance-tests = ${:instance}/tests
erp5-ca-dir = ${rootdirectory:srv}/erp5-ssl
ca-dir = ${rootdirectory:srv}/ssl
cron-entries = ${rootdirectory:etc}/cron.d
crontabs = ${rootdirectory:etc}/crontabs
cronstamps = ${rootdirectory:etc}/cronstamps
logrotate-backup = ${basedirectory:backup}/logrotate
logrotate-entries = ${rootdirectory:etc}/logrotate.d
log = ${:var}/log
logrotate-backup = ${:backup}/logrotate
logrotate-entries = ${:etc}/logrotate.d
run = ${:var}/run
services = ${:etc}/run
srv = ${buildout:directory}/srv
tidstorage = ${:srv}/tidstorage
tmp = ${buildout:directory}/tmp
var = ${buildout:directory}/var
zodb = ${:srv}/zodb
zodb-backup = ${:backup}/zodb
#############################
# Binary symlinking
#############################
[binary-link]
recipe = slapos.cookbook:symbolic.link
target-directory = ${
root
directory:bin}
target-directory = ${directory:bin}
link-binary =
{{ parameter_dict['coreutils'] }}/bin/basename
{{ parameter_dict['coreutils'] }}/bin/cat
...
...
@@ -145,7 +157,7 @@ recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl
ca-dir = ${directory:ca-dir}
requests-directory = ${cadirectory:requests}
wrapper = ${
base
directory:services}/ca
wrapper = ${directory:services}/ca
ca-private = ${cadirectory:private}
ca-certs = ${cadirectory:certs}
ca-newcerts = ${cadirectory:newcerts}
...
...
@@ -167,7 +179,7 @@ recipe = slapos.cookbook:certificate_authority
openssl-binary = {{ parameter_dict['openssl'] }}/bin/openssl
ca-dir = ${directory:erp5-ca-dir}
requests-directory = ${erp5-cadirectory:requests}
wrapper = ${
base
directory:services}/erp5-ca
wrapper = ${directory:services}/erp5-ca
ca-private = ${erp5-cadirectory:private}
ca-certs = ${erp5-cadirectory:certs}
ca-newcerts = ${erp5-cadirectory:newcerts}
...
...
@@ -191,12 +203,12 @@ dcrond-binary = {{ parameter_dict['dcron'] }}/sbin/crond
crontabs = ${directory:crontabs}
cronstamps = ${directory:cronstamps}
catcher = ${cron-simplelogger:wrapper}
binary = ${
base
directory:services}/crond
binary = ${directory:services}/crond
[cron-simplelogger]
recipe = slapos.cookbook:simplelogger
wrapper = ${
root
directory:bin}/cron_simplelogger
log = ${
base
directory:log}/cron.log
wrapper = ${directory:bin}/cron_simplelogger
log = ${directory:log}/cron.log
#############################
# Logrotate
...
...
@@ -213,9 +225,9 @@ logrotate-binary = {{ parameter_dict['logrotate'] }}/usr/sbin/logrotate
gzip-binary = {{ parameter_dict['gzip'] }}/bin/gzip
gunzip-binary = {{ parameter_dict['gzip'] }}/bin/gunzip
# Directories
wrapper = ${
root
directory:bin}/logrotate
conf = ${
root
directory:etc}/logrotate.conf
state-file = ${
root
directory:srv}/logrotate.status
wrapper = ${directory:bin}/logrotate
conf = ${directory:etc}/logrotate.conf
state-file = ${directory:srv}/logrotate.status
[cron-entry-logrotate]
< = cron-base
...
...
@@ -229,7 +241,7 @@ command = ${logrotate:wrapper}
#############################
[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'] }}
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
#############################
[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'] }}
memcached-url = {{ slapparameter_dict['memcached-url'] }}
cloudooo-url = {{ slapparameter_dict['cloudooo-url'] }}
...
...
@@ -251,39 +263,41 @@ bt5-repository-url = ${slap-parameter:bt5-repository-url}
#############################
[zeo-instance-entry-common]
recipe = slapos.cookbook:zeo
ip =
${slap-network-information:local-ipv4
}
ip =
{{ ipv4 }
}
binary-path = {{ bin_directory }}/runzeo
{% for zeo_id, zeo_configuration_list in json['zeo'].iteritems() -%}
{% set current_zeo_port = current_zeo_port + 1 -%}
{% set storage_list = [] -%}
{% for zeo_slave in zeo_configuration_list -%}
{% do zodb_connection_list.append(
'zeo-cache-size=%(zeo-cache-size)s zope-cache-size=%(zope-cache-size)s '
'server=%(server)s mount-point=%(mount-point)s storage-name=%(storage-name)s' % {
'zope-cache-size': zeo_slave['zope-cache-size'],
'zeo-cache-size': zeo_slave['zeo-cache-size'],
'mount-point': zeo_slave['mount-point'] % {'site-id': site_id},
'storage-name': zeo_slave['storage-name'],
'server': '${zeo-instance-%(zeo-id)s:ip}:${zeo-instance-%(zeo-id)s:port}' % {'zeo-id': zeo_id},
}) -%}
{% do zodb_connection_list.append((
zeo_slave['storage-name'],
zeo_slave['mount-point'] % {'site-id': site_id},
zeo_slave['zope-cache-size'],
'zeoclient',
{
'cache-size': zeo_slave['zeo-cache-size'],
'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' -%}
{% 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')" % {
'ip': '${zeo-instance-%s:ip}' % zeo_id,
'port': '${zeo-instance-%s:port}' % zeo_id,
{% do known_tid_storage_identifier_dict.__setitem__("((('${zeo-instance-%(zeo_id)s:ip}', ${zeo-instance-%(zeo_id)s:port}),), '%(storage_name)s')" % {
'zeo_id': zeo_id,
'storage_name': zeo_slave['storage-name']
}, (zodb_path, '${directory:zodb-backup}/%s/' % zeo_slave['storage-name'], zeo_slave['serialize-path'] % {'site-id': site_id})) -%}
{% endfor -%}
{% set current_zeo_port = current_zeo_port + 1 -%}
[{{ section('zeo-instance-%s' % zeo_id) }}]
< = zeo-instance-entry-common
log-path = ${
base
directory:log}/zeo-{{ zeo_id }}.log
pid-path = ${
base
directory:run}/zeo-{{ zeo_id }}.pid
conf-path = ${
root
directory:etc}/zeo-{{ zeo_id }}.conf
log-path = ${directory:log}/zeo-{{ zeo_id }}.log
pid-path = ${directory:run}/zeo-{{ zeo_id }}.pid
conf-path = ${directory:etc}/zeo-{{ zeo_id }}.conf
port = {{ current_zeo_port }}
storage =
{{ 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) }}]
< = logrotate-base
...
...
@@ -293,36 +307,52 @@ log = ${zeo-instance-{{ zeo_id }}:log-path}
post = {{ bin_directory }}/killpidfromfile ${zeo-instance-{{ zeo_id }}:pid-path} SIGUSR2
{% endfor -%}
#############################
# Zope
#############################
[zope-base]
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
ip = ${slap-network-information:local-ipv4}
deadlock-path = /manage_debug_threads
ip = {{ ipv4 }}
timezone = {{ json['timezone'] }}
zeo-connection-string =
{{ zodb_connection_list | join('\n ') }}
tidstorage-ip = ${tidstorage:ip}
tidstorage-port = ${tidstorage:port}
instance-path = ${directory:instance}
instance-etc = ${directory:instance-etc}
instance-products = ${directory:instance-products}
bt5-repository = ${rootdirectory:var}/bt5_repository
tmp-path = ${rootdirectory:tmp}
bin-path = ${rootdirectory:bin}
bt5-repository = ${directory:var}/bt5_repository
tmp-path = ${directory:tmp}
bin-path = ${directory:bin}
site-zcml = ${:instance-etc}/site.zcml
inituser = ${
:instance-path
}/inituser
inituser = ${
directory:instance
}/inituser
runzope-binary = {{ bin_directory }}/runzope
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 }}
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
{{ zope('zope-distribution', timeserver=True) }}
# Admin node
...
...
@@ -330,7 +360,7 @@ site-id = {{ site_id }}
# Activity nodes
{% for q in range(1, json['activity']['zopecount'] + 1) -%}
{{ zope('zope-activity-%s' % q, timeserver=True) }}
{% endfor %}
{%
-
endfor %}
# Other zopes, apaches and haproxies
{% set publish_url_list = [] -%}
{% for backend_name, backend_configuration in json['backend'].iteritems() -%}
...
...
@@ -339,7 +369,7 @@ site-id = {{ site_id }}
{% for q in range(1, backend_configuration['zopecount'] + 1) -%}
{% set part_name = 'zope-%s-%s' % (backend_name, q) -%}
{% 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_interval = longrequest_logger.get('interval', '2') -%}
{% else -%}
...
...
@@ -355,7 +385,7 @@ site-id = {{ site_id }}
longrequest_logger_interval=longrequest_logger_interval,
) }}
{% 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 current_apache_port = current_apache_port + 2 -%}
{% set current_haproxy_port = current_haproxy_port + 1 -%}
...
...
@@ -369,16 +399,16 @@ site-id = {{ site_id }}
[{{ section(section_name) }}]
recipe = slapos.cookbook:apache.zope.backend
backend = http://${haproxy-{{ backend_name }}:ip}:${haproxy-{{ backend_name }}:port}
ip =
${slap-network-information:global-ipv6
}
ip =
{{ ipv6 }
}
port = {{ current_apache_port }}
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
access-control-string = {{ backend_configuration['access-control-string'] }}
pid-file = ${
base
directory:run}/apache-public-{{ backend_name }}.pid
lock-file = ${
base
directory:run}/apache-public-{{ backend_name }}.lock
error-log = ${
base
directory:log}/apache-public-{{ backend_name }}-error.log
access-log = ${
base
directory:log}/apache-public-{{ backend_name }}-access.log
pid-file = ${directory:run}/apache-public-{{ backend_name }}.pid
lock-file = ${directory:run}/apache-public-{{ backend_name }}.lock
error-log = ${directory:log}/apache-public-{{ backend_name }}-error.log
access-log = ${directory:log}/apache-public-{{ backend_name }}-access.log
apache-binary = {{ parameter_dict['apache'] }}/bin/httpd
[{{ section('logrotate-entry-apache-public-' ~ backend_name) }}]
...
...
@@ -387,7 +417,7 @@ recipe = slapos.cookbook:logrotate.d
name = apache-public-{{ backend_name }}
log = ${apache-public-{{ backend_name }}:error-log} ${apache-public-{{ backend_name }}:access-log}
post = {{ bin_directory }}/killpidfromfile ${apache-public-{{ backend_name }}:pid-file} SIGUSR1
{% endif %}
{% endif
-
%}
{% if 'https' in scheme -%}
{% set section_name = 'apache-' ~ backend_name -%}
{% do publish_url_list.append(
...
...
@@ -398,19 +428,19 @@ post = {{ bin_directory }}/killpidfromfile ${apache-public-{{ backend_name }}:pi
[{{ section(section_name) }}]
recipe = slapos.cookbook:apache.zope.backend
backend = http://${haproxy-{{ backend_name }}:ip}:${haproxy-{{ backend_name }}:port}
ip =
${slap-network-information:global-ipv6
}
ip =
{{ ipv6 }
}
port = {{ current_apache_port - 1 }}
wrapper = ${
root
directory:bin}/apache-{{ backend_name }}
wrapper = ${directory:bin}/apache-{{ backend_name }}
scheme = https
key-file = ${directory:apache-conf}/apache-{{ backend_name }}.key
cert-file = ${directory:apache-conf}/apache-{{ backend_name }}.crt
configuration-file = ${directory:apache-conf}/apache-{{ backend_name }}.conf
access-control-string = {{ backend_configuration['access-control-string'] }}
pid-file = ${
base
directory:run}/apache-{{ backend_name }}.pid
lock-file = ${
base
directory:run}/apache-{{ backend_name }}.lock
ssl-session-cache = $${
base
directory:log}/apache-ssl-session-cache
error-log = ${
base
directory:log}/apache-{{ backend_name }}-error.log
access-log = ${
base
directory:log}/apache-{{ backend_name }}-access.log
pid-file = ${directory:run}/apache-{{ backend_name }}.pid
lock-file = ${directory:run}/apache-{{ backend_name }}.lock
ssl-session-cache = $${directory:log}/apache-ssl-session-cache
error-log = ${directory:log}/apache-{{ backend_name }}-error.log
access-log = ${directory:log}/apache-{{ backend_name }}-access.log
apache-binary = {{ parameter_dict['apache'] }}/bin/httpd
ssl-authentication = {{ backend_configuration.get('ssl-authentication', False) }}
backend-path = {{ backend_configuration.get('backend-path', '/') % {'site-id': site_id} }}
...
...
@@ -424,7 +454,7 @@ recipe = slapos.cookbook:certificate_authority.request
key-file = ${apache-{{ backend_name }}:key-file}
cert-file = ${apache-{{ backend_name }}:cert-file}
executable = ${apache-{{ backend_name }}:wrapper}
wrapper = ${
base
directory:services}/apache-{{ backend_name }}
wrapper = ${directory:services}/apache-{{ backend_name }}
[{{ section('logrotate-entry-apache-' ~ backend_name) }}]
< = logrotate-base
...
...
@@ -436,17 +466,16 @@ post = {{ bin_directory }}/killpidfromfile ${apache-{{ backend_name }}:pid-file}
[{{ section('haproxy-' ~ backend_name) }}]
recipe = slapos.cookbook:haproxy
name = {{ backend_name }}
conf-path = ${
root
directory:etc}/haproxy-{{ backend_name }}.cfg
ip =
${slap-network-information:local-ipv4
}
conf-path = ${directory:etc}/haproxy-{{ backend_name }}.cfg
ip =
{{ ipv4 }
}
port = {{ current_haproxy_port }}
maxconn = {{ backend_configuration['maxconn'] }}
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
backend-list = {{ haproxy_backend_list | join(' ')}}
{% endif -%}
{% endfor %}
{%- endif %}
{% endfor -%}
[{{ section('publish-apache-backend-list') }}]
recipe = slapos.cookbook:publish
{{ publish_url_list | join('\n') }}
...
...
@@ -458,17 +487,17 @@ recipe = slapos.cookbook:publish
recipe = slapos.cookbook:tidstorage
known-tid-storage-identifier-dict = {{ known_tid_storage_identifier_dict }}
base-url = http://${zope-admin:ip}:${zope-admin:port}/%s/serialize
configuration-path = ${
root
directory:etc}/tidstorage.py
ip =
${slap-network-information:local-ipv4
}
configuration-path = ${directory:etc}/tidstorage.py
ip =
{{ ipv4 }
}
port = 6001
timestamp-file-path = ${directory:tidstorage}/repozo_tidstorage_timestamp.log
logfile-name = ${
base
directory:log}/tidstorage.log
pidfile-name = ${
base
directory:run}/tidstorage.pid
logfile-name = ${directory:log}/tidstorage.log
pidfile-name = ${directory:run}/tidstorage.pid
status-file = ${directory:tidstorage}/tidstorage.tid
tidstorage-repozo-binary = {{ bin_directory }}/tidstorage_repozo
tidstoraged-binary = {{ bin_directory }}/tidstoraged
repozo-binary = {{ bin_directory }}/repozo
tidstorage-wrapper = ${
base
directory:services}/tidstoraged
tidstorage-wrapper = ${directory:services}/tidstoraged
repozo-wrapper = ${buildout:bin-directory}/tidstorage-repozo
[cron-entry-tidstorage-backup]
...
...
@@ -506,5 +535,4 @@ parts =
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
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'] -%}
[buildout]
parts =
...
...
software/erp5/instance.cfg.in
View file @
ba5da9ec
...
...
@@ -7,7 +7,7 @@ develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
[slap-parameters]
recipe = slapos.cookbook:slap
parameters
recipe = slapos.cookbook:slap
configuration
computer = ${slap-connection:computer-id}
partition = ${slap-connection:partition-id}
url = ${slap-connection:server-url}
...
...
@@ -21,7 +21,8 @@ extra-context =
context =
key eggs_directory buildout: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}
[dynamic-template-tidstorage-parameters]
...
...
@@ -47,6 +48,7 @@ aspell = {{ aspell_location }}
poppler = {{ poppler_location }}
dmtx-utils = {{ dmtx_utils_location }}
buildout-bin-directory = {{ buildout_bin_directory }}
zope-conf-template = {{ template_zope_conf }}
[dynamic-template-tidstorage]
< = jinja2-template-base
...
...
@@ -60,6 +62,8 @@ extra-context =
raw zeo_port_base 15000
raw haproxy_port_base 11000
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.
raw software_type tidstorage
...
...
software/erp5/software.cfg
View file @
ba5da9ec
...
...
@@ -28,7 +28,7 @@ unzip = true
[slapos.cookbook-repository]
recipe = plone.recipe.command
stop-on-error = true
branch = erp5
branch = erp5
-component
revision =
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
...
...
@@ -132,24 +132,30 @@ extra-context =
[template-tidstorage]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
md5sum =
34e7ba946640e5aec08d72634b25128f
md5sum =
4e99979af04da930842d4ebd0d114a29
mode = 640
[template-cloudooo]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
md5sum =
aea927d5d3363177fd1017c4b89838d7
md5sum =
d3b3afac9099823ba2853070324a29c8
mode = 640
# 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
[template-zope-conf]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/zope.conf.in
md5sum = 98852d8e717941a4c994d36d2c8961d0
mode = 640
[template]
< = template-jinja2-base
# XXX: "template.cfg" is hardcoded in instanciation recipe
filename = template.cfg
template = ${:_profile_base_location_}/instance.cfg.in
md5sum =
9cc3d209a4848a201fd8c29a366de643
md5sum =
d9b0d9105a4a55e6fca32e5b550d12f2
extra-context =
key apache_location apache:location
key aspell_location aspell:location
...
...
@@ -195,6 +201,7 @@ extra-context =
key template_tidstorage template-tidstorage:target
key template_varnish template-varnish:target
key template_zope template-zope:rendered
key template_zope_conf template-zope-conf:target
key tesseract_location tesseract:location
key w3m_location w3m:location
key zlib_location zlib:location
...
...
@@ -228,7 +235,7 @@ extra-context =
[template-varnish]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-varnish.cfg.in
md5sum =
ea07f22c97e50105a88380da3b92b5e6
md5sum =
17aee2df57b121343b1fd65f4b51ce80
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
md5sum = 2349e62d4fa46fc88e05d855f49b7c38
[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 =
-----BEGIN CERTIFICATE-----
MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
...
...
@@ -135,6 +142,58 @@ signature-certificate-list =
hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg==
-----END 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
BAMMBkNPTVAtMTAeFw0xMTExMjkxNjU1NDZaFw0xMjExMjgxNjU1NDZaMBExDzAN
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 =
kumo
libreoffice-bin
w3-validator
tesseract-eng-traineddata-unzip
tesseract
hookbox
bootstrap2.6
...
...
@@ -242,10 +241,10 @@ recipe = plone.recipe.command
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
repository = http://git.erp5.org/repos/erp5.git
branch =
master
branch =
erp5-component
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
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
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: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]
# XXX: ERP5 related products are not defined as python distributions, so it is
...
...
@@ -440,7 +439,7 @@ scripts =
[versions]
# 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
Acquisition = 2.13.7nxd001
...
...
stack/nbd.cfg
View file @
ba5da9ec
...
...
@@ -55,7 +55,7 @@ stop-on-error = true
command =
(${git:location}/bin/git clone --quiet http://git.erp5.org/repos/slapos.kvm.git ${:location} ) || (rm -fr ${:location} ; exit 1)
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]
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