Commit 1dd3404d authored by Rafael Monnerat's avatar Rafael Monnerat

Merge branch 'erp5-component' into erp5

Conflicts:
	software/erp5/software.cfg
	stack/cloudooo.cfg
	stack/erp5/buildout.cfg
parents dd5b9f80 7b840d30
Changes Changes
======= =======
0.58 (Unreleased) 0.59 (Unreleased)
----------------- -----------------
0.58 (2012-07-06)
-----------------
* Agent rewrite. [Vincent Pelletier]
0.57 (2012-06-22) 0.57 (2012-06-22)
----------------- -----------------
......
...@@ -3,11 +3,11 @@ extends = ...@@ -3,11 +3,11 @@ extends =
../autoconf/buildout.cfg ../autoconf/buildout.cfg
../perl/buildout.cfg ../perl/buildout.cfg
parts = parts =
automake-1.11 automake
[automake-1.11] [automake]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
md5sum = 93ecb319f0365cb801990b00f658d026 md5sum = e620cb9e0259159341c0e0d6b712b67a
url = http://ftp.gnu.org/gnu/automake/automake-1.11.3.tar.gz url = http://ftp.gnu.org/gnu/automake/automake-1.12.2.tar.gz
environment = environment =
PATH =${autoconf:location}/bin:${perl:location}/bin:%(PATH)s PATH =${autoconf:location}/bin:${perl:location}/bin:%(PATH)s
...@@ -4,7 +4,19 @@ extends = ...@@ -4,7 +4,19 @@ extends =
parts = parts =
bison bison
[bison-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = ac06cbaa298ac686d0b0c04bc03e6ad8
download-only = true
filename = drop.gets.patch
[bison] [bison]
virtual-depends = ${bison-drop.gets.patch:md5sum}
patch-options = -p1
patches =
${bison-drop.gets.patch:location}/${bison-drop.gets.patch:filename}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/bison/bison-2.5.tar.bz2 url = http://ftp.gnu.org/gnu/bison/bison-2.5.tar.bz2
md5sum = 9dba20116b13fc61a0846b0058fbe004 md5sum = 9dba20116b13fc61a0846b0058fbe004
......
diff -ur bison-2.5.orig/lib/stdio.in.h bison-2.5/lib/stdio.in.h
--- bison-2.5.orig/lib/stdio.in.h 2011-05-15 00:23:46.000000000 +0200
+++ bison-2.5/lib/stdio.in.h 2012-07-23 16:30:56.366722487 +0200
@@ -181,7 +181,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
...@@ -14,8 +14,9 @@ download-only = true ...@@ -14,8 +14,9 @@ download-only = true
[ca-certificates] [ca-certificates]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
version = 20120212 version = 20120623
url = ftp://ftp.free.fr/mirrors/ftp.debian.org/pool/main/c/ca-certificates/ca-certificates_${:version}.tar.gz url = ftp://ftp.free.fr/mirrors/ftp.debian.org/pool/main/c/ca-certificates/ca-certificates_${:version}.tar.gz
md5sum = 5105d4cc086f0d4ecf7bf2e4c4667289
patches = patches =
${ca-certificates-sbin-dir.patch:location}/${ca-certificates-sbin-dir.patch:filename} ${ca-certificates-sbin-dir.patch:location}/${ca-certificates-sbin-dir.patch:filename}
patch-options = -p0 patch-options = -p0
......
...@@ -28,13 +28,13 @@ environment = ...@@ -28,13 +28,13 @@ environment =
# NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
recipe = plone.recipe.command recipe = plone.recipe.command
stop-on-error = true stop-on-error = true
commit = 4bde3206ac0dc1e5736cb18a42851e203a6cc68f commit = ab689c5d3cc29d02d788506c0f1b2ab0742a0f05
repository = https://github.com/ajaxorg/cloud9.git repository = https://github.com/ajaxorg/cloud9.git
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
git-binary = ${git:location}/bin/git git-binary = ${git:location}/bin/git
npm-binary = ${nodejs:location}/bin/node ${nodejs:location}/bin/npm npm-binary = ${nodejs:location}/bin/node ${nodejs:location}/bin/npm
environment = export GIT_SSL_NO_VERIFY=true; export PATH=${nodejs:location}/bin:$PATH; export LDFLAGS=-L${libxml2:location}/lib; environment = export GIT_SSL_NO_VERIFY=true; export PATH=${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin/:$PATH; export LDFLAGS=-L${libxml2:location}/lib; export HOME=${:location};
command = ${:environment} (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install && ${:npm-binary} install) || (rm -fr ${:location}; exit 1) command = ${:environment} (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit} && ${node-sm:location}/node_modules/.bin/sm install) || (rm -fr ${:location}; exit 1)
update-command = update-command =
[cloud9-npm] [cloud9-npm]
...@@ -50,4 +50,4 @@ packages = ...@@ -50,4 +50,4 @@ packages =
cloud9==0.7 cloud9==0.7
# Specify environment jsDAV (dependency of cloud9) needs libxml2 # Specify environment jsDAV (dependency of cloud9) needs libxml2
environment = environment =
LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib
\ No newline at end of file
...@@ -2,10 +2,23 @@ ...@@ -2,10 +2,23 @@
parts = parts =
coreutils coreutils
[coreutils-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = 63c2299d92d23e4748abb9668b7e62ea
download-only = true
filename = drop.gets.patch
[coreutils] [coreutils]
virtual-depends = ${coreutils-drop.gets.patch:md5sum}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.12.tar.gz url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.12.tar.gz
md5sum = fce7999953a67243d00d75cc86dbcaa6 md5sum = fce7999953a67243d00d75cc86dbcaa6
patch-options = -p1
patches =
${coreutils-drop.gets.patch:location}/${coreutils-drop.gets.patch:filename}
configure-options = configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_} --enable-install-program=tr,basename,uname,cat,cp,ls --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --enable-install-program=tr,basename,uname,cat,cp,ls
environment = environment =
......
diff -ur coreutils-8.12.old/lib/stdio.in.h coreutils-8.12/lib/stdio.in.h
--- coreutils-8.12.old/lib/stdio.in.h 2011-04-25 11:01:29.000000000 +0200
+++ coreutils-8.12/lib/stdio.in.h 2012-07-23 16:02:17.591610452 +0200
@@ -181,7 +181,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
...@@ -2,7 +2,19 @@ ...@@ -2,7 +2,19 @@
[buildout] [buildout]
parts = cpio parts = cpio
[cpio-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = 6c79cb9caf407063543efff93647c450
download-only = true
filename = drop.gets.patch
[cpio] [cpio]
virtual-depends =
${cpio-drop.gets.patch:md5sum}
patch-options = -p1
patches =
${cpio-drop.gets.patch:location}/${cpio-drop.gets.patch:filename}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.bz2 url = http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.bz2
md5sum = 20fc912915c629e809f80b96b2e75d7d md5sum = 20fc912915c629e809f80b96b2e75d7d
diff -ur cpio-2.11.orig/gnu/stdio.in.h cpio-2.11/gnu/stdio.in.h
--- cpio-2.11.orig/gnu/stdio.in.h 2010-03-10 10:27:03.000000000 +0100
+++ cpio-2.11/gnu/stdio.in.h 2012-07-23 13:04:56.075242094 +0200
@@ -139,7 +139,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
...@@ -6,10 +6,23 @@ extends = ...@@ -6,10 +6,23 @@ extends =
../libxml2/buildout.cfg ../libxml2/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
[gettext-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = 1a17a2e6c1539927304379dfa0f149c5
download-only = true
filename = drop.gets.patch
[gettext] [gettext]
virtual-depends = ${gettext-drop.gets.patch:md5sum}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz
md5sum = 3dd55b952826d2b32f51308f2f91aa89 md5sum = 3dd55b952826d2b32f51308f2f91aa89
patch-options = -p1
patches =
${gettext-drop.gets.patch:location}/${gettext-drop.gets.patch:filename}
configure-options = configure-options =
--disable-static --disable-static
--disable-java --disable-java
......
diff -ur gettext-0.18.1.1.orig/gettext-runtime/gnulib-lib/stdio.in.h gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h
--- gettext-0.18.1.1.orig/gettext-runtime/gnulib-lib/stdio.in.h 2010-05-17 21:56:12.000000000 +0200
+++ gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h 2012-07-20 17:42:29.940524198 +0200
@@ -141,7 +141,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
diff -ur gettext-0.18.1.1.orig/gettext-tools/gnulib-lib/stdio.in.h gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h
--- gettext-0.18.1.1.orig/gettext-tools/gnulib-lib/stdio.in.h 2010-05-24 11:42:46.000000000 +0200
+++ gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h 2012-07-20 17:45:20.550461064 +0200
@@ -141,7 +141,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
diff -ur gettext-0.18.1.1.orig/gettext-tools/libgettextpo/stdio.in.h gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h
--- gettext-0.18.1.1.orig/gettext-tools/libgettextpo/stdio.in.h 2010-05-17 21:58:03.000000000 +0200
+++ gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h 2012-07-20 17:45:15.937129402 +0200
@@ -141,7 +141,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
...@@ -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.4.tar.gz url = http://packages.groonga.org/source/groonga/groonga-2.0.5.tar.gz
md5sum = c26aaf2944ed0ffba9e1e051b1c86642 md5sum = 6ea6634ceee97f701add89ee39f4c1da
configure-options = configure-options =
--disable-static --disable-static
--disable-glibtest --disable-glibtest
......
...@@ -2,7 +2,20 @@ ...@@ -2,7 +2,20 @@
parts = parts =
gzip gzip
[gzip-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = d9b1156f912c8cf006f140482918ebc9
download-only = true
filename = drop.gets.patch
[gzip] [gzip]
virtual-depends = ${gzip-drop.gets.patch:md5sum}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
patch-options = -p1
patches =
${gzip-drop.gets.patch:location}/${gzip-drop.gets.patch:filename}
url = ftp://ftp.gnu.org/pub/gnu/gzip/gzip-1.4.tar.gz url = ftp://ftp.gnu.org/pub/gnu/gzip/gzip-1.4.tar.gz
md5sum = e381b8506210c794278f5527cba0e765 md5sum = e381b8506210c794278f5527cba0e765
diff -ur gzip-1.4.orig/lib/stdio.in.h gzip-1.4/lib/stdio.in.h
--- gzip-1.4.orig/lib/stdio.in.h 2010-01-20 14:20:36.000000000 +0100
+++ gzip-1.4/lib/stdio.in.h 2012-07-23 16:20:24.299373437 +0200
@@ -125,7 +125,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
...@@ -28,8 +28,8 @@ filename = imagemagick-6.6.6-1-no-gsx-gsc-probe.patch ...@@ -28,8 +28,8 @@ filename = imagemagick-6.6.6-1-no-gsx-gsc-probe.patch
[imagemagick] [imagemagick]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.7.7-9.tar.bz2 url = ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.7.8-6.tar.bz2
md5sum = 1ab883719ce3c9787c45971c7fc3c532 md5sum = e9d90a09b42fe8d9a8cf807274adff30
depends = depends =
${libtiff:version} ${libtiff:version}
${librsvg:version} ${librsvg:version}
......
...@@ -4,7 +4,7 @@ parts = ...@@ -4,7 +4,7 @@ parts =
[libexpat] [libexpat]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download url = http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download
md5sum = ee8b492592568805593f81f8cdf2a04c md5sum = dd7dab7a5fea97d2a6a43f511449b7cd
configure-options = configure-options =
--disable-static --disable-static
...@@ -16,10 +16,10 @@ environment = ...@@ -16,10 +16,10 @@ environment =
[libpng12] [libpng12]
<= libpng-common <= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.2.49.tar.bz2 url = http://download.sourceforge.net/libpng/libpng-1.2.50.tar.bz2
md5sum = d5106b70b4f8b464a7da66bffe4565fb md5sum = 717caa58e9c71a80820eb38c4f4d6ec3
[libpng] [libpng]
<= libpng-common <= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.5.11.tar.bz2 url = http://download.sourceforge.net/libpng/libpng-1.5.12.tar.bz2
md5sum = cc1f78c87292161464c6f6f51fa19428 md5sum = d87f9c34ccab8242c00e41925839f6c9
...@@ -2,7 +2,19 @@ ...@@ -2,7 +2,19 @@
parts = parts =
m4 m4
[m4-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = dc5f06fb42649e181c40177eb1edc333
download-only = true
filename = drop.gets.patch
[m4] [m4]
virtual-depends = ${m4-drop.gets.patch:md5sum}
patch-options = -p1
patches =
${m4-drop.gets.patch:location}/${m4-drop.gets.patch:filename}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.bz2 url = http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.bz2
md5sum = 8a7cef47fecab6272eb86a6be6363b2f md5sum = 8a7cef47fecab6272eb86a6be6363b2f
diff -ur m4-1.4.16.orig/lib/stdio.in.h m4-1.4.16/lib/stdio.in.h
--- m4-1.4.16.orig/lib/stdio.in.h 2011-03-01 17:39:29.000000000 +0100
+++ m4-1.4.16/lib/stdio.in.h 2012-07-23 09:28:57.945703705 +0200
@@ -162,7 +162,9 @@
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
#undef gets
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
...@@ -60,8 +60,8 @@ environment = ...@@ -60,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.04.tar.gz url = https://github.com/downloads/mroonga/mroonga/mroonga-2.05.tar.gz
md5sum = 3c77aa2bf989f8b5531af08a5ffab359 md5sum = 6aee0e6ff948bba7c02854326afc11df
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
......
...@@ -27,9 +27,9 @@ patches = ...@@ -27,9 +27,9 @@ patches =
${memcached-fix-array-subscript-is-above-array-bounds:location}/${memcached-fix-array-subscript-is-above-array-bounds:filename} ${memcached-gcc-4.4.patch:location}/${memcached-gcc-4.4.patch:filename} ${memcached-fix-array-subscript-is-above-array-bounds:location}/${memcached-fix-array-subscript-is-above-array-bounds:filename} ${memcached-gcc-4.4.patch:location}/${memcached-gcc-4.4.patch:filename}
patch-options = -p1 patch-options = -p1
configure-command = configure-command =
aclocal-1.11 aclocal
autoheader autoheader
automake-1.11 --foreign automake --foreign
autoconf autoconf
./configure ./configure
configure-options = configure-options =
...@@ -37,5 +37,5 @@ configure-options = ...@@ -37,5 +37,5 @@ configure-options =
--with-libevent=${libevent:location} --with-libevent=${libevent:location}
--disable-docs --disable-docs
environment = environment =
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:%(PATH)s PATH=${autoconf:location}/bin:${automake:location}/bin:%(PATH)s
LDFLAGS =-Wl,-rpath=${libevent:location}/lib LDFLAGS =-Wl,-rpath=${libevent:location}/lib
...@@ -19,7 +19,7 @@ configure-options = ...@@ -19,7 +19,7 @@ configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_} --prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-libmemcached=${libmemcached:location} --with-libmemcached=${libmemcached:location}
environment = environment =
PATH =${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s PATH =${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:%(PATH)s
LDFLAGS =-Wl,-rpath=${libmemcached:location}/lib LDFLAGS =-Wl,-rpath=${libmemcached:location}/lib
[memstrikesource] [memstrikesource]
......
...@@ -69,7 +69,7 @@ patches = ...@@ -69,7 +69,7 @@ patches =
${mysql-5.1-sphinx-patch:location}/${mysql-5.1-sphinx-patch:filename} ${mysql-5.1-sphinx-patch:location}/${mysql-5.1-sphinx-patch:filename}
${mysql-5.1-no_test-patch:location}/${mysql-5.1-no_test-patch:filename} ${mysql-5.1-no_test-patch:location}/${mysql-5.1-no_test-patch:filename}
environment = environment =
PATH =${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin:%(PATH)s PATH =${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin:%(PATH)s
CPPFLAGS =-I${ncurses:location}/include -I${readline:location}/include CPPFLAGS =-I${ncurses:location}/include -I${readline:location}/include
LDFLAGS =-L${readline:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${readline:location}/lib LDFLAGS =-L${readline:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${readline:location}/lib
......
...@@ -57,7 +57,7 @@ configure-options = ...@@ -57,7 +57,7 @@ configure-options =
-DCMAKE_C_FLAGS="-I${libaio:location}/include -I${ncurses:location}/include -I${zlib:location}/include" -DCMAKE_C_FLAGS="-I${libaio:location}/include -I${ncurses:location}/include -I${zlib:location}/include"
-DCMAKE_INSTALL_RPATH=${libaio:location}/lib:${ncurses:location}/lib:${zlib:location}/lib -DCMAKE_INSTALL_RPATH=${libaio:location}/lib:${ncurses:location}/lib:${zlib:location}/lib
environment = environment =
CMAKE_PROGRAM_PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${cmake:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin CMAKE_PROGRAM_PATH=${autoconf:location}/bin:${automake:location}/bin:${cmake:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin
CMAKE_INCLUDE_PATH=${libaio:location}/include:${ncurses:location}/include:${zlib:location}/include CMAKE_INCLUDE_PATH=${libaio:location}/include:${ncurses:location}/include:${zlib:location}/include
CMAKE_LIBRARY_PATH=${libaio:location}/lib:${ncurses:location}/lib:${zlib:location}/lib CMAKE_LIBRARY_PATH=${libaio:location}/lib:${ncurses:location}/lib:${zlib:location}/lib
LDFLAGS=-L${libaio:location}/lib LDFLAGS=-L${libaio:location}/lib
......
...@@ -33,7 +33,7 @@ configure-options = ...@@ -33,7 +33,7 @@ configure-options =
make-options = make-options =
LIBTOOL=libtool LIBTOOL=libtool
environment = environment =
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s PATH=${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:%(PATH)s
[mysql-5.0-tritonn-patch] [mysql-5.0-tritonn-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
...@@ -87,6 +87,6 @@ patches = ...@@ -87,6 +87,6 @@ patches =
${mysql-5.0-tritonn-patch:location}/${mysql-5.0-tritonn-patch:filename} ${mysql-5.0-tritonn-patch:location}/${mysql-5.0-tritonn-patch:filename}
${mysql-5.0-sphinx-patch:location}/${mysql-5.0-sphinx-patch:filename} ${mysql-5.0-sphinx-patch:location}/${mysql-5.0-sphinx-patch:filename}
environment = environment =
PATH=${senna:location}/bin:${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin:%(PATH)s PATH=${senna:location}/bin:${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin:%(PATH)s
CPPFLAGS=-I${senna:location}/include/senna -I${ncurses:location}/include -I${readline5:location}/include CPPFLAGS=-I${senna:location}/include/senna -I${ncurses:location}/include -I${readline5:location}/include
LDFLAGS=-L${senna:location}/lib -L${readline5:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${readline5:location}/lib LDFLAGS=-L${senna:location}/lib -L${readline5:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=${ncurses:location}/lib -Wl,-rpath=${readline5:location}/lib
...@@ -18,6 +18,7 @@ configure-options = ...@@ -18,6 +18,7 @@ configure-options =
--openssl-includes=${openssl:location}/include --openssl-includes=${openssl:location}/include
--openssl-libpath=${openssl:location}/lib --openssl-libpath=${openssl:location}/lib
environment = environment =
HOME=${buildout:parts-directory}/${:_buildout_section_name_}
PATH=${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig/ PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig/
CPPFLAGS=-I${zlib:location}/include CPPFLAGS=-I${zlib:location}/include
...@@ -47,4 +48,4 @@ origin = https://github.com/isaacs/npm.git ...@@ -47,4 +48,4 @@ origin = https://github.com/isaacs/npm.git
git-bin = ${git:location}/bin/git git-bin = ${git:location}/bin/git
node-bin = ${nodejs-0.4:location}/bin/node node-bin = ${nodejs-0.4:location}/bin/node
command = (GIT_SSL_NO_VERIFY=true ${:git-bin} clone --quiet ${:origin} ${:location} && cd ${:location} && ${:git-bin} reset --hard ${:commit} && ${:location}/configure --prefix=${:location} && GIT_SSL_NO_VERIFY=true ${:git-bin} submodule update --init --recursive && ${:node-bin} cli.js install npm@1.0.106 -g -f) || (rm -fr ${:location}; exit 1) command = (GIT_SSL_NO_VERIFY=true ${:git-bin} clone --quiet ${:origin} ${:location} && cd ${:location} && ${:git-bin} reset --hard ${:commit} && ${:location}/configure --prefix=${:location} && GIT_SSL_NO_VERIFY=true ${:git-bin} submodule update --init --recursive && ${:node-bin} cli.js install npm@1.0.106 -g -f) || (rm -fr ${:location}; exit 1)
update-command = update-command =
\ No newline at end of file
...@@ -13,8 +13,8 @@ extends = ...@@ -13,8 +13,8 @@ extends =
[poppler] [poppler]
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
md5sum = a61e3b844061f5324512a16d6d16984c md5sum = 45dd2c16c8c4d1a39e830e45745c4e25
url = http://poppler.freedesktop.org/poppler-0.20.1.tar.gz url = http://poppler.freedesktop.org/poppler-0.20.2.tar.gz
depends = depends =
${libtiff:version} ${libtiff:version}
configure-options = configure-options =
......
...@@ -112,47 +112,51 @@ scripts = ...@@ -112,47 +112,51 @@ scripts =
slapproxy = slapos.proxy:main slapproxy = slapos.proxy:main
[versions] [versions]
zc.buildout = 1.6.0-dev-SlapOS-004 zc.buildout = 1.6.0-dev-SlapOS-006
hexagonit.recipe.download = 1.5.1-dev-slapos-002
# Generated by buildout-versions # Generated by buildout-versions
Jinja2 = 2.6 Jinja2 = 2.6
Pygments = 1.5
Werkzeug = 0.8.3 Werkzeug = 0.8.3
buildout-versions = 1.7 buildout-versions = 1.7
collective.recipe.template = 1.9 collective.recipe.template = 1.9
hexagonit.recipe.cmmi = 1.5.0 docutils = 0.9.1
hexagonit.recipe.cmmi = 1.6
ipython = 0.13
lxml = 2.3.4 lxml = 2.3.4
meld3 = 0.6.8 meld3 = 0.6.8
netaddr = 0.7.6 netaddr = 0.7.7
slapos.core = 0.25 slapos.core = 0.26.1
slapos.libnetworkcache = 0.12 slapos.libnetworkcache = 0.12
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
z3c.recipe.scripts = 1.0.1 z3c.recipe.scripts = 1.0.1
zc.recipe.egg = 1.3.2 zc.recipe.egg = 1.3.2
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
Flask = 0.8 Flask = 0.9
# Required by: # Required by:
# hexagonit.recipe.cmmi==1.5.0 # netaddr==0.7.7
hexagonit.recipe.download = 1.5.0 Sphinx = 1.1.3
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
netifaces = 0.8 netifaces = 0.8
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
# slapos.libnetworkcache==0.12 # slapos.libnetworkcache==0.12
# supervisor==3.0a12 # supervisor==3.0a12
# zc.buildout==1.6.0-dev-SlapOS-004 # zc.buildout==1.6.0-dev-SlapOS-006
# zope.interface==3.8.0 # zope.interface==4.0.1
setuptools = 0.6c12dev-r88846 setuptools = 0.6c12dev-r88846
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
supervisor = 3.0a12 supervisor = 3.0a12
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
zope.interface = 3.8.0 zope.interface = 4.0.1
...@@ -45,7 +45,7 @@ configure-command = ...@@ -45,7 +45,7 @@ configure-command =
# tesseract has a non-standard way of testing for leptonica, hence the # tesseract has a non-standard way of testing for leptonica, hence the
# LIBLEPT_HEADERSDIR entry below: # LIBLEPT_HEADERSDIR entry below:
environment = environment =
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s PATH=${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:%(PATH)s
ACLOCAL_ARGS=-I${libtool:location}/share/aclocal ACLOCAL_ARGS=-I${libtool:location}/share/aclocal
LIBLEPT_HEADERSDIR=${leptonica:location}/include LIBLEPT_HEADERSDIR=${leptonica:location}/include
CPPFLAGS=-I${leptonica:location}/include CPPFLAGS=-I${leptonica:location}/include
......
...@@ -17,6 +17,9 @@ download-only = true ...@@ -17,6 +17,9 @@ download-only = true
md5sum = 75422a6f7f671b3a6d9add6724cc0945 md5sum = 75422a6f7f671b3a6d9add6724cc0945
[w3m] [w3m]
virtual-depend =
${w3m-w3m.gcc.forward.compat.patch:md5sum}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
md5sum = 1b845a983a50b8dec0169ac48479eacc md5sum = 1b845a983a50b8dec0169ac48479eacc
url = http://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz url = http://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz
...@@ -42,6 +45,6 @@ patches = ...@@ -42,6 +45,6 @@ patches =
environment = environment =
PATH=${pkgconfig:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig:${garbage-collector:location}/lib/pkconfig
CPPFLAGS=-I${ncurses:location}/include/ -I${zlib:location}/include/ CPPFLAGS=-I${ncurses:location}/include/ -I${zlib:location}/include/ -I${garbage-collector:location}/include
LDFLAGS=-Wl,--as-needed -L${garbage-collector:location}/lib -Wl,-rpath=${garbage-collector:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-Wl,--as-needed -L${garbage-collector:location}/lib -Wl,-rpath=${garbage-collector:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib
...@@ -6,7 +6,19 @@ extends = ...@@ -6,7 +6,19 @@ extends =
parts = parts =
wget wget
[wget-drop.gets.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/${:filename}
md5sum = 866907ebc89fc2e76b44c519cb84930f
download-only = true
filename = drop.gets.patch
[wget] [wget]
virtual-depends = ${wget-drop.gets.patch:md5sum}
patch-options = -p1
patches =
${wget-drop.gets.patch:location}/${wget-drop.gets.patch:filename}
recipe = hexagonit.recipe.cmmi recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/wget/wget-1.13.4.tar.bz2 url = http://ftp.gnu.org/gnu/wget/wget-1.13.4.tar.bz2
md5sum = 12115c3750a4d92f9c6ac62bac372e85 md5sum = 12115c3750a4d92f9c6ac62bac372e85
......
diff -ur wget-1.13.4.orig/lib/stdio.in.h wget-1.13.4/lib/stdio.in.h
--- wget-1.13.4.orig/lib/stdio.in.h 2011-09-13 10:15:14.000000000 +0200
+++ wget-1.13.4/lib/stdio.in.h 2012-07-23 14:47:39.793579086 +0200
@@ -697,8 +697,10 @@
/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
+#endif
#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
...@@ -59,6 +59,6 @@ configure-command = ln -sf ${mysql-5.1-download:location}/${mysql-5.1-download:f ...@@ -59,6 +59,6 @@ configure-command = ln -sf ${mysql-5.1-download:location}/${mysql-5.1-download:f
environment = environment =
CPPFLAGS =-I${zlib:location}/include -I${ncurses:location}/include -I${readline:location}/include CPPFLAGS =-I${zlib:location}/include -I${ncurses:location}/include -I${readline:location}/include
LDFLAGS =-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${readline:location}/lib -Wl,-rpath=${readline:location}/lib LDFLAGS =-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib -L${readline:location}/lib -Wl,-rpath=${readline:location}/lib
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:${flex:location}/bin:%(PATH)s:${bison:location}/bin PATH=${autoconf:location}/bin:${automake:location}/bin:${libtool:location}/bin:${flex:location}/bin:%(PATH)s:${bison:location}/bin
make-options = make-options =
-j1 -j1
...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages ...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
import glob import glob
import os import os
version = '0.58-dev' version = '0.59-dev'
name = 'slapos.cookbook' name = 'slapos.cookbook'
long_description = open("README.txt").read() + "\n" + \ long_description = open("README.txt").read() + "\n" + \
open("CHANGES.txt").read() + "\n" open("CHANGES.txt").read() + "\n"
......
...@@ -34,76 +34,45 @@ from slapos.recipe.librecipe import GenericSlapRecipe ...@@ -34,76 +34,45 @@ from slapos.recipe.librecipe import GenericSlapRecipe
import json import json
import ConfigParser import ConfigParser
# XXX: BaseSlapRecipe and GenericSlapRecipe are deprecated, use
# GenericBaseRecipe and move partition parameter fetching to software release.
class Recipe(BaseSlapRecipe, GenericSlapRecipe): class Recipe(BaseSlapRecipe, GenericSlapRecipe):
def install(self): def install(self):
self.path_list = [] self.path_list = []
self.crond = self.installCrond() crond = self.installCrond()
slap = slapos.slap.slap() slap = slapos.slap.slap()
computer_id = self.computer_id slap.initializeConnection(self.server_url, self.key_file, self.cert_file)
computer_partition_id = self.computer_partition_id parameter_dict = slap.registerComputerPartition(
server_url = self.server_url self.computer_id,
key_file = self.key_file self.computer_partition_id,
cert_file = self.cert_file ).getInstanceParameterDict()
slap.initializeConnection(server_url, key_file, cert_file)
self.computer_partition = slap.registerComputerPartition(
computer_id, computer_partition_id)
self.parameter_dict = self.computer_partition.getInstanceParameterDict()
# XXX: should probably expect one more (SR-originating) parameter instead
# of using self.work_directory .
configuration_path = os.path.join(self.work_directory, "agent.cfg") configuration_path = os.path.join(self.work_directory, "agent.cfg")
configuration = ConfigParser.SafeConfigParser() with open(configuration_path, "w") as configuration:
configuration.add_section("agent") configuration.write(parameter_dict["configuration"])
configuration.set("agent", "portal_url", self.parameter_dict["portal_url"]) agent_crond_path = os.path.join(crond, "agent")
configuration.set("agent", "master_url", self.parameter_dict["master_url"]) with open(agent_crond_path, "w") as agent_crond:
configuration.set("agent", "report_url", self.parameter_dict["report_url"]) agent_crond.write("*/5 * * * * %s -S %s --pidfile=%s --log=%s "
key_filepath = os.path.join(self.work_directory, "key") "%s 2>&1 > /dev/null\n" % (
key_file = open(key_filepath, "w") self.options["python_binary"],
key_file.write(self.parameter_dict["key"]) self.options["agent_binary"],
key_file.close() self.options["pidfile"],
configuration.set("agent", "key_file", key_filepath) self.options["log"],
cert_filepath = os.path.join(self.work_directory, "cert") configuration_path,
cert_file = open(cert_filepath, "w") ))
cert_file.write(self.parameter_dict["cert"])
cert_file.close()
configuration.set("agent", "cert_file", cert_filepath)
configuration.set("agent", "maximum_software_installation_duration",
self.parameter_dict["maximum_software_installation_duration"])
configuration.set("agent", "software_live_duration",
self.parameter_dict["software_live_duration"])
configuration.set("agent", "computer_list",
self.parameter_dict["computer_list"])
configuration.set("agent", "software_list",
self.parameter_dict["software_list"])
configuration.set("agent", "log_directory", self.options["log_directory"])
configuration.set("agent", "state_file", self.options["state_file"])
state = open(self.options["state_file"], "w")
state.write('')
state.close()
configuration.add_section("software_uri")
software_list = json.loads(self.parameter_dict["software_list"])
for software in software_list:
configuration.set("software_uri", software, self.parameter_dict[software])
configuration.write(open(configuration_path, "w")) return self.path_list + [configuration_path, agent_crond_path]
agent_crond_path = os.path.join(self.crond, "agent")
agent_crond = open(agent_crond_path, "w")
agent_crond.write("*/3 * * * * %s -S %s" % \
(self.options["python_binary"],
"%s --pidfile=%s %s" % \
(self.options["agent_binary"], self.options["pidfile"],
configuration_path)))
agent_crond.close()
return self.path_list + [configuration_path, key_filepath, cert_filepath, agent_crond_path]
def installCrond(self): def installCrond(self):
_, self.ws = self.egg.working_set() _, ws = self.egg.working_set()
timestamps = self.createDataDirectory('cronstamps') timestamps = self.createDataDirectory('cronstamps')
cron_output = os.path.join(self.log_directory, 'cron-output') cron_output = os.path.join(self.log_directory, 'cron-output')
self._createDirectory(cron_output) self._createDirectory(cron_output)
catcher = zc.buildout.easy_install.scripts([('catchcron', catcher = zc.buildout.easy_install.scripts([('catchcron',
__name__ + '.catdatefile', 'catdatefile')], self.ws, sys.executable, __name__ + '.catdatefile', 'catdatefile')], ws, sys.executable,
self.bin_directory, arguments=[cron_output])[0] self.bin_directory, arguments=[cron_output])[0]
self.path_list.append(catcher) self.path_list.append(catcher)
cron_d = os.path.join(self.etc_directory, 'cron.d') cron_d = os.path.join(self.etc_directory, 'cron.d')
...@@ -111,7 +80,7 @@ class Recipe(BaseSlapRecipe, GenericSlapRecipe): ...@@ -111,7 +80,7 @@ class Recipe(BaseSlapRecipe, GenericSlapRecipe):
self._createDirectory(cron_d) self._createDirectory(cron_d)
self._createDirectory(crontabs) self._createDirectory(crontabs)
wrapper = zc.buildout.easy_install.scripts([('crond', wrapper = zc.buildout.easy_install.scripts([('crond',
'slapos.recipe.librecipe.execute', 'execute')], self.ws, sys.executable, 'slapos.recipe.librecipe.execute', 'execute')], ws, sys.executable,
self.wrapper_directory, arguments=[ self.wrapper_directory, arguments=[
self.options['dcrond_binary'].strip(), '-s', cron_d, '-c', crontabs, self.options['dcrond_binary'].strip(), '-s', cron_d, '-c', crontabs,
'-t', timestamps, '-f', '-l', '5', '-M', catcher] '-t', timestamps, '-f', '-l', '5', '-M', catcher]
......
...@@ -22,6 +22,9 @@ result = zope_connection.getresponse() ...@@ -22,6 +22,9 @@ result = zope_connection.getresponse()
if result.status == 204: # and (result.read() == "False"): if result.status == 204: # and (result.read() == "False"):
# Use a new connection
zope_connection = httplib.HTTPConnection(host)
# Create the expected ERP5 instance # Create the expected ERP5 instance
zope_connection.request( zope_connection.request(
'POST', '/manage_addProduct/ERP5/manage_addERP5Site', 'POST', '/manage_addProduct/ERP5/manage_addERP5Site',
...@@ -32,4 +35,11 @@ if result.status == 204: # and (result.read() == "False"): ...@@ -32,4 +35,11 @@ if result.status == 204: # and (result.read() == "False"):
'cmf_activity_sql_connection_string': mysql_url, 'cmf_activity_sql_connection_string': mysql_url,
}), }),
headers=header_dict) headers=header_dict)
# Wait for the erp5 response, to prevent multiple requests
# been done by the same script.
result = zope_connection.getresponse()
# Read result make sure the site really finished to
#created the ERP5 site.
result.read()
print "ERP5 site created."
...@@ -29,6 +29,7 @@ from slapos.recipe.librecipe import GenericSlapRecipe ...@@ -29,6 +29,7 @@ from slapos.recipe.librecipe import GenericSlapRecipe
class Recipe(GenericSlapRecipe): class Recipe(GenericSlapRecipe):
def _install(self): def _install(self):
self.logger.warn('DEPRECATED: Please update your configuration to use erp5.promise and erp5.bootstrap instead.')
conversion_server = None conversion_server = None
if 'cloudooo-url' in self.options and self.options['cloudooo-url']: if 'cloudooo-url' in self.options and self.options['cloudooo-url']:
parsed = urlparse.urlparse(self.options['cloudooo-url']) parsed = urlparse.urlparse(self.options['cloudooo-url'])
......
...@@ -83,7 +83,7 @@ class Recipe(object): ...@@ -83,7 +83,7 @@ class Recipe(object):
failed = None failed = None
def __init__(self, buildout, name, options): def __init__(self, buildout, name, options):
logger = logging.getLogger(name) self.logger = logging.getLogger(name)
slap = slapmodule.slap() slap = slapmodule.slap()
...@@ -104,7 +104,7 @@ class Recipe(object): ...@@ -104,7 +104,7 @@ class Recipe(object):
return_parameters = [str(parameter).strip() return_parameters = [str(parameter).strip()
for parameter in options['return'].split()] for parameter in options['return'].split()]
else: else:
logger.debug("No parameter to return to main instance." self.logger.debug("No parameter to return to main instance."
"Be careful about that...") "Be careful about that...")
software_type = options.get('software-type', 'RootInstanceSoftware') software_type = options.get('software-type', 'RootInstanceSoftware')
...@@ -143,7 +143,7 @@ class Recipe(object): ...@@ -143,7 +143,7 @@ class Recipe(object):
except AttributeError: except AttributeError:
status = 'unknown' status = 'unknown'
error_message = 'Connection parameter %s not found. '\ error_message = 'Connection parameter %s not found. '\
'Requested instance is currently %s. If this error persists, '\ 'Status of requested instance is: %s. If this error persists, '\
'check status of this instance.' % (self.failed, status) 'check status of this instance.' % (self.failed, status)
self.logger.error(error_message) self.logger.error(error_message)
raise KeyError(error_message) raise KeyError(error_message)
......
[buildout] [buildout]
parts = parts =
rootdirectory
instance instance
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
...@@ -9,17 +8,16 @@ develop-eggs-directory = ${buildout:develop-eggs-directory} ...@@ -9,17 +8,16 @@ develop-eggs-directory = ${buildout:develop-eggs-directory}
[instance] [instance]
recipe = ${instance-recipe:egg}:${instance-recipe:module} recipe = ${instance-recipe:egg}:${instance-recipe:module}
agent_binary = ${buildout:directory}/bin/agent agent_binary = ${buildout:directory}/bin/agent
report_start = ${buildout:directory}/bin/report_start
report_stop = ${buildout:directory}/bin/report_stop
dcrond_binary = ${dcron:location}/sbin/crond dcrond_binary = ${dcron:location}/sbin/crond
python_binary = ${python2.7:location}/bin/python python_binary = ${python2.7:location}/bin/python
pidfile = $${buildout:directory}/agent.pid pidfile = $${rootdirectory:run}/agent.pid
log_directory = $${buildout:directory}/var/log log = $${rootdirectory:agentlog}/agent.log
state_file = $${buildout:directory}/state.cfg
[rootdirectory] [rootdirectory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
etc = $${buildout:directory}/etc/ run = $${buildout:directory}/etc/run
run = $${rootdirectory:etc}/run/ agentlog = $${buildout:directory}/var/log/agent
var = $${buildout:directory}/var/ srv = $${buildout:directory}/srv
log = $${rootdirectory:var}/log/ bin = $${buildout:directory}/bin
srv = $${buildout:directory}/srv/
bin = $${buildout:directory}/bin/
[buildout] [buildout]
# develop =
# /opt/slapdev
# /opt/slapos.toolbox
extends = extends =
../../component/dcron/buildout.cfg ../../component/dcron/buildout.cfg
../../component/python-2.7/buildout.cfg ../../component/python-2.7/buildout.cfg
...@@ -31,7 +26,7 @@ eggs = ${instance-recipe:egg} ...@@ -31,7 +26,7 @@ eggs = ${instance-recipe:egg}
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg output = ${buildout:directory}/template.cfg
md5sum = 2e1a7a68b18de68b163e98a5f92cc776 md5sum = c7cb98594f394d05baedabe424643f6f
mode = 0644 mode = 0644
[eggs] [eggs]
...@@ -41,6 +36,7 @@ eggs = ...@@ -41,6 +36,7 @@ eggs =
${lxml-python:egg} ${lxml-python:egg}
slapos.cookbook slapos.cookbook
slapos.toolbox slapos.toolbox
erp5.util
[lxml-python] [lxml-python]
python = python2.7 python = python2.7
...@@ -53,7 +49,7 @@ eggs = ...@@ -53,7 +49,7 @@ eggs =
${lxml-python:egg} ${lxml-python:egg}
slapos.core slapos.core
slapos.cookbook slapos.cookbook
slapos.toolbox slapos.toolbox[agent]
[networkcache] [networkcache]
# signature certificates of the following uploaders. # signature certificates of the following uploaders.
......
{% 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]
parts = parts =
publish-cloudooo-connection-information publish-cloudooo-connection-information
cloudooo-instance
cloudooo-test-runner cloudooo-test-runner
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
...@@ -58,7 +56,7 @@ recipe = slapos.cookbook:fontconfig ...@@ -58,7 +56,7 @@ recipe = slapos.cookbook:fontconfig
conf-path = ${rootdirectory:etc}/font.conf conf-path = ${rootdirectory:etc}/font.conf
font-system-folder = {{ parameter_dict['fonts'] }} font-system-folder = {{ parameter_dict['fonts'] }}
font-folder = ${directory:font} font-folder = ${directory:font}
url-list = {{ json.get('font_url_list', []) | join(' ') }} url-list =
service-folder = ${basedirectory:services} service-folder = ${basedirectory:services}
onetimedownload_path = {{ bin_directory }}/onetimedownload onetimedownload_path = {{ bin_directory }}/onetimedownload
......
...@@ -43,7 +43,6 @@ template = {{ template_cloudooo }} ...@@ -43,7 +43,6 @@ template = {{ template_cloudooo }}
filename = instance-cloudoo.cfg 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
[switch-softwaretype] [switch-softwaretype]
recipe = slapos.cookbook:softwaretype recipe = slapos.cookbook:softwaretype
......
[buildout] [buildout]
extends = extends =
../../stack/shacache-client.cfg ../../stack/erp5/buildout.cfg
../../stack/erp5.cfg
versions = versions
# Local development
develop =
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/cloudooo-repository
parts +=
# Local development
slapos.cookbook-repository
check-recipe
slapos.cookbook-python2.6
slapos.recipe.template-python2.6
# Create instance template
template
# XXX: Workaround of SlapOS limitation
# Unzippig of eggs is required, as SlapOS do not yet provide nicely working
# development / fast switching environment for whole software
unzip = true
# Local development
[slapos.cookbook-repository]
recipe = plone.recipe.command
stop-on-error = true
branch = erp5
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
update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && if [ -n "${:revision}" ]; then "${git:location}/bin/git" reset --hard "${:revision}"; else "${git:location}/bin/git" reset --quiet --hard @{upstream} ; fi
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
[slapos.cookbook-python2.6]
recipe = zc.recipe.egg
eggs = slapos.cookbook
scripts =
python = python2.6
ugly-depend-on = ${slapos.cookbook-repository:command} ${slapos.cookbook-repository:update-command}
[slapos.recipe.template-python2.6]
recipe = zc.recipe.egg
eggs = slapos.recipe.template
scripts =
python = python2.6
[template-jinja2-base]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${buildout:directory}/${:filename}
# XXX: extra-context is needed because we cannot append to a key of an extended
# section.
extra-context =
context =
key bin_directory buildout:bin-directory
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
${:extra-context}
[template-mariadb]
< = template-jinja2-base
filename = instance-mariadb.cfg
md5sum = bcaee4e52a4332451b15fb38ecb12a2b
extra-context =
key coreutils_location coreutils:location
key dcron_location dcron:location
key gettext_location gettext:location
key grep_location grep:location
key gzip_location gzip:location
key logrotate_location logrotate:location
key mariadb_location mariadb:location
key perl_location perl:location
key perl_siteprefix perl:siteprefix
key sed_location sed:location
key xtrabackup_location xtrabackup:location
[template-sphinx]
< = template-jinja2-base
filename = instance-sphinx.cfg
md5sum = e3975afd5220f251d6b6e7024a2ca08b
extra-context =
key sphinx_location sphinx:location
[template-zope]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-zope.cfg.in
md5sum = ea09a89ca79290c33de0b59a19a5490f
mode = 640
[template-kumofs]
< = template-jinja2-base
filename = instance-kumofs.cfg
md5sum = 700ee7769c89e0959dc3f052e55ada6e
extra-context =
key dash_location dash:location
key dcron_location dcron:location
key gzip_location gzip:location
key kumo_location kumo:location
key logrotate_location logrotate:location
[template-tidstorage]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-tidstorage.cfg.in
md5sum = 520e39f2612a045b42c0ad914bfdc5a9
mode = 640
[template-cloudooo]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-cloudoo.cfg.in
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 = 599e004c18fd3461aa846ae75bd112f2
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 = ee7d9040f3f90948fe15f78196f66149
extra-context =
key apache_location apache:location
key aspell_location aspell:location
key buildout_bin_directory buildout:bin-directory
key coreutils_location coreutils:location
key dash_location dash:location
key dcron_location dcron:location
key dmtx_utils_location dmtx-utils:location
key erp5_location erp5:location
key file_location file:location
key fontconfig_location fontconfig:location
key fonts_location fonts:location
key freetype_location freetype:location
key git_location git:location
key graphviz_location graphviz:location
key grep_location grep:location
key gzip_location gzip:location
key haproxy_location haproxy:location
key imagemagick_location imagemagick:location
key libICE_location libICE:location
key libSM_location libSM:location
key libX11_location libX11:location
key libXau_location libXau:location
key libXdmcp_location libXdmcp:location
key libXext_location libXext:location
key libXrender_location libXrender:location
key libpng12_location libpng12:location
key libreoffice_bin_location libreoffice-bin:location
key librsvg_location librsvg:location
key libxcb_location libxcb:location
key logrotate_location logrotate:location
key mariadb_location mariadb:location
key openssl_location openssl:location
key pdftk_location pdftk:location
key poppler_location poppler:location
key sed_location sed:location
key template_cloudooo template-cloudooo:target
key template_erp5_development template-erp5-development:target
key template_erp5_production template-erp5-production:rendered
key template_kumofs template-kumofs:rendered
key template_mariadb template-mariadb:rendered
key template_memcached template-memcached:rendered
key template_sphinx template-sphinx:rendered
key template_tidstorage template-tidstorage:target
key template_varnish template-varnish:target
key template_zope template-zope:target
key template_zope_conf template-zope-conf:target
key tesseract_location tesseract:location
key varnish_location varnish-3.0:location
key w3m_location w3m:location
key wget_location wget:location
key zlib_location zlib:location
[template-memcached]
< = template-jinja2-base
filename = instance-memcached.cfg
md5sum = 395779dc578e2527cb0d89c5aee39f65
extra-context =
key dash_location dash:location
key memcached_location memcached:location
[template-erp5-development]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-erp5-development.cfg.in
md5sum = df405a60901b5c112093d276c5bb1998
mode = 640
[template-erp5-production]
< = template-jinja2-base
filename = instance-erp5-production.cfg
md5sum = 3051f3fea39d7409c417dcac26027b56
extra-context =
key local_bt5_repository local-bt5-repository:list
[template-varnish]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-varnish.cfg.in
md5sum = 17aee2df57b121343b1fd65f4b51ce80
mode = 640
[networkcache] [networkcache]
# signature certificates of the following uploaders. # signature certificates of the following uploaders.
...@@ -224,6 +10,7 @@ mode = 640 ...@@ -224,6 +10,7 @@ mode = 640
# Cedric de Saint Martin # Cedric de Saint Martin
# Yingjie Xu # Yingjie Xu
# Gabriel Monnerat # Gabriel Monnerat
# Łukasz Nowak
signature-certificate-list = signature-certificate-list =
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE
...@@ -303,3 +90,16 @@ signature-certificate-list = ...@@ -303,3 +90,16 @@ signature-certificate-list =
Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n
yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI= yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI=
-----END CERTIFICATE----- -----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB9jCCAV+gAwIBAgIJAMNZBmoIOXPBMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
BAMMCENPTVAtMTMyMCAXDTEyMDUwMjEyMDQyNloYDzIxMTIwNDA4MTIwNDI2WjAT
MREwDwYDVQQDDAhDT01QLTEzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
6peZQt1sAmMAmSG9BVxxcXm8x15kE9iAplmANYNQ7z2YO57c10jDtlYlwVfi/rct
xNUOKQtc8UQtV/fJWP0QT0GITdRz5X/TkWiojiFgkopza9/b1hXs5rltYByUGLhg
7JZ9dZGBihzPfn6U8ESAKiJzQP8Hyz/o81FPfuHCftsCAwEAAaNQME4wHQYDVR0O
BBYEFNuxsc77Z6/JSKPoyloHNm9zF9yqMB8GA1UdIwQYMBaAFNuxsc77Z6/JSKPo
yloHNm9zF9yqMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAl4hBaJy1
cgiNV2+Z5oNTrHgmzWvSY4duECOTBxeuIOnhql3vLlaQmo0p8Z4c13kTZq2s3nhd
Loe5mIHsjRVKvzB6SvIaFUYq/EzmHnqNdpIGkT/Mj7r/iUs61btTcGUCLsUiUeci
Vd0Ozh79JSRpkrdI8R/NRQ2XPHAo+29TT70=
-----END CERTIFICATE-----
...@@ -68,11 +68,11 @@ slapos.cookbook = 0.53 ...@@ -68,11 +68,11 @@ slapos.cookbook = 0.53
slapos.libnetworkcache = 0.12 slapos.libnetworkcache = 0.12
slapos.recipe.build = 0.9 slapos.recipe.build = 0.9
slapos.recipe.template = 2.4 slapos.recipe.template = 2.4
slapos.toolbox = 0.24 slapos.toolbox = 0.26
smmap = 0.8.2 smmap = 0.8.2
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
Flask = 0.8 Flask = 0.8
# Required by: # Required by:
...@@ -100,7 +100,7 @@ inotifyx = 0.2.0 ...@@ -100,7 +100,7 @@ inotifyx = 0.2.0
# Required by: # Required by:
# slapos.cookbook==0.53 # slapos.cookbook==0.53
# slapos.core==0.25 # slapos.core==0.26.1
# xml-marshaller==0.9.7 # xml-marshaller==0.9.7
lxml = 2.3.4 lxml = 2.3.4
...@@ -109,7 +109,7 @@ lxml = 2.3.4 ...@@ -109,7 +109,7 @@ lxml = 2.3.4
netaddr = 0.7.7 netaddr = 0.7.7
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
netifaces = 0.8 netifaces = 0.8
# Required by: # Required by:
...@@ -122,7 +122,7 @@ psutil = 0.4.1 ...@@ -122,7 +122,7 @@ psutil = 0.4.1
# Required by: # Required by:
# slapos.cookbook==0.53 # slapos.cookbook==0.53
# slapos.core==0.25 # slapos.core==0.26.1
# slapos.libnetworkcache==0.12 # slapos.libnetworkcache==0.12
# slapos.toolbox==0.24 # slapos.toolbox==0.24
# supervisor==3.0a12 # supervisor==3.0a12
...@@ -133,10 +133,10 @@ setuptools = 0.6c12dev-r88846 ...@@ -133,10 +133,10 @@ setuptools = 0.6c12dev-r88846
# Required by: # Required by:
# slapos.cookbook==0.53 # slapos.cookbook==0.53
slapos.core = 0.25 slapos.core = 0.26.1
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
supervisor = 3.0a12 supervisor = 3.0a12
# Required by: # Required by:
...@@ -148,5 +148,5 @@ xml-marshaller = 0.9.7 ...@@ -148,5 +148,5 @@ xml-marshaller = 0.9.7
zc.recipe.egg = 1.3.2 zc.recipe.egg = 1.3.2
# Required by: # Required by:
# slapos.core==0.25 # slapos.core==0.26.1
zope.interface = 4.0.1 zope.interface = 4.0.1
[buildout] [buildout]
extensions = extensions =
slapos.rebootstrap
slapos.zcbworkarounds slapos.zcbworkarounds
buildout-versions buildout-versions
mr.developer mr.developer
...@@ -83,15 +82,13 @@ parts = ...@@ -83,15 +82,13 @@ parts =
rdiff-backup rdiff-backup
cloudooo cloudooo
# Local development
develop +=
${:parts-directory}/cloudooo
[bootstrap2.6] [bootstrap2.6]
python = python2.6 python = python2.6
[rebootstrap]
# Default first version of rebootstrapped python
version = 4
section = python2.7
eggs = slapos.libnetworkcache
[versions] [versions]
# Use SlapOS patched zc.buildout # Use SlapOS patched zc.buildout
zc.buildout = 1.6.0-dev-SlapOS-006 zc.buildout = 1.6.0-dev-SlapOS-006
......
This diff is collapsed.
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
parts = parts =
publish-cloudooo-connection-information publish-cloudooo-connection-information
cloudooo-instance cloudooo-instance
promise
promise-openoffice
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
offline = true offline = true
...@@ -22,8 +24,8 @@ port = 23000 ...@@ -22,8 +24,8 @@ port = 23000
openoffice-port = 23060 openoffice-port = 23060
# Paths # Paths
configuration-file = ${rootdirectory:etc}/cloudooo.cfg configuration-file = ${directory:etc}/cloudooo.cfg
wrapper = ${basedirectory:services}/cloudooo wrapper = ${directory:service}/cloudooo
# Paths: Data # Paths: Data
data-directory = ${directory:cloudooo-data} data-directory = ${directory:cloudooo-data}
...@@ -40,25 +42,32 @@ ooo-uno-path = {{ parameter_dict['libreoffice-bin'] }}/basis-link/program ...@@ -40,25 +42,32 @@ ooo-uno-path = {{ parameter_dict['libreoffice-bin'] }}/basis-link/program
[fontconfig-instance] [fontconfig-instance]
recipe = slapos.cookbook:fontconfig recipe = slapos.cookbook:fontconfig
conf-path = ${rootdirectory:etc}/font.conf conf-path = ${directory:etc}/font.conf
font-system-folder = {{ parameter_dict['fonts'] }} font-system-folder = {{ parameter_dict['fonts'] }}
font-folder = ${directory:font} font-folder = ${directory:font}
url-list = {{ json.get('font_url_list', []) | join(' ') }} url-list = {{ json.get('font_url_list', []) | join(' ') }}
service-folder = ${basedirectory:services} service-folder = ${directory:service}
onetimedownload_path = {{ bin_directory }}/onetimedownload onetimedownload_path = {{ bin_directory }}/onetimedownload
# rest of parts are candidates for some generic stuff [promise]
[basedirectory] recipe = slapos.cookbook:check_port_listening
recipe = slapos.cookbook:mkdirectory path = ${directory:promise}/cloudooo
services = ${rootdirectory:etc}/run hostname = ${cloudooo-instance:ip}
port = ${cloudooo-instance:port}
[directory] [promise-openoffice]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:check_port_listening
cloudooo-data = ${rootdirectory:srv}/cloudooo path = ${directory:promise}/openoffice
font = ${rootdirectory:srv}/font hostname = ${cloudooo-instance:ip}
port = ${cloudooo-instance:openoffice-port}
[rootdirectory] # rest of parts are candidates for some generic stuff
[directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
etc = ${buildout:directory}/etc etc = ${buildout:directory}/etc
srv = ${buildout:directory}/srv srv = ${buildout:directory}/srv
service = ${:etc}/run
promise = ${:etc}/promise
cloudooo-data = ${:srv}/cloudooo
font = ${:srv}/font
{% endif %} {% endif %}
...@@ -12,8 +12,10 @@ parts += ...@@ -12,8 +12,10 @@ parts +=
request-memcached request-memcached
request-kumofs request-kumofs
basedirectory basedirectory
erp5-update
test-runner test-runner
erp5-bootstrap
erp5-promise
promise-erp5-site
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
...@@ -23,6 +25,14 @@ offline = true ...@@ -23,6 +25,14 @@ offline = true
# default site id # default site id
site-id = erp5 site-id = erp5
cloudooo-json = cloudooo-json =
promise-path = ${rootdirectory:etc}/erp5promise.cfg
bt5 = erp5_full_text_myisam_catalog
erp5_configurator_standard
erp5_configurator_maxma_demo
erp5_configurator_ung
erp5_configurator_run_my_doc
bt5-repository-url = {{ local_bt5_repository }}
smtp-url = smtp://localhost:25/
[test-runner] [test-runner]
recipe = slapos.cookbook:erp5.test recipe = slapos.cookbook:erp5.test
...@@ -60,25 +70,21 @@ certs = ${directory:test-ca-dir}/certs ...@@ -60,25 +70,21 @@ certs = ${directory:test-ca-dir}/certs
newcerts = ${directory:test-ca-dir}/newcerts newcerts = ${directory:test-ca-dir}/newcerts
crl = ${directory:test-ca-dir}/crl crl = ${directory:test-ca-dir}/crl
[erp5-update] [erp5-bootstrap]
recipe = slapos.cookbook:erp5.update recipe = slapos.cookbook:erp5.bootstrap
runner-path = ${basedirectory:services}/erp5-bootstrap
mysql-url = ${request-mariadb:connection-url}
zope-url = http://${zope-instance:user}:${zope-instance:password}@${zope-instance:ip}:${zope-instance:port}/${slap-parameter:site-id}
# Configuration [erp5-promise]
url = http://${zope-instance:user}:${zope-instance:password}@${zope-instance:ip}:${zope-instance:port}/ recipe = slapos.cookbook:erp5.promise
mysql-url = ${request-mariadb:connection-url} promise-path = ${slap-parameter:promise-path}
kumofs-url = ${request-kumofs:connection-url} kumofs-url = ${request-kumofs:connection-url}
memcached-url = ${request-memcached:connection-url} memcached-url = ${request-memcached:connection-url}
cloudooo-url = ${request-cloudooo:connection-url} cloudooo-url = ${request-cloudooo:connection-url}
site-id = ${slap-parameter:site-id} smtp-url = ${slap-parameter:smtp-url}
openssl-binary = {{ openssl_location }}/bin/openssl bt5 = ${slap-parameter:bt5}
cadir-path = ${erp5-certificate-authority:ca-dir} bt5-repository-url = ${slap-parameter:bt5-repository-url}
# Paths
update-wrapper = ${basedirectory:services}/erp5-update
# Defaults
configurator-bt5-list = erp5_full_text_myisam_catalog erp5_configurator_standard erp5_configurator_maxma_demo erp5_configurator_ung erp5_configurator_ung erp5_configurator_run_my_doc
bt5-repository-list = ${zope-instance:bt5-repository-list}
[request-common] [request-common]
recipe = slapos.cookbook:request recipe = slapos.cookbook:request
...@@ -114,7 +120,18 @@ software-type = memcached ...@@ -114,7 +120,18 @@ software-type = memcached
name = KumoFS name = KumoFS
software-type = kumofs software-type = kumofs
[zope-instance]
promise-path = ${slap-parameter:promise-path}
site-id = ${slap-parameter:site-id}
[directory] [directory]
test-ca-dir = ${rootdirectory:srv}/test-ca test-ca-dir = ${rootdirectory:srv}/test-ca
test-instance-path = ${rootdirectory:srv}/test-instance test-instance-path = ${rootdirectory:srv}/test-instance
unit-test-path = ${:test-instance-path}/unit_test unit-test-path = ${:test-instance-path}/unit_test
[promise-erp5-site]
recipe = slapos.cookbook:check_url_available
path = ${basedirectory:promises}/erp5site
url = http://${zope-instance:ip}:${zope-instance:port}/${slap-parameter:site-id}
dash_path = {{ dash_location }}/bin/dash
curl_path = {{ curl_location }}/bin/curl
...@@ -6,6 +6,10 @@ parts = ...@@ -6,6 +6,10 @@ parts =
logrotate-entry-kumofs logrotate-entry-kumofs
cron cron
cron-entry-logrotate cron-entry-logrotate
promise-kumofs-server
promise-kumofs-server-listen
promise-kumofs-gateway
promise-kumofs-manager
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
...@@ -70,6 +74,7 @@ state-file = ${rootdirectory:srv}/logrotate.status ...@@ -70,6 +74,7 @@ state-file = ${rootdirectory:srv}/logrotate.status
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
log = ${rootdirectory:var}/log log = ${rootdirectory:var}/log
services = ${rootdirectory:etc}/run services = ${rootdirectory:etc}/run
promise = ${rootdirectory:etc}/promise
run = ${rootdirectory:var}/run run = ${rootdirectory:var}/run
backup = ${rootdirectory:srv}/backup backup = ${rootdirectory:srv}/backup
...@@ -109,3 +114,26 @@ recipe = slapos.cookbook:cron.d ...@@ -109,3 +114,26 @@ recipe = slapos.cookbook:cron.d
name = logrotate name = logrotate
frequency = 0 0 * * * frequency = 0 0 * * *
command = ${logrotate:wrapper} command = ${logrotate:wrapper}
# Deploy zope promises scripts
[promise-template]
recipe = slapos.cookbook:check_port_listening
path = ${basedirectory:promise}/kumofs
hostname = ${kumofs-instance:ip}
port = ${kumofs-instance:server-listen-port}
[promise-kumofs-server]
<= promise-template
port = ${kumofs-instance:server-port}
[promise-kumofs-server-listen]
<= promise-template
port = ${kumofs-instance:server-listen-port}
[promise-kumofs-gateway]
<= promise-template
port = ${kumofs-instance:gateway-port}
[promise-kumofs-manager]
<= promise-template
port = ${kumofs-instance:manager-port}
...@@ -8,6 +8,7 @@ parts = ...@@ -8,6 +8,7 @@ parts =
cron-entry-logrotate cron-entry-logrotate
cron-entry-mariadb-backup cron-entry-mariadb-backup
binary-link binary-link
promise
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
...@@ -156,6 +157,7 @@ bin = ${buildout:directory}/bin ...@@ -156,6 +157,7 @@ bin = ${buildout:directory}/bin
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
log = ${rootdirectory:var}/log log = ${rootdirectory:var}/log
services = ${rootdirectory:etc}/run services = ${rootdirectory:etc}/run
promise = ${rootdirectory:etc}/promise
run = ${rootdirectory:var}/run run = ${rootdirectory:var}/run
backup = ${rootdirectory:srv}/backup backup = ${rootdirectory:srv}/backup
...@@ -171,3 +173,8 @@ mariadb-data = ${rootdirectory:srv}/mariadb ...@@ -171,3 +173,8 @@ mariadb-data = ${rootdirectory:srv}/mariadb
logrotate-backup = ${basedirectory:backup}/logrotate logrotate-backup = ${basedirectory:backup}/logrotate
logrotate-entries = ${rootdirectory:etc}/logrotate.d logrotate-entries = ${rootdirectory:etc}/logrotate.d
[promise]
recipe = slapos.cookbook:check_port_listening
path = ${basedirectory:promise}/mariadb
hostname = ${mariadb-instance:ip}
port = ${mariadb-instance:port}
...@@ -9,23 +9,22 @@ ...@@ -9,23 +9,22 @@
parts = parts =
memcached-instance memcached-instance
publish-memcached-connection-information publish-memcached-connection-information
promise
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
offline = true offline = true
[rootdirectory] [directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
etc = ${buildout:directory}/etc etc = ${buildout:directory}/etc
bin = ${buildout:directory}/bin bin = ${buildout:directory}/bin
service = ${:etc}/run
[basedirectory] promise = ${:etc}/promise
recipe = slapos.cookbook:mkdirectory
services = ${rootdirectory:etc}/run
[memcached-instance] [memcached-instance]
recipe = slapos.cookbook:generic.memcached recipe = slapos.cookbook:generic.memcached
wrapper_path = ${basedirectory:services}/memcached wrapper_path = ${directory:service}/memcached
binary_path = {{ memcached_location }}/bin/memcached binary_path = {{ memcached_location }}/bin/memcached
shell-path = {{ dash_location }}/bin/dash shell-path = {{ dash_location }}/bin/dash
ip = ${slap-network-information:local-ipv4} ip = ${slap-network-information:local-ipv4}
...@@ -34,3 +33,10 @@ port = 11000 ...@@ -34,3 +33,10 @@ port = 11000
[publish-memcached-connection-information] [publish-memcached-connection-information]
recipe = slapos.cookbook:publishurl recipe = slapos.cookbook:publishurl
url = memcached://${memcached-instance:ip}:${memcached-instance:port}/ url = memcached://${memcached-instance:ip}:${memcached-instance:port}/
# Deploy zope promises scripts
[promise]
recipe = slapos.cookbook:check_port_listening
path = ${directory:promise}/memcache
hostname = ${memcached-instance:ip}
port = ${memcached-instance:port}
...@@ -12,6 +12,8 @@ parts = ...@@ -12,6 +12,8 @@ parts =
cron-entry-logrotate cron-entry-logrotate
binary-link binary-link
bt5-erp5-link bt5-erp5-link
promise-zope
promise-apache-zope-backend
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
...@@ -243,6 +245,7 @@ tmp = ${buildout:directory}/tmp ...@@ -243,6 +245,7 @@ tmp = ${buildout:directory}/tmp
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
log = ${rootdirectory:var}/log log = ${rootdirectory:var}/log
services = ${rootdirectory:etc}/run services = ${rootdirectory:etc}/run
promises = ${rootdirectory:etc}/promise/
run = ${rootdirectory:var}/run run = ${rootdirectory:var}/run
backup = ${rootdirectory:srv}/backup backup = ${rootdirectory:srv}/backup
bt5-erp5 = ${rootdirectory:var}/bt5_erp5 bt5-erp5 = ${rootdirectory:var}/bt5_erp5
...@@ -289,3 +292,17 @@ crontabs = ${rootdirectory:etc}/crontabs ...@@ -289,3 +292,17 @@ crontabs = ${rootdirectory:etc}/crontabs
cronstamps = ${rootdirectory:etc}/cronstamps cronstamps = ${rootdirectory:etc}/cronstamps
logrotate-backup = ${basedirectory:backup}/logrotate logrotate-backup = ${basedirectory:backup}/logrotate
logrotate-entries = ${rootdirectory:etc}/logrotate.d logrotate-entries = ${rootdirectory:etc}/logrotate.d
# Deploy zope promises scripts
[promise-zope]
recipe = slapos.cookbook:check_port_listening
path = ${basedirectory:promises}/zope
hostname = ${zope-instance:ip}
port = ${zope-instance:port}
[promise-apache-zope-backend]
recipe = slapos.cookbook:check_port_listening
path = ${basedirectory:promises}/apache-backend
hostname = ${apache-zope-backend-instance:ip}
port = ${apache-zope-backend-instance:port}
...@@ -168,6 +168,9 @@ extra-context = ...@@ -168,6 +168,9 @@ extra-context =
[template-erp5-development-parameters] [template-erp5-development-parameters]
bin-directory = {{ bin_directory }} bin-directory = {{ bin_directory }}
openssl = {{ openssl_location }} openssl = {{ openssl_location }}
local_bt5_repository = {{ local_bt5_repository }}
dash = {{ dash_location }}
curl = {{ curl_location }}
[template-erp5-development] [template-erp5-development]
< = jinja2-template-base < = jinja2-template-base
...@@ -179,7 +182,10 @@ filename = instance-erp5-development.cfg ...@@ -179,7 +182,10 @@ filename = instance-erp5-development.cfg
extra-context = extra-context =
key bin_directory template-erp5-development-parameters:bin-directory key bin_directory template-erp5-development-parameters:bin-directory
key openssl_location template-erp5-development-parameters:openssl key openssl_location template-erp5-development-parameters:openssl
key curl_location template-erp5-development-parameters:curl
key dash_location template-erp5-development-parameters:dash
key template_zope dynamic-template-zope:rendered key template_zope dynamic-template-zope:rendered
key local_bt5_repository template-erp5-development-parameters:local_bt5_repository
[switch-softwaretype] [switch-softwaretype]
recipe = slapos.cookbook:softwaretype recipe = slapos.cookbook:softwaretype
......
...@@ -66,7 +66,7 @@ mode = 0644 ...@@ -66,7 +66,7 @@ mode = 0644
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-apache-php.cfg url = ${:_profile_base_location_}/instance-apache-php.cfg
output = ${buildout:directory}/template-apache-php.cfg output = ${buildout:directory}/template-apache-php.cfg
md5sum = b5fe314c3437151bb048ada9b37f9318 md5sum = ae9c0f8c70a62f13eb948424c99d71e2
mode = 0644 mode = 0644
[template-apache-backup] [template-apache-backup]
......
# This file is deprecated. Please use stack/slapos.cfg instead.
[buildout] [buildout]
networkcache-section = networkcache networkcache-section = networkcache
......
...@@ -2,18 +2,13 @@ ...@@ -2,18 +2,13 @@
# Software Releases or Stacks can safely extend this stack. # Software Releases or Stacks can safely extend this stack.
[buildout] [buildout]
# It is good idea for developers to add explicitely this part in their profile # Developers need to add explicitely this part in their software profile
parts += slapos-cookbook parts = slapos-cookbook
# Generate list of automatically chosen eggs version # Generate list of automatically chosen eggs version
extensions += extensions +=
buildout-versions buildout-versions
# Use shacache and lxml
extends =
shacache-client.cfg
../component/lxml-python/buildout.cfg
# Separate from site eggs # Separate from site eggs
allowed-eggs-from-site-packages = allowed-eggs-from-site-packages =
include-site-packages = false include-site-packages = false
...@@ -30,6 +25,7 @@ allow-hosts += ...@@ -30,6 +25,7 @@ allow-hosts +=
*.python.org *.python.org
*.sourceforge.net *.sourceforge.net
alastairs-place.net alastairs-place.net
bitbucket.org
dist.repoze.org dist.repoze.org
effbot.org effbot.org
github.com github.com
...@@ -45,18 +41,25 @@ allow-hosts += ...@@ -45,18 +41,25 @@ allow-hosts +=
# development / fast switching environment for whole software # development / fast switching environment for whole software
unzip = true unzip = true
# Define where is defined what version of eggs we should use
versions = versions versions = versions
# Define networkcache with shacache.org
networkcache-section = networkcache
# Install slapos.cookbook containing all officials recipes # Install slapos.cookbook containing all officials recipes
[slapos-cookbook] [slapos-cookbook]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg}
slapos.cookbook slapos.cookbook
[versions] [versions]
# Use patched hexagonit.recipe.download from # Use patched hexagonit.recipe.download from
# https://github.com/SlapOS/hexagonit.recipe.download # https://github.com/SlapOS/hexagonit.recipe.download
hexagonit.recipe.download = 1.5.1-dev-slapos-001 hexagonit.recipe.download = 1.5.1-dev-slapos-002
# Use SlapOS patched zc.buildout # Use SlapOS patched zc.buildout
zc.buildout = 1.6.0-dev-SlapOS-006 zc.buildout = 1.6.0-dev-SlapOS-006
[networkcache]
download-cache-url = http://www.shacache.org/shacache
download-dir-url = http://www.shacache.org/shadir
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment