Commit 66626020 authored by Kirill Smelkov's avatar Kirill Smelkov

Merge remote-tracking branch 'origin/master' into x/gitlab

parents a9f3ff19 5d243d1a
Changes Changes
======= =======
1.0.14 (2015-10.26)
-------------------
* kvm recipe: Allow to set keyboard layout language used by qemu and VNC
* simplehttpserver-recipe: fix encoding error
0.103 (2015-07-24) 0.103 (2015-07-24)
------------------ ------------------
* kvm: fix issues with boolean parameters and add 'qed' in external disk format list. * kvm: fix issues with boolean parameters and add 'qed' in external disk format list.
......
...@@ -11,13 +11,10 @@ extends = ...@@ -11,13 +11,10 @@ extends =
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://toxygen.net/6tunnel/6tunnel-0.11rc2.tar.gz url = http://toxygen.net/6tunnel/6tunnel-0.11rc2.tar.gz
md5sum = 74e02d4f0704b3083a01feda66033449 md5sum = 74e02d4f0704b3083a01feda66033449
configure-command = pre-configure =
aclocal aclocal
autoheader autoheader
automake --foreign automake --foreign
autoconf autoconf
./configure
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
environment = environment =
PATH=${autoconf:location}/bin:${automake:location}/bin:%(PATH)s PATH=${autoconf:location}/bin:${automake:location}/bin:%(PATH)s
...@@ -33,9 +33,10 @@ recipe = slapos.recipe.cmmi ...@@ -33,9 +33,10 @@ recipe = slapos.recipe.cmmi
version = 2.4.16 version = 2.4.16
url = https://archive.apache.org/dist/httpd/httpd-${:version}.tar.bz2 url = https://archive.apache.org/dist/httpd/httpd-${:version}.tar.bz2
md5sum = 2b19cd338fd526dd5a63c57b1e9bfee2 md5sum = 2b19cd338fd526dd5a63c57b1e9bfee2
configure-command = cp -ar ${apr:location}/apr-${apr:version} srclib/apr/; cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util; ./configure pre-configure =
configure-options = --prefix=${buildout:parts-directory}/${:_buildout_section_name_} cp -ar ${apr:location}/apr-${apr:version} srclib/apr/ &&
--disable-static cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util
configure-options = --disable-static
--enable-authn-alias --enable-authn-alias
--enable-bucketeer --enable-bucketeer
--enable-cache --enable-cache
......
...@@ -7,12 +7,9 @@ extends = ...@@ -7,12 +7,9 @@ extends =
../ncurses/buildout.cfg ../ncurses/buildout.cfg
../perl/buildout.cfg ../perl/buildout.cfg
[aspell-common-dictionary] [aspell-dictionary-common]
location = ${buildout:parts-directory}/${:_buildout_section_name_} recipe = slapos.recipe.cmmi
recipe = plone.recipe.command configure-command = ./configure --vars ASPELL=${aspell:location}/bin/aspell PREZIP=${aspell:location}/bin/prezip-bin
command = mkdir -p ${:location}
update-command = ${:command}
stop-on-error = yes
[aspell] [aspell]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -24,7 +21,6 @@ environment = ...@@ -24,7 +21,6 @@ environment =
LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib
[aspell-en-dictionary] [aspell-en-dictionary]
recipe = slapos.recipe.cmmi <= aspell-dictionary-common
url = ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-7.1-0.tar.bz2 url = ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-7.1-0.tar.bz2
md5sum = beba5e8f3afd3ed1644653bb685b2dfb md5sum = beba5e8f3afd3ed1644653bb685b2dfb
configure-command = ./configure --vars ASPELL=${aspell:location}/bin/aspell PREZIP=${aspell:location}/bin/prezip-bin
...@@ -10,7 +10,7 @@ recipe = slapos.recipe.cmmi ...@@ -10,7 +10,7 @@ recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.23.tar.xz url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.23.tar.xz
md5sum = abed135279f87ad6762ce57ff6d89c41 md5sum = abed135279f87ad6762ce57ff6d89c41
configure-options = configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_} --enable-install-program=tr,basename,uname,cat,cp,ls -enable-install-program=tr,basename,uname,cat,cp,ls
environment = environment =
PATH=${xz-utils:location}/bin:%(PATH)s PATH=${xz-utils:location}/bin:%(PATH)s
LDFLAGS=-Wl,--as-needed -L${gmp:location}/lib -Wl,-rpath=${gmp:location}/lib LDFLAGS=-Wl,--as-needed -L${gmp:location}/lib -Wl,-rpath=${gmp:location}/lib
......
...@@ -14,13 +14,11 @@ recipe = slapos.recipe.cmmi ...@@ -14,13 +14,11 @@ recipe = slapos.recipe.cmmi
url = ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.26.tar.gz url = ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.26.tar.gz
md5sum = a7f4e5e559a0e37b3ffc438c9456e425 md5sum = a7f4e5e559a0e37b3ffc438c9456e425
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command = pre-configure =
"${libtool:location}/bin/libtoolize" -c -f && "${libtool:location}/bin/libtoolize" -c -f &&
"${automake:location}/bin/aclocal" -I "${libtool:location}/share/aclocal" -I config -I cmulocal && "${automake:location}/bin/aclocal" -I "${libtool:location}/share/aclocal" -I config -I cmulocal &&
"${automake:location}/bin/automake" -c -a -f && "${automake:location}/bin/automake" -c -a -f
./configure
configure-options = configure-options =
--prefix=${:location}
--disable-digest --disable-digest
--disable-gssapi --disable-gssapi
--disable-otp --disable-otp
......
...@@ -20,7 +20,6 @@ md5sum = 0284ea239083f04c8b874e08e1aca243 ...@@ -20,7 +20,6 @@ md5sum = 0284ea239083f04c8b874e08e1aca243
url = http://matt.ucc.asn.au/dropbear/releases/dropbear-0.53.1.tar.bz2 url = http://matt.ucc.asn.au/dropbear/releases/dropbear-0.53.1.tar.bz2
configure-options = configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-zlib=${zlib:location} --with-zlib=${zlib:location}
CFLAGS="-DENABLE_SINGLEUSER -D__DIRTY_NO_SHELL_CHECKING" CFLAGS="-DENABLE_SINGLEUSER -D__DIRTY_NO_SHELL_CHECKING"
......
...@@ -81,6 +81,7 @@ environment = ...@@ -81,6 +81,7 @@ environment =
GLIB_LIBS=-L${glib:location}/lib -lglib-2.0 -lintl -lgobject-2.0 GLIB_LIBS=-L${glib:location}/lib -lglib-2.0 -lintl -lgobject-2.0
FFI_CFLAGS=-I${libffi:location}/include FFI_CFLAGS=-I${libffi:location}/include
FFI_LIBS=-L${libffi:location}/lib -Wl,-rpath=${libffi:location}/lib -lffi FFI_LIBS=-L${libffi:location}/lib -Wl,-rpath=${libffi:location}/lib -lffi
GIR_DIR=${buildout:parts-directory}/${:_buildout_section_name_}/share/gir-1.0
[pygobject3] [pygobject3]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
...@@ -144,4 +145,3 @@ extra-paths = ...@@ -144,4 +145,3 @@ extra-paths =
${dbus-python:python-egg} ${dbus-python:python-egg}
${firewalld:python-egg} ${firewalld:python-egg}
${pygobject3:python-egg} ${pygobject3:python-egg}
...@@ -32,8 +32,8 @@ environment = ...@@ -32,8 +32,8 @@ environment =
[ghostscript-9] [ghostscript-9]
<= ghostscript-common <= ghostscript-common
url = http://downloads.ghostscript.com/public/ghostscript-9.16.tar.bz2 url = http://downloads.ghostscript.com/public/ghostscript-9.18.tar.bz2
md5sum = 21732fd6e39acc283bc623b8842cbfbb md5sum = aa125af368d89b3dbd15fc379f13375f
[ghostscript-fonts] [ghostscript-fonts]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
......
...@@ -16,9 +16,10 @@ patches = ...@@ -16,9 +16,10 @@ patches =
${:_profile_base_location_}/CVE-2014-9029.patch#d69195cf17878f024cc0b580045ec314 ${:_profile_base_location_}/CVE-2014-9029.patch#d69195cf17878f024cc0b580045ec314
${:_profile_base_location_}/CVE-2014-8137.patch#bc5103b9a33315538106bf6652383a10 ${:_profile_base_location_}/CVE-2014-8137.patch#bc5103b9a33315538106bf6652383a10
${:_profile_base_location_}/CVE-2014-8138.patch#bfb9604fe84b6e686fea29bd760cf34d ${:_profile_base_location_}/CVE-2014-8138.patch#bfb9604fe84b6e686fea29bd760cf34d
# jasper configure script is not executable by default configure-options =
configure-command = --disable-static
/bin/sh ./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static --enable-shared --disable-opengl --enable-shared
--disable-opengl
environment = environment =
CPPFLAGS=-I${libjpeg:location}/include CPPFLAGS=-I${libjpeg:location}/include
LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib
[buildout] [buildout]
parts = leptonica parts = leptonica
extends = extends =
../libtool/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
../libjpeg/buildout.cfg ../libjpeg/buildout.cfg
../libpng/buildout.cfg ../libpng/buildout.cfg
...@@ -13,13 +12,11 @@ extends = ...@@ -13,13 +12,11 @@ extends =
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://leptonica.googlecode.com/files/leptonica-1.68.tar.gz url = http://leptonica.googlecode.com/files/leptonica-1.68.tar.gz
md5sum = 5cd7092f9ff2ca7e3f3e73bfcd556403 md5sum = 5cd7092f9ff2ca7e3f3e73bfcd556403
configure-command = configure-options =
./autogen.sh --disable-static
./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static
patch-options = -p1 patch-options = -p1
patches = patches =
${:_profile_base_location_}/leptonica-1.69-zlib-include.patch#cff3dc942075190939b407c38e0d3201 ${:_profile_base_location_}/leptonica-1.69-zlib-include.patch#cff3dc942075190939b407c38e0d3201
environment = 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 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 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
...@@ -18,15 +18,15 @@ environment = ...@@ -18,15 +18,15 @@ environment =
[libpng12] [libpng12]
<= libpng-common <= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.2.52.tar.xz url = http://download.sourceforge.net/libpng/libpng-1.2.53.tar.xz
md5sum = 49d5c71929bf69a172147c47b9309fbe md5sum = 7d18a74e6fd2029aee76ccd00e00a9e6
[libpng15] [libpng15]
<= libpng-common <= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.5.21.tar.xz url = http://download.sourceforge.net/libpng/libpng-1.5.23.tar.xz
md5sum = 22eaa2e90352fcd153bed0cdecf542cb md5sum = 725f9b98143450df03decf08b4bc42e3
[libpng] [libpng]
<= libpng-common <= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.6.16.tar.xz url = http://download.sourceforge.net/libpng/libpng-1.6.18.tar.xz
md5sum = 23b7286b5d4a86de950fd2ffc5cac742 md5sum = 6a57c8e0f5469b9c9949a4b43d57b3a1
...@@ -20,15 +20,16 @@ parts = ...@@ -20,15 +20,16 @@ parts =
[mariadb] [mariadb]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
version = 10.0.21 version = 10.1.8
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb
md5sum = 956561f3798d1fe8dfbe4b665287a87a md5sum = 9ba0aaabba40153d83e70edcc1aa43a8
location = ${buildout:parts-directory}/${:_buildout_section_name_}
patch-options = -p0 patch-options = -p0
patches = patches =
${:_profile_base_location_}/mariadb_10.0.8_create_system_tables__no_test.patch#a176d491cf45fccd53ee397c70393bc4 ${:_profile_base_location_}/mariadb_10.1.8_create_system_tables__no_test.patch#d2f337e76b290071daf8985a79bda82a
configure-command = ${cmake:location}/bin/cmake configure-command = ${cmake:location}/bin/cmake
configure-options = configure-options =
-DCMAKE_INSTALL_PREFIX=${buildout:parts-directory}/${:_buildout_section_name_} -DCMAKE_INSTALL_PREFIX=${:location}
-DBUILD_CONFIG=mysql_release -DBUILD_CONFIG=mysql_release
-DDEFAULT_CHARSET=utf8 -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_unicode_ci -DDEFAULT_COLLATION=utf8_unicode_ci
...@@ -52,6 +53,9 @@ environment = ...@@ -52,6 +53,9 @@ environment =
CMAKE_INCLUDE_PATH=${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${pcre:location}/include:${readline5:location}/include:${zlib:location}/include CMAKE_INCLUDE_PATH=${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${pcre:location}/include:${readline5:location}/include:${zlib:location}/include
CMAKE_LIBRARY_PATH=${libaio:location}/lib:{libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${readline5:location}/lib:${zlib:location}/lib CMAKE_LIBRARY_PATH=${libaio:location}/lib:{libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${readline5:location}/lib:${zlib:location}/lib
LDFLAGS=-L${jemalloc:location}/lib -Wl,-rpath=${jemalloc:location}/lib -L${libaio:location}/lib -Wl,-rpath=${libaio:location}/lib -L${pcre:location}/lib -L${zlib:location}/lib LDFLAGS=-L${jemalloc:location}/lib -Wl,-rpath=${jemalloc:location}/lib -L${libaio:location}/lib -Wl,-rpath=${libaio:location}/lib -L${pcre:location}/lib -L${zlib:location}/lib
post-install =
mkdir -p ${:location}/include/wsrep &&
cp -p wsrep/wsrep_api.h ${:location}/include/wsrep
[mroonga-mariadb] [mroonga-mariadb]
# mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users. # mroonga - a storage engine for MySQL. It provides fast fulltext search feature to all MySQL users.
...@@ -59,9 +63,10 @@ environment = ...@@ -59,9 +63,10 @@ environment =
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/mroonga/mroonga-5.08.tar.gz url = http://packages.groonga.org/source/mroonga/mroonga-5.08.tar.gz
md5sum = 65011c1da8700c4950d11dea7355b32d md5sum = 65011c1da8700c4950d11dea7355b32d
configure-command = mkdir fake_mariadb_source && ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql && ./configure pre-configure =
mkdir fake_mariadb_source &&
ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql
configure-options = configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-mysql-source=fake_mariadb_source --with-mysql-source=fake_mariadb_source
--with-mysql-config=${mariadb:location}/bin/mysql_config --with-mysql-config=${mariadb:location}/bin/mysql_config
--disable-static --disable-static
...@@ -69,6 +74,7 @@ configure-options = ...@@ -69,6 +74,7 @@ configure-options =
patch-options = -p1 patch-options = -p1
patches = patches =
${:_profile_base_location_}/mroonga_boolean.patch#36645770ae612515b74b90884ecc59fc ${:_profile_base_location_}/mroonga_boolean.patch#36645770ae612515b74b90884ecc59fc
${:_profile_base_location_}/mroonga_5.08_mariadb_10.1.8.patch#ead45e0fbb4cf3c2d39ece012793d3c4
environment = environment =
PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s
CPPFLAGS=-I${groonga:location}/include/groonga -I${pcre:location}/include CPPFLAGS=-I${groonga:location}/include/groonga -I${pcre:location}/include
......
...@@ -5,8 +5,8 @@ circumstances as it is checked first. ...@@ -5,8 +5,8 @@ circumstances as it is checked first.
See http://bugs.debian.org/301741 See http://bugs.debian.org/301741
and http://bugs.mysql.com/bug.php?id=6901 and http://bugs.mysql.com/bug.php?id=6901
--- scripts/mysql_system_tables_data.sql.orig 2013-11-05 17:46:05.000000000 +0100 --- scripts/mysql_system_tables_data.sql.orig 2015-10-15 17:43:45.000000000 +0200
+++ scripts/mysql_system_tables_data.sql 2013-11-08 09:28:34.707291508 +0100 +++ scripts/mysql_system_tables_data.sql 2015-10-19 16:44:16.121393390 +0200
@@ -30,8 +30,6 @@ @@ -30,8 +30,6 @@
-- Fill "db" table with default grants for anyone to -- Fill "db" table with default grants for anyone to
-- access database 'test' and 'test_%' if "db" table didn't exist -- access database 'test' and 'test_%' if "db" table didn't exist
...@@ -17,9 +17,9 @@ and http://bugs.mysql.com/bug.php?id=6901 ...@@ -17,9 +17,9 @@ and http://bugs.mysql.com/bug.php?id=6901
DROP TABLE tmp_db; DROP TABLE tmp_db;
@@ -43,8 +41,6 @@ @@ -43,8 +41,6 @@
REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N' FROM dual WHERE @current_hostname != 'localhost'; REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N','',0 FROM dual WHERE @current_hostname != 'localhost';
REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N'); REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N','',0);
REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N'); REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N', '', 0);
-INSERT INTO tmp_user (host,user) VALUES ('localhost',''); -INSERT INTO tmp_user (host,user) VALUES ('localhost','');
-INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE @current_hostname != 'localhost'; -INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE @current_hostname != 'localhost';
INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0; INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
......
commit 4a40e81d17d1df28cfeca56d3d9c8f26d0132cfa
Author: Kouhei Sutou <kou@clear-code.com>
Date: Sun Oct 18 17:23:28 2015 +0900
Use public API
It fixes a build error on MariaDB 10.1.8.
diff --git a/ha_mroonga.cpp b/ha_mroonga.cpp
index 819de30..bfd9631 100644
--- a/ha_mroonga.cpp
+++ b/ha_mroonga.cpp
@@ -9620,13 +9620,13 @@ void ha_mroonga::check_count_skip(key_part_map start_key_part_map,
if (where->type() == Item::FUNC_ITEM) {
Item_func *func_item = static_cast<Item_func *>(where);
- if (func_item->arg_count == 0) {
+ if (func_item->argument_count() == 0) {
break;
}
target = func_item->key_item();
where = where->next;
if (func_item->arguments()[0] == where) {
- uint n_args = func_item->arg_count;
+ uint n_args = func_item->argument_count();
for (; n_args > 0; --n_args) {
where = where->next;
}
...@@ -11,7 +11,6 @@ configure-options = ...@@ -11,7 +11,6 @@ configure-options =
--with-shared --with-shared
--without-ada --without-ada
--without-manpages --without-manpages
--without-progs
--without-tests --without-tests
--without-normal --without-normal
--without-debug --without-debug
......
...@@ -19,10 +19,9 @@ md5sum = 77f27dce7ef88d0634d0d6f90e03a77f ...@@ -19,10 +19,9 @@ md5sum = 77f27dce7ef88d0634d0d6f90e03a77f
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
# build pkg-config twice so that second configure can use pkg-config # build pkg-config twice so that second configure can use pkg-config
# to compute GLIB_CFLAGS and GLIB_LIBS. # to compute GLIB_CFLAGS and GLIB_LIBS.
configure-command = pre-configure =
./configure --prefix=${:location} --with-installed-glib --with-installed-popt && make && ./configure ./configure --prefix=${:location} --with-installed-glib --with-installed-popt && make
configure-options = configure-options =
--prefix=${:location}
--with-installed-glib --with-installed-glib
--with-installed-popt --with-installed-popt
--disable-host-tool --disable-host-tool
......
...@@ -15,8 +15,8 @@ extends = ...@@ -15,8 +15,8 @@ extends =
[kvm] [kvm]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
# qemu-kvm and qemu are now the same since 1.3. # qemu-kvm and qemu are now the same since 1.3.
url = http://wiki.qemu-project.org/download/qemu-2.2.1.tar.bz2 url = http://wiki.qemu-project.org/download/qemu-2.4.0.tar.bz2
md5sum = 833ff4457062456d38d6567f802ffef4 md5sum = 186ee8194140a484a455f8e3c74589f4
configure-options = configure-options =
--target-list="$(uname -m 2>/dev/null|sed 's,^i[456]86$,i386,')-softmmu" --target-list="$(uname -m 2>/dev/null|sed 's,^i[456]86$,i386,')-softmmu"
--enable-system --enable-system
...@@ -29,9 +29,9 @@ configure-options = ...@@ -29,9 +29,9 @@ configure-options =
--disable-curl --disable-curl
--enable-kvm --enable-kvm
--disable-docs --disable-docs
--enable-vnc
--enable-vnc-png --enable-vnc-png
--disable-vnc-jpeg --disable-vnc-jpeg
--enable-vnc-ws
--extra-cflags="-I${gnutls:location}/include -I${libuuid:location}/include -I${zlib:location}/include -I${libpng:location}/include" --extra-cflags="-I${gnutls:location}/include -I${libuuid:location}/include -I${zlib:location}/include -I${libpng:location}/include"
--extra-ldflags="-Wl,-rpath -Wl,${glib:location}/lib -L${glib:location}/lib -Wl,-rpath -Wl,${gnutls:location}/lib -L${gnutls:location}/lib -Wl,-rpath -Wl,${gpg-error:location}/lib -L${gpg-error:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib -Wl,-rpath -Wl,${libpng:location}/lib -L${libpng:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -lpng -lz -lgnutls" --extra-ldflags="-Wl,-rpath -Wl,${glib:location}/lib -L${glib:location}/lib -Wl,-rpath -Wl,${gnutls:location}/lib -L${gnutls:location}/lib -Wl,-rpath -Wl,${gpg-error:location}/lib -L${gpg-error:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib -Wl,-rpath -Wl,${libpng:location}/lib -L${libpng:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -lpng -lz -lgnutls"
--disable-werror --disable-werror
......
...@@ -20,13 +20,15 @@ patch-options = ...@@ -20,13 +20,15 @@ patch-options =
patches = patches =
${:_profile_base_location_}/tesseract-3.00-gcc-4.7-build.patch#ca80db3ec489c547b03f3ee48879c1b1 ${:_profile_base_location_}/tesseract-3.00-gcc-4.7-build.patch#ca80db3ec489c547b03f3ee48879c1b1
${:_profile_base_location_}/tesseract-3.01-remove-bom.patch#2e691858cb492b7c17d23bf0912b3d24 ${:_profile_base_location_}/tesseract-3.01-remove-bom.patch#2e691858cb492b7c17d23bf0912b3d24
configure-command = pre-configure =
libtoolize -f -c libtoolize -f -c
aclocal -I ${libtool:location}/share/aclocal -I config aclocal -I ${libtool:location}/share/aclocal -I config
autoheader -f autoheader -f
automake -c -a -f automake -c -a -f
autoconf -Wno-portability autoconf -Wno-portability
./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static --datarootdir=${tesseract-eng-traineddata:location} configure-options =
--disable-static
--datarootdir=${tesseract-eng-traineddata:location}
# XXX: tesseract seems not easily configurable at runtime about where to find # 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 # its trained data, so we set its datarootdir above to a controlled location
......
[buildout] [buildout]
extends = extends =
../../component/lua/buildout.cfg ../../component/lua/buildout.cfg
../../component/hwloc/buildout.cfg
../../component/pkgconfig/buildout.cfg ../../component/pkgconfig/buildout.cfg
../../component/libtool/buildout.cfg ../../component/libtool/buildout.cfg
../../component/make/buildout.cfg ../../component/make/buildout.cfg
...@@ -23,7 +22,6 @@ recipe = slapos.recipe.cmmi ...@@ -23,7 +22,6 @@ recipe = slapos.recipe.cmmi
url = http://apache.claz.org/trafficserver/trafficserver-4.2.3.tar.bz2 url = http://apache.claz.org/trafficserver/trafficserver-4.2.3.tar.bz2
md5sum = 1d06a6e9063ceea3f19dbb84752ec710 md5sum = 1d06a6e9063ceea3f19dbb84752ec710
configure-options = configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-openssl=${openssl:location} --with-openssl=${openssl:location}
--with-xml=libxml2 --with-xml=libxml2
--with-libxml2=${libxml2:location} --with-libxml2=${libxml2:location}
......
...@@ -28,7 +28,7 @@ from setuptools import setup, find_packages ...@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
import glob import glob
import os import os
version = '1.0.9.dev0' version = '1.0.15.dev0'
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"
......
...@@ -49,6 +49,11 @@ httpd_port = %(httpd-port)s ...@@ -49,6 +49,11 @@ httpd_port = %(httpd-port)s
netcat_bin = '%(netcat-binary)s'.strip() netcat_bin = '%(netcat-binary)s'.strip()
cluster_doc_host = '%(cluster-doc-host)s' cluster_doc_host = '%(cluster-doc-host)s'
cluster_doc_port = %(cluster-doc-port)s cluster_doc_port = %(cluster-doc-port)s
language = '%(language)s'
language_list = ['ar', 'da', 'de', 'de-ch', 'en-gb', 'en-us', 'es', 'et', 'fi',
'fo', 'fr', 'fr-be', 'fr-ca', 'fr-ch', 'hr', 'hu', 'is', 'it', 'ja', 'lt',
'lv', 'mk', 'nl', 'nl-be', 'no', 'pl', 'pt', 'pt-br', 'ru', 'sl', 'sv',
'th', 'tr']
def md5Checksum(file_path): def md5Checksum(file_path):
with open(file_path, 'rb') as fh: with open(file_path, 'rb') as fh:
...@@ -246,6 +251,8 @@ if tap_network_parameter == [] and nat_network_parameter == []: ...@@ -246,6 +251,8 @@ if tap_network_parameter == [] and nat_network_parameter == []:
print 'Warning : No network interface defined.' print 'Warning : No network interface defined.'
else: else:
kvm_argument_list += nat_network_parameter + tap_network_parameter kvm_argument_list += nat_network_parameter + tap_network_parameter
if language in language_list:
kvm_argument_list.extend(['-k', language])
for disk in additional_disk_list: for disk in additional_disk_list:
kvm_argument_list.extend([ kvm_argument_list.extend([
......
...@@ -33,7 +33,7 @@ class Recipe(GenericBaseRecipe): ...@@ -33,7 +33,7 @@ class Recipe(GenericBaseRecipe):
def _options(self, options): def _options(self, options):
self.directory = options.copy() self.directory = options.copy()
del self.directory['recipe'] del self.directory['recipe']
self.mode = int(self.directory.pop('mode', '700'), 8) self.mode = int(self.directory.pop('mode', '0777'), 8)
def install(self): def install(self):
for path in sorted(self.directory.itervalues()): for path in sorted(self.directory.itervalues()):
......
...@@ -65,7 +65,7 @@ class ServerHandler(SimpleHTTPRequestHandler): ...@@ -65,7 +65,7 @@ class ServerHandler(SimpleHTTPRequestHandler):
logging.info('Writing recieved content to file %s' % file_path) logging.info('Writing recieved content to file %s' % file_path)
try: try:
with open(file_path, method) as myfile: with open(file_path, method) as myfile:
myfile.write(content.decode('utf-8')) myfile.write(content)
logging.info('Done.') logging.info('Done.')
except IOError as e: except IOError as e:
logging.error('Something happened while processing \'writeFile\'. The message is %s' % logging.error('Something happened while processing \'writeFile\'. The message is %s' %
......
...@@ -98,7 +98,7 @@ mode = 0644 ...@@ -98,7 +98,7 @@ mode = 0644
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644 mode = 644
md5sum = 52e115fe1aaf232994af9037bf7c292c md5sum = 90309e9a1efe6d6b981a27f503c86277
download-only = true download-only = true
on-update = true on-update = true
...@@ -106,7 +106,7 @@ on-update = true ...@@ -106,7 +106,7 @@ on-update = true
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
mode = 644 mode = 644
md5sum = 5700de1cadde0b5bede78f08e215f47a md5sum = 0e06ef2879454eee140fe00e167a01d5
download-only = true download-only = true
on-update = true on-update = true
...@@ -114,7 +114,7 @@ on-update = true ...@@ -114,7 +114,7 @@ on-update = true
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2
mode = 644 mode = 644
md5sum = 7071b61a862ee681c2e4323e6435e98d md5sum = 450a50069f5617993ac8de47d533d653
download-only = true download-only = true
on-update = true on-update = true
......
...@@ -122,6 +122,25 @@ ...@@ -122,6 +122,25 @@
}, },
"type": "object" "type": "object"
}, },
"fw-restricted-access": {
"title": "Restrict all access to VM with firewall.",
"description": "When Firewall is enabled, this parameter define if only vm of this cluster and authorized sources ip should have access to cluster.",
"type": "string",
"enum": ["on", "off"],
"default": "off"
},
"fw-authorized-sources": {
"title": "List of IP/Network address authorized to cluster.",
"description": "When Firewall is enabled, this contain the list of IP address to authorize for access to all VM of this cluster.",
"type": "array",
"optional": true
},
"fw-reject-sources": {
"title": "List of IP/Network address rejected, if 'Restrict all access' is off.",
"description": "When Firewall is enabled, this contain the list of IP address which should not access to all VM of this cluster.",
"type": "array",
"optional": true
},
"authorized-keys": { "authorized-keys": {
"title": "Public keys for virtual machines.", "title": "Public keys for virtual machines.",
"description": "Set the list of public keys to add in your virtual machine. The public key file will be available in the VM via url http://10.0.2.100/authorized_keys if you keep the NAT interface enabled", "description": "Set the list of public keys to add in your virtual machine. The public key file will be available in the VM via url http://10.0.2.100/authorized_keys if you keep the NAT interface enabled",
...@@ -198,6 +217,12 @@ ...@@ -198,6 +217,12 @@
"description": "Simulate a multi node NUMA system. If mem and cpus are omitted, resources are split equally. Each numa option are separated by space: node,nodeid=4,cpus=40-49,mem=64g node,nodeid=1,cpus=10-19,mem=128g. Set this option if you know what you're doing.", "description": "Simulate a multi node NUMA system. If mem and cpus are omitted, resources are split equally. Each numa option are separated by space: node,nodeid=4,cpus=40-49,mem=64g node,nodeid=1,cpus=10-19,mem=128g. Set this option if you know what you're doing.",
"type": "string" "type": "string"
}, },
"keyboard-layout-language": {
"title": "Use keyboard layout language",
"description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display",
"type": "string",
"enum": ["ar", "da", "de", "de-ch", "en-gb", "en-us", "es", "et", "fi", "fo", "fr", "fr-be", "fr-ca", "fr-ch", "hr", "hu", "is", "it", "ja", "lt", "lv", "mk", "nl", "nl-be", "no", "pl", "pt", "pt-br", "ru", "sl", "sv", "th", "tr"]
},
"nbd-host": { "nbd-host": {
"title": "NBD hostname or IP", "title": "NBD hostname or IP",
"description": "hostname (or IP) of the NBD server containing the boot image.", "description": "hostname (or IP) of the NBD server containing the boot image.",
......
...@@ -74,6 +74,13 @@ config-enable-monitor = True ...@@ -74,6 +74,13 @@ config-enable-monitor = True
config-document-host = ${apache-conf:ip} config-document-host = ${apache-conf:ip}
config-document-port = ${apache-conf:port} config-document-port = ${apache-conf:port}
config-document-path = ${hash-code:passwd} config-document-path = ${hash-code:passwd}
config-keyboard-layout-language = {{ dumps(kvm_parameter_dict.get('keyboard-layout-language', '')) }}
{% set authorized_source_list = slapparameter_dict.get('fw-authorized-sources', []) -%}
{% set rejected_source_list = slapparameter_dict.get('fw-reject-sources', []) -%}
sla-fw_authorized_sources = {{ authorized_source_list | join(' ') }}
sla-fw_rejected_sources = {{ rejected_source_list | join(' ') }}
sla-fw_restricted_access = {{ dumps(slapparameter_dict.get('fw-restricted-access', 'off')) }}
return = return =
backend-url backend-url
......
...@@ -44,6 +44,12 @@ ...@@ -44,6 +44,12 @@
"description": "Simulate a multi node NUMA system. If mem and cpus are omitted, resources are split equally. Each numa option are separated by space: node,nodeid=4,cpus=40-49,mem=64g node,nodeid=1,cpus=10-19,mem=128g. Set this option if you know what you're doing.", "description": "Simulate a multi node NUMA system. If mem and cpus are omitted, resources are split equally. Each numa option are separated by space: node,nodeid=4,cpus=40-49,mem=64g node,nodeid=1,cpus=10-19,mem=128g. Set this option if you know what you're doing.",
"type": "string" "type": "string"
}, },
"keyboard-layout-language": {
"title": "Use keyboard layout language",
"description": "Use keyboard layout language (for example fr for French). Can be usefull with VNC display",
"type": "string",
"enum": ["ar", "da", "de", "de-ch", "en-gb", "en-us", "es", "et", "fi", "fo", "fr", "fr-be", "fr-ca", "fr-ch", "hr", "hu", "is", "it", "ja", "lt", "lv", "mk", "nl", "nl-be", "no", "pl", "pt", "pt-br", "ru", "sl", "sv", "th", "tr"]
},
"nbd-host": { "nbd-host": {
"title": "NBD hostname", "title": "NBD hostname",
......
...@@ -34,7 +34,7 @@ return = ...@@ -34,7 +34,7 @@ return =
# XXX: return ALL parameters (like nat rules), through jinja # XXX: return ALL parameters (like nat rules), through jinja
backend-url url ip backend-url url ip
[publish-connection-informations] [publish-connection-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
backend-url = ${request-kvm:connection-backend-url} backend-url = ${request-kvm:connection-backend-url}
url = ${request-kvm:connection-url} url = ${request-kvm:connection-url}
......
...@@ -186,6 +186,7 @@ cluster-doc-host = ...@@ -186,6 +186,7 @@ cluster-doc-host =
cluster-doc-port = 0 cluster-doc-port = 0
{% endif -%} {% endif -%}
netcat-binary = {{ netcat_bin }} netcat-binary = {{ netcat_bin }}
language = ${slap-parameter:keyboard-layout-language}
[kvm-vnc-promise] [kvm-vnc-promise]
recipe = slapos.cookbook:check_port_listening recipe = slapos.cookbook:check_port_listening
...@@ -567,3 +568,6 @@ authorized-key = ...@@ -567,3 +568,6 @@ authorized-key =
# send some content which will be accessible to the vm through static url: http://10.0.2.100/data # send some content which will be accessible to the vm through static url: http://10.0.2.100/data
data-to-vm = data-to-vm =
# Change keyboard layout language
keyboard-layout-language =
#!/usr/bin/env python
# Parse Ansible result log file and and generate a report
import os, time
import json
import sqlite3
from datetime import datetime, timedelta
import sys
FIELDS = ['cmd', 'command', 'start', 'end', 'delta', 'msg', 'stdout', 'stderr',
'response', 'status_code', 'url', 'dest']
class ansibleReport(object):
def __init__(self, db_path,
ansible_log_dir,
name):
self.db_path = db_path
self.ansible_log_dir = ansible_log_dir
self.name = name
self.result_OK = '127.0.0.1_OK'
self.result_failed = '127.0.0.1_FAILED'
self.result_failed_ignore = '127.0.0.1_FAILED_INGORED' # tipo in ansible log upload pluging
self.date_format = '%Y-%m-%d %H:%M:%S'
self.day_format = '%Y-%m-%d'
self._init_db()
def _init_db(self):
db = sqlite3.connect(self.db_path)
c = db.cursor()
c.executescript("""
CREATE TABLE IF NOT EXISTS ansible_report (
name VARCHAR(40),
reportdate VARCHAR(15),
createdate VARCHAR(15),
status VARCHAR(20),
success_count INTEGER,
ignored_count INTEGER,
failed_count INTEGER,
ignored TEXT,
failed TEXT,
success TEXT);
""")
db.commit()
db.close()
def connect_db(self):
db = sqlite3.connect(self.db_path)
return db
def insertEntryDb(self, table_name, data_dict):
db = self.connect_db()
columns = data_dict.keys()
entries = ', '.join(columns)
values = '?' + ', ?' * (len(columns)-1)
sql_string = "insert into %s(%s) values (%s)" % (
table_name, entries, values)
tuple_data = ()
for key in columns:
tuple_data += (data_dict[key],)
db.execute(sql_string, tuple_data)
db.commit()
db.close()
def selectEntriesDb(self, fields=[], start_date=None, limit=0, success=None, order='DESC', where=""):
db = self.connect_db()
entries = ', '.join(fields) if fields else '*'
query = "select %s from ansible_report " % entries
where = " and %s" % where if where else ""
if not start_date:
start_date = datetime.utcnow().strftime(self.day_format)
tuple_values = (start_date,)
if success is not None:
status = 'OK' if success else 'FAILLED'
query += "where createdate>=? and status=? %s order by createdate %s" % (where, order)
tuple_values += (status,)
else:
query += "where createdate>=? %s order by createdate %s" % (where, order)
if limit:
query += " limit ?"
tuple_values += (limit,)
rows = db.cursor().execute(query, tuple_values)
#db.close()
if rows:
return [list(row) for row in rows]
return []
def truncateEntriesDb(self, table_name, on_field, to_value, operator='<'):
db = self.connect_db()
query = "delete from %s where %s%s?" % (table_name, on_field,
operator)
db.execute(query, (to_value,))
db.commit()
db.close()
def getLogString(self, res, head=False):
log = ""
if type(res) == type(dict()):
log = '%s, args [%s]\n' % (res['invocation']['module_name'],
res['invocation']['module_args'])
if head:
return log
for field in FIELDS:
if field in res.keys():
# use default encoding, check out sys.setdefaultencoding
log += '\n{0}:\n{1}'.format(field, res[field])
return log
def _read_file(self, filepath):
content = '[]'
with open(filepath, 'r') as f:
content = f.read()
return content
def saveResult(self):
date = datetime.utcnow().strftime(self.date_format)
files_list = os.listdir(self.ansible_log_dir)
if not len(files_list):
return
to_date = (datetime.now() - timedelta(days=2)).strftime(self.date_format)
cmp_file = os.path.join(self.ansible_log_dir, files_list.pop())
modification_date = datetime.fromtimestamp(
os.path.getmtime(cmp_file)
).strftime(self.date_format)
# Get the latest insert date
result = self.selectEntriesDb(['reportdate'], start_date=to_date, limit=1)
if len(result):
latest_date = result[0][0]
if latest_date >= modification_date:
return
file_map = dict(
success_file=os.path.join(self.ansible_log_dir, self.result_OK),
failed_file=os.path.join(self.ansible_log_dir, self.result_failed),
ignored_file=os.path.join(self.ansible_log_dir, self.result_failed_ignore))
data = dict(name=self.name, status='FAILED',
reportdate=modification_date, createdate=date,
success_count=0, ignored_count=0,
failed_count=0, success="",
failed="", ignored="")
for category in ('failed', 'success', 'ignored'):
file_category = file_map['%s_file' % category]
if os.path.exists(file_category):
text_content = self._read_file(file_category)
count = len(json.loads(text_content))
if count > 0:
data['%s_count' % category] = count
data[category] = text_content
if data['failed_count'] == 0:
data['status'] = 'OK'
self.insertEntryDb('ansible_report', data)
def getAnsibleReport(self, start_date=None, limit=0, success=None, order='DESC', category=None, head=False, only_state=True):
"""Get one or many entries from the ansible report table.
"""
where = ""
get_content = category is not None
fields = ['name', 'reportdate', 'createdate', 'status', 'success_count',
'ignored_count', 'failed_count']
if category:
where = " %s_count>0" % category
if not only_state:
fields.append(category)
rows = self.selectEntriesDb(fields=fields, start_date=start_date,
limit=limit, success=success, order=order,
where=where)
result_dict = {}
if category and not only_state:
last_pos = len(fields) -1
for i in range (0, len(rows)):
message = ""
message_list = json.loads(rows[i][last_pos])
for msg in message_list:
message += '%s\n\n' % self.getLogString(msg, head=head)
rows[i][last_pos] = message
else:
return {}
return rows
if __name__ == "__main__":
json = """{
"status": "OK",
"message": "kvm-1: OK(114) FAILED(0) IGNORED(2)",
"description": "Ansible playbook report in kvm-1. Execution date is: 2015-08-28 17:42:01."
}"""
parameter_dict = json.loads(sys.argv[1])
with open(parameter_dict['status_path'], 'w') as status_file:
status_file.write(json)
\ No newline at end of file
...@@ -19,11 +19,30 @@ extends = ...@@ -19,11 +19,30 @@ extends =
parts = parts =
# keep neoppod first so that ZODB3 is built correctly, # keep neoppod first so that ZODB3 is built correctly,
# before any other section that would depend on it # before any other section that would depend on it
neoppod-develop
neoppod neoppod
slapos-deps-eggs slapos-deps-eggs
slapos-cookbook-develop slapos-cookbook-develop
slapos-cookbook slapos-cookbook
[neoppod-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/neoppod.git
git-executable = ${git:location}/bin/git
[neoppod-develop]
recipe = zc.recipe.egg:develop
setup = ${neoppod-repository:location}
[neoppod]
recipe = zc.recipe.egg
eggs = neoppod[admin, ctl, master, storage-importer, storage-mysqldb]
${mysql-python:egg}
ZODB3
ZODB3-patches =
${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch
ZODB3-patch-options = -p1
[slapos-deps-eggs] [slapos-deps-eggs]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
...@@ -90,17 +109,8 @@ md5sum = 84b1150ce30ec827485f9c17debd6b44 ...@@ -90,17 +109,8 @@ md5sum = 84b1150ce30ec827485f9c17debd6b44
url = ${:_profile_base_location_}/my.cnf.in url = ${:_profile_base_location_}/my.cnf.in
md5sum = febd3ed58043ce1367b86cf6e4e69700 md5sum = febd3ed58043ce1367b86cf6e4e69700
[neoppod]
recipe = zc.recipe.egg
eggs = neoppod[admin, ctl, master, storage-importer, storage-mysqldb]
${mysql-python:egg}
ZODB3
ZODB3-patches = ${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch
ZODB3-patch-options = -p1
[versions] [versions]
MySQL-python = 1.2.5 MySQL-python = 1.2.5
neoppod = 1.5
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
# patched egg # patched egg
ZODB3 = 3.10.5+SlapOSPatched001 ZODB3 = 3.10.5+SlapOSPatched001
......
...@@ -16,7 +16,6 @@ ecdsa = 0.13 ...@@ -16,7 +16,6 @@ ecdsa = 0.13
erp5.util = 0.4.43 erp5.util = 0.4.43
gitdb = 0.6.4 gitdb = 0.6.4
gunicorn = 19.3.0 gunicorn = 19.3.0
plone.recipe.command = 1.1
prettytable = 0.7.2 prettytable = 0.7.2
pycrypto = 2.6.1 pycrypto = 2.6.1
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
......
...@@ -324,7 +324,7 @@ md5sum = 985c0010db6b553a89dbdb31353c56f5 ...@@ -324,7 +324,7 @@ md5sum = 985c0010db6b553a89dbdb31353c56f5
[template-zope] [template-zope]
<= download-base <= download-base
filename = instance-zope.cfg.in filename = instance-zope.cfg.in
md5sum = 0cd033da89a79c5b26dc0342ea57d5f7 md5sum = 07d5d0df5d16b46602760a8673d4395b
link-binary = link-binary =
${aspell:location}/bin/aspell ${aspell:location}/bin/aspell
${dmtx-utils:location}/bin/dmtxwrite ${dmtx-utils:location}/bin/dmtxwrite
...@@ -674,7 +674,6 @@ ipython = 4.0.0 ...@@ -674,7 +674,6 @@ ipython = 4.0.0
logilab-common = 1.1.0 logilab-common = 1.1.0
numpy = 1.10.1 numpy = 1.10.1
objgraph = 2.0.1 objgraph = 2.0.1
plone.recipe.command = 1.1
ply = 3.8 ply = 3.8
polib = 1.0.7 polib = 1.0.7
pprofile = 1.7.3 pprofile = 1.7.3
...@@ -704,11 +703,6 @@ xupdate-processor = 0.4 ...@@ -704,11 +703,6 @@ xupdate-processor = 0.4
# Products.CMFCore==2.2.9 # Products.CMFCore==2.2.9
Products.ZSQLMethods = 2.13.4 Products.ZSQLMethods = 2.13.4
# Required by:
# ipython==4.0.0
# traitlets==4.0.0
decorator = 4.0.4
# Required by: # Required by:
# SOAPpy===0.12.0nxd001 # SOAPpy===0.12.0nxd001
fpconst = 0.7.2 fpconst = 0.7.2
......
...@@ -285,9 +285,9 @@ node-id = {{ dumps(node_id_base ~ '-' ~ index) }} ...@@ -285,9 +285,9 @@ node-id = {{ dumps(node_id_base ~ '-' ~ index) }}
{% for db_name, zodb in zodb_dict.iteritems() -%} {% for db_name, zodb in zodb_dict.iteritems() -%}
{% if zodb['type'] == 'neo' -%} {% if zodb['type'] == 'neo' -%}
{% do import_set.add('neo.client') -%} {% do import_set.add('neo.client') -%}
{% set log = '~/var/log/' ~ name ~ '-neo-' ~ db_name ~ '.log' -%} {% set log = name ~ '-neo-' ~ db_name ~ '.log' -%}
{% do log_list.append(log) -%} {% do log_list.append('${directory:log}/' + log) -%}
{% do zodb['storage-dict'].update(logfile=log) -%} {% do zodb['storage-dict'].update(logfile='~/var/log/'+log) -%}
{% endif -%} {% endif -%}
{% endfor -%} {% endfor -%}
import-list = {{ dumps(list(import_set)) }} import-list = {{ dumps(list(import_set)) }}
......
...@@ -25,7 +25,7 @@ parts += ...@@ -25,7 +25,7 @@ parts +=
promise promise
frontend-promise frontend-promise
content-promise content-promise
publish-connection-informations publish-connection-information
{{ replicated.replicate("mariadb", "3", "mariadb-export", "mariadb-import") }} {{ replicated.replicate("mariadb", "3", "mariadb-export", "mariadb-import") }}
...@@ -45,7 +45,7 @@ wrapper = /bin/true ...@@ -45,7 +45,7 @@ wrapper = /bin/true
path = ${directory:www} path = ${directory:www}
# Add "exporter" parameters to list of published connection parameters # Add "exporter" parameters to list of published connection parameters
[publish-connection-informations] [publish-connection-information]
# XXX-Cedric: Long term goal: could be a recipe that requests an instance and # XXX-Cedric: Long term goal: could be a recipe that requests an instance and
# bubbles ALL # bubbles ALL
# parameters of the requested instance. Requirement: aggregated publish. # parameters of the requested instance. Requirement: aggregated publish.
......
...@@ -13,7 +13,7 @@ parts = ...@@ -13,7 +13,7 @@ parts =
frontend-promise frontend-promise
content-promise content-promise
publish-connection-informations publish-connection-information
${custom-application-deployment:part-list} ${custom-application-deployment:part-list}
...@@ -276,7 +276,7 @@ config-custom_domain = $${slap-parameter:domain} ...@@ -276,7 +276,7 @@ config-custom_domain = $${slap-parameter:domain}
#-- #--
#-- Publish instance parameters. #-- Publish instance parameters.
[publish-connection-informations] [publish-connection-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
backend_url = $${apache-php:url} backend_url = $${apache-php:url}
url = $${request-frontend:connection-site_url} url = $${request-frontend:connection-site_url}
......
...@@ -74,7 +74,7 @@ mode = 0644 ...@@ -74,7 +74,7 @@ mode = 0644
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in
output = ${buildout:directory}/instance-apache-php.cfg output = ${buildout:directory}/instance-apache-php.cfg
md5sum = b2564a719fdde097f402ef80e0991903 md5sum = 963ec2e460b281405b9e0e2748a27e62
mode = 0644 mode = 0644
[instance-apache-import] [instance-apache-import]
...@@ -96,7 +96,7 @@ context = key templateapache instance-apache-php:output ...@@ -96,7 +96,7 @@ context = key templateapache instance-apache-php:output
import-list = file parts template-parts:destination import-list = file parts template-parts:destination
file replicated template-replicated:destination file replicated template-replicated:destination
md5sum = 24c5d0db063e5343a3cb0db9d5fbc738 md5sum = 00068d0f68a9e1eb5a6e89e73a3dc399
mode = 0644 mode = 0644
[instance-resilient] [instance-resilient]
...@@ -112,7 +112,7 @@ context = key buildout buildout:bin-directory ...@@ -112,7 +112,7 @@ context = key buildout buildout:bin-directory
import-list = file parts template-parts:destination import-list = file parts template-parts:destination
file replicated template-replicated:destination file replicated template-replicated:destination
md5sum = 5e2f917b032e43af6a736532966ae1f0 md5sum = f171782b98c1143d44ec2a35d8259254
mode = 0644 mode = 0644
[instance-mariadb] [instance-mariadb]
......
...@@ -11,7 +11,7 @@ offline = true ...@@ -11,7 +11,7 @@ offline = true
# += because we need to take up parts (like instance-custom, slapmonitor etc) from the profile we extended # += because we need to take up parts (like instance-custom, slapmonitor etc) from the profile we extended
parts += parts +=
{{ parts.replicate("apache", "3") }} {{ parts.replicate("apache", "3") }}
publish-connection-informations publish-connection-information
{{ replicated.replicate("apache", "3", "apache-export", "apache-import") }} {{ replicated.replicate("apache", "3", "apache-export", "apache-import") }}
...@@ -27,7 +27,7 @@ config-mariadb3-computer-guid = ${slap-parameter:mariadb3-computer-guid} ...@@ -27,7 +27,7 @@ config-mariadb3-computer-guid = ${slap-parameter:mariadb3-computer-guid}
config-pbs-mariadb3-computer-guid = ${slap-parameter:pbs-mariadb3-computer-guid} config-pbs-mariadb3-computer-guid = ${slap-parameter:pbs-mariadb3-computer-guid}
config-domain = ${slap-parameter:domain} config-domain = ${slap-parameter:domain}
[publish-connection-informations] [publish-connection-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
backend_url = ${request-apache:connection-backend_url} backend_url = ${request-apache:connection-backend_url}
url = ${request-apache:connection-url} url = ${request-apache:connection-url}
......
...@@ -25,7 +25,7 @@ parts += ...@@ -25,7 +25,7 @@ parts +=
promise promise
frontend-promise frontend-promise
content-promise content-promise
publish-connection-informations publish-connection-information
{{ replicated.replicate("postgres", "3", "postgres-export", "postgres-import") }} {{ replicated.replicate("postgres", "3", "postgres-export", "postgres-import") }}
...@@ -45,7 +45,7 @@ wrapper = /bin/true ...@@ -45,7 +45,7 @@ wrapper = /bin/true
path = ${directory:www} path = ${directory:www}
# Add "exporter" parameters to list of published connection parameters # Add "exporter" parameters to list of published connection parameters
[publish-connection-informations] [publish-connection-information]
# XXX-Cedric: Long term goal: could be a recipe that requests an instance and # XXX-Cedric: Long term goal: could be a recipe that requests an instance and
# bubbles ALL # bubbles ALL
# parameters of the requested instance. Requirement: aggregated publish. # parameters of the requested instance. Requirement: aggregated publish.
......
...@@ -15,7 +15,7 @@ parts = ...@@ -15,7 +15,7 @@ parts =
frontend-promise frontend-promise
content-promise content-promise
publish-connection-informations publish-connection-information
${custom-application-deployment:part-list} ${custom-application-deployment:part-list}
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
...@@ -261,7 +261,7 @@ path = $${directory:report}/slapmonitor-xml ...@@ -261,7 +261,7 @@ path = $${directory:report}/slapmonitor-xml
#-- #--
#-- Publish instance parameters. #-- Publish instance parameters.
[publish-connection-informations] [publish-connection-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
backend_url = $${apache-php:url} backend_url = $${apache-php:url}
url = $${request-frontend:connection-site_url} url = $${request-frontend:connection-site_url}
......
...@@ -62,7 +62,7 @@ mode = 0644 ...@@ -62,7 +62,7 @@ mode = 0644
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in
output = ${buildout:directory}/instance-apache-php.cfg output = ${buildout:directory}/instance-apache-php.cfg
md5sum = 7a0670c747f2f21a79c240bfbfbf9f6e md5sum = 8b9e7ac376cad5235e88a45ece817e6b
mode = 0644 mode = 0644
[instance-apache-import] [instance-apache-import]
...@@ -84,7 +84,7 @@ context = key templateapache instance-apache-php:output ...@@ -84,7 +84,7 @@ context = key templateapache instance-apache-php:output
import-list = file parts template-parts:destination import-list = file parts template-parts:destination
file replicated template-replicated:destination file replicated template-replicated:destination
md5sum = bdc7e126567ece6bf93a9bb493e29fac md5sum = dca811871e293cf3ce1bfc52dd8dab64
mode = 0644 mode = 0644
[instance-resilient] [instance-resilient]
...@@ -100,7 +100,7 @@ context = key buildout buildout:bin-directory ...@@ -100,7 +100,7 @@ context = key buildout buildout:bin-directory
import-list = file parts template-parts:destination import-list = file parts template-parts:destination
file replicated template-replicated:destination file replicated template-replicated:destination
md5sum = 35bbf8cb40fe7185664641d82b406334 md5sum = e8fd20a32c87853ecba2846f50cd0898
mode = 0644 mode = 0644
[instance-postgres] [instance-postgres]
......
...@@ -11,7 +11,7 @@ offline = true ...@@ -11,7 +11,7 @@ offline = true
# += because we need to take up parts (like instance-custom, slapmonitor etc) from the profile we extended # += because we need to take up parts (like instance-custom, slapmonitor etc) from the profile we extended
parts += parts +=
{{ parts.replicate("apache", "3") }} {{ parts.replicate("apache", "3") }}
publish-connection-informations publish-connection-information
{{ replicated.replicate("apache", "3", "apache-export", "apache-import") }} {{ replicated.replicate("apache", "3", "apache-export", "apache-import") }}
...@@ -28,7 +28,7 @@ config-pbs-postgres3-computer-guid = ${slap-parameter:pbs-postgres3-computer-gui ...@@ -28,7 +28,7 @@ config-pbs-postgres3-computer-guid = ${slap-parameter:pbs-postgres3-computer-gui
config-domain = ${slap-parameter:domain} config-domain = ${slap-parameter:domain}
config-maarch-sql-data-file = ${slap-parameter:maarch-sql-data-file} config-maarch-sql-data-file = ${slap-parameter:maarch-sql-data-file}
[publish-connection-informations] [publish-connection-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
backend_url = ${request-apache:connection-backend_url} backend_url = ${request-apache:connection-backend_url}
url = ${request-apache:connection-url} url = ${request-apache:connection-url}
......
...@@ -41,7 +41,7 @@ recipe = slapos.recipe.template ...@@ -41,7 +41,7 @@ recipe = slapos.recipe.template
url = ${:_profile_base_location_}/monitor.cfg.in url = ${:_profile_base_location_}/monitor.cfg.in
output = ${buildout:directory}/monitor.cfg output = ${buildout:directory}/monitor.cfg
filename = monitor.cfg filename = monitor.cfg
md5sum = 51284c0aeb62eccd37f8a4e1621ee28c md5sum = 9b31959560d3cde094199e267bbb013b
mode = 0644 mode = 0644
[monitor-bin] [monitor-bin]
......
...@@ -288,3 +288,6 @@ curl_path = ${curl:location}/bin/curl ...@@ -288,3 +288,6 @@ curl_path = ${curl:location}/bin/curl
[publish-connection-informations] [publish-connection-informations]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
monitor_url = $${monitor-parameters:url} monitor_url = $${monitor-parameters:url}
[publish-connection-information]
<= publish-connection-informations
...@@ -38,7 +38,7 @@ eggs = collective.recipe.template ...@@ -38,7 +38,7 @@ eggs = collective.recipe.template
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/pbsready.cfg.in url = ${:_profile_base_location_}/pbsready.cfg.in
output = ${buildout:directory}/pbsready.cfg output = ${buildout:directory}/pbsready.cfg
md5sum = 7d7cb70cb76a41f853e74cc34a9ef428 md5sum = 4962204261e38c782c80ab9ca71410e9
mode = 0644 mode = 0644
[pbsready-import] [pbsready-import]
...@@ -63,13 +63,13 @@ mode = 0644 ...@@ -63,13 +63,13 @@ mode = 0644
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-pull-backup.cfg.in url = ${:_profile_base_location_}/instance-pull-backup.cfg.in
output = ${buildout:directory}/instance-pull-backup.cfg output = ${buildout:directory}/instance-pull-backup.cfg
md5sum = 0e6a95e7a9b38d402f94c11b7d10397e md5sum = 932acec2718e3daef839886b71e667cd
mode = 0644 mode = 0644
[template-replicated] [template-replicated]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/template-replicated.cfg.in url = ${:_profile_base_location_}/template-replicated.cfg.in
md5sum = 0641a65142fe0f624bf7c112081c2527 md5sum = 738f21e9fbfaee0d150d49da0afd7435
mode = 0644 mode = 0644
destination = ${buildout:directory}/template-replicated.cfg.in destination = ${buildout:directory}/template-replicated.cfg.in
......
[buildout] [buildout]
parts = parts =
publish-connection-informations publish-connection-information
pbs pbs
logrotate logrotate
cron cron
...@@ -245,7 +245,7 @@ ignore-known-hosts-file = false ...@@ -245,7 +245,7 @@ ignore-known-hosts-file = false
#-- #--
#-- Publish instance parameters. #-- Publish instance parameters.
[publish-connection-informations] [publish-connection-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
ssh-key = $${sshkeys-dropbear:public-key-value} ssh-key = $${sshkeys-dropbear:public-key-value}
notification-url = http://[$${notifier:host}]:$${notifier:port}/notify notification-url = http://[$${notifier:host}]:$${notifier:port}/notify
...@@ -272,5 +272,5 @@ mode = 700 ...@@ -272,5 +272,5 @@ mode = 700
context = context =
key input_feed_directory directory:notifier-feeds key input_feed_directory directory:notifier-feeds
key monitor_feed_directory monitor-directory:public-cgi key monitor_feed_directory monitor-directory:public-cgi
key base_url publish-connection-informations:feeds-url key base_url publish-connection-information:feeds-url
raw python_executable ${buildout:executable} raw python_executable ${buildout:executable}
...@@ -120,7 +120,7 @@ create = true ...@@ -120,7 +120,7 @@ create = true
<= logrotate <= logrotate
recipe = slapos.cookbook:logrotate.d recipe = slapos.cookbook:logrotate.d
name = equeue name = equeue
log = $${equeue:log} log = $${equeue:log} $${dropbear-sshd:log}
frequency = daily frequency = daily
rotate-num = 30 rotate-num = 30
...@@ -188,6 +188,14 @@ dropbear-binary = ${dropbear:location}/sbin/dropbear ...@@ -188,6 +188,14 @@ dropbear-binary = ${dropbear:location}/sbin/dropbear
recipe = slapos.cookbook:dropbear.add_authorized_key recipe = slapos.cookbook:dropbear.add_authorized_key
key = $${slap-parameter:authorized-key} key = $${slap-parameter:authorized-key}
[dropbear-sshd]
recipe = collective.recipe.template
log = $${basedirectory:log}/sshd.log
input = inline:#!/bin/sh
exec $${dropbear-server:wrapper} >> $${:log}/sshd.log 2>&1
output = $${rootdirectory:bin}/raw_sshd_log
mode = 700
#---------------- #----------------
#-- #--
...@@ -210,7 +218,7 @@ keygen-binary = ${dropbear:location}/bin/dropbearkey ...@@ -210,7 +218,7 @@ keygen-binary = ${dropbear:location}/bin/dropbearkey
recipe = slapos.cookbook:sshkeys_authority.request recipe = slapos.cookbook:sshkeys_authority.request
name = dropbear name = dropbear
type = rsa type = rsa
executable = $${dropbear-server:wrapper} executable = $${dropbear-sshd:output}
public-key = $${dropbear-server:rsa-keyfile}.pub public-key = $${dropbear-server:rsa-keyfile}.pub
private-key = $${dropbear-server:rsa-keyfile} private-key = $${dropbear-server:rsa-keyfile}
wrapper = $${basedirectory:services}/sshd wrapper = $${basedirectory:services}/sshd
......
...@@ -97,7 +97,7 @@ sla-{{ key }} = {{ value }} ...@@ -97,7 +97,7 @@ sla-{{ key }} = {{ value }}
{% endfor -%} {% endfor -%}
{% endif %} {% endif %}
[publish-connection-informations] [publish-connection-information]
feed-url-{{namebase}}-{{id}}-push = ${request-pbs-{{namebase}}-{{id}}:connection-feeds-url}${request-{{namebase}}-pseudo-replicating-{{id}}:pbs-notification-id} feed-url-{{namebase}}-{{id}}-push = ${request-pbs-{{namebase}}-{{id}}:connection-feeds-url}${request-{{namebase}}-pseudo-replicating-{{id}}:pbs-notification-id}
takeover-{{namebase}}-{{id}}-url = ${request-{{namebase}}-pseudo-replicating-{{id}}:connection-takeover-url} takeover-{{namebase}}-{{id}}-url = ${request-{{namebase}}-pseudo-replicating-{{id}}:connection-takeover-url}
takeover-{{namebase}}-{{id}}-password = ${request-{{namebase}}-pseudo-replicating-{{id}}:connection-takeover-password} takeover-{{namebase}}-{{id}}-password = ${request-{{namebase}}-pseudo-replicating-{{id}}:connection-takeover-password}
...@@ -208,7 +208,7 @@ config-remove-backup-older-than = {{ slapparameter_dict.get('remove-backup-older ...@@ -208,7 +208,7 @@ config-remove-backup-older-than = {{ slapparameter_dict.get('remove-backup-older
slave = true slave = true
sla-instance_guid = ${request-pbs-{{namebase}}-{{id}}:instance_guid} sla-instance_guid = ${request-pbs-{{namebase}}-{{id}}:instance_guid}
[publish-connection-informations] [publish-connection-information]
feed-url-{{namebase}}-{{id}}-pull = ${request-pbs-{{namebase}}-{{id}}:connection-feeds-url}${request-pull-backup-server-{{namebase}}-{{id}}:config-notification-id} feed-url-{{namebase}}-{{id}}-pull = ${request-pbs-{{namebase}}-{{id}}:connection-feeds-url}${request-pull-backup-server-{{namebase}}-{{id}}:config-notification-id}
......
...@@ -138,18 +138,18 @@ requests = 2.8.1 ...@@ -138,18 +138,18 @@ requests = 2.8.1
setuptools = 18.1 setuptools = 18.1
simplejson = 3.8.0 simplejson = 3.8.0
six = 1.10.0 six = 1.10.0
slapos.cookbook = 1.0.9 slapos.cookbook = 1.0.14
slapos.core = 1.3.12 slapos.core = 1.3.13
slapos.extension.strip = 0.1 slapos.extension.strip = 0.1
slapos.libnetworkcache = 0.14.5 slapos.libnetworkcache = 0.14.5
slapos.recipe.build = 0.21 slapos.recipe.build = 0.23
slapos.recipe.cmmi = 0.2 slapos.recipe.cmmi = 0.2
stevedore = 1.9.0 stevedore = 1.9.0
unicodecsv = 0.14.1 unicodecsv = 0.14.1
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
# Required by: # Required by:
# slapos.core==1.3.12 # slapos.core==1.3.13
Flask = 0.10.1 Flask = 0.10.1
# Required by: # Required by:
...@@ -174,15 +174,15 @@ functools32 = 3.2.3.post2 ...@@ -174,15 +174,15 @@ functools32 = 3.2.3.post2
ipaddress = 1.0.14 ipaddress = 1.0.14
# Required by: # Required by:
# slapos.cookbook==1.0.9 # slapos.cookbook==1.0.14
jsonschema = 2.5.1 jsonschema = 2.5.1
# Required by: # Required by:
# slapos.cookbook==1.0.9 # slapos.cookbook==1.0.14
lock-file = 2.0 lock-file = 2.0
# Required by: # Required by:
# slapos.core==1.3.12 # slapos.core==1.3.13
netifaces = 0.10.4 netifaces = 0.10.4
# Required by: # Required by:
...@@ -190,15 +190,15 @@ netifaces = 0.10.4 ...@@ -190,15 +190,15 @@ netifaces = 0.10.4
pycparser = 2.14 pycparser = 2.14
# Required by: # Required by:
# slapos.core==1.3.12 # slapos.core==1.3.13
supervisor = 3.1.3 supervisor = 3.1.3
# Required by: # Required by:
# slapos.core==1.3.12 # slapos.core==1.3.13
uritemplate = 0.6 uritemplate = 0.6
# Required by: # Required by:
# slapos.core==1.3.12 # slapos.core==1.3.13
zope.interface = 4.1.3 zope.interface = 4.1.3
[networkcache] [networkcache]
......
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