Commit a69c0bc9 authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release Candidate

parents e54a96b4 5f5d5102
...@@ -18,12 +18,14 @@ extends = ...@@ -18,12 +18,14 @@ extends =
[apr] [apr]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
version = 1.5.2 version = 1.5.2
md5sum = 4e9769f3349fe11fc0a5e1b224c236aa md5sum = 4e9769f3349fe11fc0a5e1b224c236aa
url = https://archive.apache.org/dist/apr/apr-${:version}.tar.bz2 url = https://archive.apache.org/dist/apr/apr-${:version}.tar.bz2
[apr-util] [apr-util]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
version = 1.5.4 version = 1.5.4
url = https://archive.apache.org/dist/apr/apr-util-${:version}.tar.bz2 url = https://archive.apache.org/dist/apr/apr-util-${:version}.tar.bz2
md5sum = 2202b18f269ad606d70e1864857ed93c md5sum = 2202b18f269ad606d70e1864857ed93c
......
...@@ -6,6 +6,7 @@ parts = boa ...@@ -6,6 +6,7 @@ parts = boa
[boa-patch-ENOSYS] [boa-patch-ENOSYS]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch?revision=1.1 url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch?revision=1.1
filename = boa-0.94.14_rc21-ENOSYS.patch filename = boa-0.94.14_rc21-ENOSYS.patch
md5sum = 7206b342195961501ed1eae38486e5db md5sum = 7206b342195961501ed1eae38486e5db
......
...@@ -11,6 +11,7 @@ parts = ...@@ -11,6 +11,7 @@ parts =
[cclient-patch] [cclient-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true download-only = true
url = ${:_profile_base_location_}/imap-2007f.patch url = ${:_profile_base_location_}/imap-2007f.patch
md5sum = 42c77fdd5d7a976fc302b93aadb3da98 md5sum = 42c77fdd5d7a976fc302b93aadb3da98
......
...@@ -39,6 +39,7 @@ executable = ${:location}/bin/cloud9.js ...@@ -39,6 +39,7 @@ executable = ${:location}/bin/cloud9.js
[cloud9-session-directory.patch] [cloud9-session-directory.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = cloud9-session-directory.patch filename = cloud9-session-directory.patch
download-only = true download-only = true
...@@ -46,6 +47,7 @@ md5sum = 5dc8cc28447ed3747b8a53c768d872aa ...@@ -46,6 +47,7 @@ md5sum = 5dc8cc28447ed3747b8a53c768d872aa
[cloud9-socket.patch] [cloud9-socket.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = cloud9-socket.patch filename = cloud9-socket.patch
download-only = true download-only = true
...@@ -54,6 +56,7 @@ md5sum = c581456cb3a76841898f79f9600e3a1e ...@@ -54,6 +56,7 @@ md5sum = c581456cb3a76841898f79f9600e3a1e
[cloud9-file-already-exist.patch] [cloud9-file-already-exist.patch]
# This patch prevents the error "File already exists" # This patch prevents the error "File already exists"
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = cloud9-file_already_exist.patch filename = cloud9-file_already_exist.patch
download-only = true download-only = true
...@@ -63,6 +66,7 @@ md5sum = 0bc104af8176388d60cbf884b72c8318 ...@@ -63,6 +66,7 @@ md5sum = 0bc104af8176388d60cbf884b72c8318
# This patch prevents cloud9 to die every # This patch prevents cloud9 to die every
# time a tab is closed # time a tab is closed
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = cloud9-removeAllListeners.patch filename = cloud9-removeAllListeners.patch
download-only = true download-only = true
......
...@@ -113,6 +113,7 @@ environment = ...@@ -113,6 +113,7 @@ environment =
[trusted-config] [trusted-config]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = https://raw.githubusercontent.com/t-woerner/firewalld/v0.3.14/config/zones/trusted.xml url = https://raw.githubusercontent.com/t-woerner/firewalld/v0.3.14/config/zones/trusted.xml
download-only = true download-only = true
filename = trusted.xml filename = trusted.xml
......
...@@ -10,7 +10,7 @@ recipe = rubygemsrecipe ...@@ -10,7 +10,7 @@ recipe = rubygemsrecipe
url = https://rubygems.org/rubygems/rubygems-2.4.8.zip url = https://rubygems.org/rubygems/rubygems-2.4.8.zip
ruby-executable = ${ruby:location}/bin/ruby ruby-executable = ${ruby:location}/bin/ruby
gems = gems =
fluentd==0.12.15 fluentd==0.12.23
fluent-plugin-td==0.10.27 fluent-plugin-td==0.10.27
gem-options = --no-ri --no-rdoc --with-icu-lib=${icu:location}/lib/ --with-icu-dir=${icu:location}/ gem-options = --no-ri --no-rdoc --with-icu-lib=${icu:location}/lib/ --with-icu-dir=${icu:location}/
environment = environment =
......
...@@ -15,6 +15,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_} ...@@ -15,6 +15,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
[fonts-base] [fonts-base]
destination = ${fonts:location}/${:_buildout_section_name_} destination = ${fonts:location}/${:_buildout_section_name_}
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true strip-top-level-dir = true
# Liberation(tm) Fonts - a font family which aims at metric # Liberation(tm) Fonts - a font family which aims at metric
......
...@@ -37,6 +37,7 @@ md5sum = aa125af368d89b3dbd15fc379f13375f ...@@ -37,6 +37,7 @@ md5sum = aa125af368d89b3dbd15fc379f13375f
[ghostscript-fonts] [ghostscript-fonts]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://downloads.sourceforge.net/project/gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz url = http://downloads.sourceforge.net/project/gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz
md5sum = 6865682b095f8c4500c54b285ff05ef6 md5sum = 6865682b095f8c4500c54b285ff05ef6
strip-top-level-dir = true strip-top-level-dir = true
...@@ -14,8 +14,8 @@ extends = ...@@ -14,8 +14,8 @@ extends =
[groonga] [groonga]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/groonga/groonga-6.0.1.tar.gz url = http://packages.groonga.org/source/groonga/groonga-6.0.2.tar.gz
md5sum = 8bcb172634d9b2fd869f04e8d0eeed9c md5sum = 10fde26350296a479953fd28679f2566
# temporary patch to respect more tokens in natural language mode. # temporary patch to respect more tokens in natural language mode.
patches = patches =
${:_profile_base_location_}/groonga.patch#9ed02fbe8400402d3eab47eee149978b ${:_profile_base_location_}/groonga.patch#9ed02fbe8400402d3eab47eee149978b
...@@ -30,8 +30,13 @@ configure-options = ...@@ -30,8 +30,13 @@ configure-options =
--with-libstemmer --with-libstemmer
--with-libstemmer-include=${libstemmer:location}/include --with-libstemmer-include=${libstemmer:location}/include
--with-libstemmer-lib=${libstemmer:location}/lib --with-libstemmer-lib=${libstemmer:location}/lib
--without-ruby
--without-inkscape
--without-lemon
--without-lz4
--without-mecab --without-mecab
--without-kytea --without-kytea
--without-libevent
environment = environment =
CPPFLAGS=-I${libstemmer:location}/include -I${libstemmer:location}/include -I${zlib:location}/include CPPFLAGS=-I${libstemmer:location}/include -I${libstemmer:location}/include -I${zlib:location}/include
LDFLAGS=-Wl,-rpath=${jemalloc:location}/lib -L${jemalloc:location}/lib -Wl,-rpath=${libstemmer:location}/lib -L${libstemmer:location}/lib -Wl,-rpath=${zlib:location}/lib -L${zlib:location}/lib LDFLAGS=-Wl,-rpath=${jemalloc:location}/lib -L${jemalloc:location}/lib -Wl,-rpath=${libstemmer:location}/lib -L${libstemmer:location}/lib -Wl,-rpath=${zlib:location}/lib -L${zlib:location}/lib
...@@ -39,8 +44,8 @@ environment = ...@@ -39,8 +44,8 @@ environment =
[groonga-normalizer-mysql] [groonga-normalizer-mysql]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.0.tar.gz url = http://packages.groonga.org/source/groonga-normalizer-mysql/groonga-normalizer-mysql-1.1.1.tar.gz
md5sum = 0a0b523547999f90d347982fe9d03c0e md5sum = 5a93c0238da114e5f91db659ffd499b0
location = ${groonga:location} location = ${groonga:location}
configure-options = configure-options =
--disable-static --disable-static
......
...@@ -19,7 +19,7 @@ configure-command = true ...@@ -19,7 +19,7 @@ configure-command = true
# otherwise use "generic". # otherwise use "generic".
# For ARCH value, x86_64 and i[3456]86 are supported. # For ARCH value, x86_64 and i[3456]86 are supported.
make-options = make-options =
TARGET="$(uname -sr 2>/dev/null|grep -Eq '^Linux (2\.6\.2[89]|2\.6\.[3-9]|3)' && echo linux2628 || echo generic)" TARGET="$(uname -sr 2>/dev/null|grep -Eq '^Linux (2\.6\.2[89]|2\.6\.[3-9]|[3-9])' && echo linux2628 || echo generic)"
ARCH="$(uname -m 2>/dev/null|grep -E '^(x86_64|i[3456]86)$')" ARCH="$(uname -m 2>/dev/null|grep -E '^(x86_64|i[3456]86)$')"
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_} PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
USE_DL=1 USE_DL=1
......
...@@ -25,10 +25,10 @@ extends = ...@@ -25,10 +25,10 @@ extends =
[imagemagick] [imagemagick]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
version = 6.8.9-1 version = 7.0.1-1
url = http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ImageMagick-${:version}.tar.xz url = https://www.imagemagick.org/download/releases/ImageMagick-${:version}.tar.xz
md5sum = bde038ae05fb20d29cebf88ab9cbdce5 md5sum = 24673d00fcc8aa00313eeca6aa20fd3c
pkg_config_depends = ${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}:${xz-utils:location}/lib/pkgconfig pkg_config_depends = ${fontconfig:location}/lib/pkgconfig:${fontconfig:pkg_config_depends}:${lcms2:location}/lib/pkgconfig:${xz-utils:location}/lib/pkgconfig
configure-options = configure-options =
--disable-static --disable-static
--without-x --without-x
...@@ -38,30 +38,30 @@ configure-options = ...@@ -38,30 +38,30 @@ configure-options =
--without-dps --without-dps
--without-djvu --without-djvu
--without-fftw --without-fftw
--without-flif
--without-fpx --without-fpx
--with-fontconfig --with-fontconfig
--without-gslib --without-gslib
--without-gvc --without-gvc
--without-lcms --with-lcms
--with-lcms2
--without-openjp2 --without-openjp2
--without-lqr --without-lqr
--without-lzma --without-lzma
--without-openexr --without-openexr
--without-pango --without-pango
--without-raqm
--without-rsvg --without-rsvg
--without-wmf --without-wmf
--with-bzlib=${bzip2:location} --with-bzlib=${bzip2:location}
--with-zlib=${zlib:location} --with-zlib=${zlib:location}
--with-ltdl-include=${libtool:location}/include
--with-ltdl-lib=${libtool:location}/lib
--with-gs-font-dir=${ghostscript-fonts:location} --with-gs-font-dir=${ghostscript-fonts:location}
--with-frozenpaths --with-frozenpaths
patch-options = -p1 patch-options = -p1
patches = patches =
${:_profile_base_location_}/imagemagick-6.6.6-1-no-gsx-gsc-probe.patch#3f28ecd9f6722cf2c3238ce6ec3d7a68 ${:_profile_base_location_}/imagemagick-6.6.6-1-no-gsx-gsc-probe.patch#3f28ecd9f6722cf2c3238ce6ec3d7a68
${:_profile_base_location_}/safe_policy.patch#07889fefbd9b55f19b9136ed6c17aa8c
environment = environment =
PATH=${freetype:location}/bin:${ghostscript:location}/bin:${inkscape:location}/bin:${libxml2:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s PATH=${freetype:location}/bin:${ghostscript:location}/bin:${inkscape:location}/bin:${libxml2:location}/bin:${patch:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${:pkg_config_depends} PKG_CONFIG_PATH=${:pkg_config_depends}
CPPFLAGS=-I${bzip2:location}/include -I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libpng:location}/include -I${jasper:location}/include -I${freetype:location}/include -I${webp:location}/include -I${lcms2:location}/include CPPFLAGS=-I${bzip2:location}/include -I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libtool:location}/include -I${libpng:location}/include -I${jasper:location}/include -I${freetype:location}/include -I${webp:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${jasper:location}/lib -Wl,-rpath=${jasper:location}/lib -L${freetype:location}/lib -Wl,-rpath=${freetype:location}/lib -L${webp:location}/lib -Wl,-rpath=${webp:location}/lib -L${lcms2:location}/lib -Wl,-rpath=${lcms2:location}/lib LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath=${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${libtool:location}/lib -Wl,-rpath=${libtool:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${jasper:location}/lib -Wl,-rpath=${jasper:location}/lib -L${freetype:location}/lib -Wl,-rpath=${freetype:location}/lib -L${webp:location}/lib -Wl,-rpath=${webp:location}/lib
--- ImageMagick-7.0.1-1/config/policy.xml.orig 2016-05-04 00:18:54.000000000 +0200
+++ ImageMagick-7.0.1-1/config/policy.xml 2016-05-06 08:22:30.002045742 +0200
@@ -50,16 +50,25 @@
-->
<policymap>
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
- <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
- <!-- <policy domain="resource" name="map" value="4GiB"/> -->
- <!-- <policy domain="resource" name="width" value="10MP"/> -->
- <!-- <policy domain="resource" name="height" value="10MP"/> -->
- <!-- <policy domain="resource" name="area" value="1GB"/> -->
- <!-- <policy domain="resource" name="disk" value="16EB"/> -->
- <!-- <policy domain="resource" name="file" value="768"/> -->
- <!-- <policy domain="resource" name="thread" value="4"/> -->
- <!-- <policy domain="resource" name="throttle" value="0"/> -->
- <!-- <policy domain="resource" name="time" value="3600"/> -->
- <!-- <policy domain="system" name="precision" value="6"/> -->
+ <policy domain="resource" name="memory" value="2GiB"/>
+ <policy domain="resource" name="map" value="4GiB"/>
+ <policy domain="resource" name="width" value="10MP"/>
+ <policy domain="resource" name="height" value="10MP"/>
+ <policy domain="resource" name="area" value="1GB"/>
+ <policy domain="resource" name="disk" value="16EB"/>
+ <policy domain="resource" name="file" value="768"/>
+ <policy domain="resource" name="thread" value="4"/>
+ <policy domain="resource" name="throttle" value="0"/>
+ <policy domain="resource" name="time" value="3600"/>
+ <policy domain="system" name="precision" value="6"/>
<policy domain="cache" name="shared-secret" value="passphrase"/>
+ <policy domain="coder" rights="none" pattern="EPHEMERAL" />
+ <policy domain="coder" rights="none" pattern="HTTPS" />
+ <policy domain="coder" rights="none" pattern="MSL" />
+ <policy domain="coder" rights="none" pattern="MVG" />
+ <policy domain="coder" rights="none" pattern="PLT" />
+ <policy domain="coder" rights="none" pattern="SHOW" />
+ <policy domain="coder" rights="none" pattern="TEXT" />
+ <policy domain="coder" rights="none" pattern="URL" />
+ <policy domain="coder" rights="none" pattern="WIN" />
</policymap>
...@@ -7,6 +7,7 @@ parts = ...@@ -7,6 +7,7 @@ parts =
[json-c-patch-base] [json-c-patch-base]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
download-only = true download-only = true
......
...@@ -8,6 +8,7 @@ extends = ...@@ -8,6 +8,7 @@ extends =
[kerberos-package] [kerberos-package]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://web.mit.edu/kerberos/dist/krb5/1.11/krb5-1.11.1-signed.tar url = http://web.mit.edu/kerberos/dist/krb5/1.11/krb5-1.11.1-signed.tar
md5sum = 76c6bed945c5771674357cfd4a08e3f5 md5sum = 76c6bed945c5771674357cfd4a08e3f5
......
...@@ -7,6 +7,7 @@ parts = ...@@ -7,6 +7,7 @@ parts =
[lapack-download] [lapack-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
version = 3.5.0 version = 3.5.0
filename = lapack-${:version}.tgz filename = lapack-${:version}.tgz
url = http://www.netlib.org/lapack/${:filename} url = http://www.netlib.org/lapack/${:filename}
......
...@@ -6,6 +6,7 @@ extends = ...@@ -6,6 +6,7 @@ extends =
../bzip2/buildout.cfg ../bzip2/buildout.cfg
../imagemagick/buildout.cfg ../imagemagick/buildout.cfg
../jbigkit/buildout.cfg ../jbigkit/buildout.cfg
../patch/buildout.cfg
../zlib/buildout.cfg ../zlib/buildout.cfg
parts = parts =
libdmtx libdmtx
...@@ -24,8 +25,11 @@ url = http://prdownloads.sourceforge.net/libdmtx/dmtx-utils-0.7.4.tar.bz2 ...@@ -24,8 +25,11 @@ url = http://prdownloads.sourceforge.net/libdmtx/dmtx-utils-0.7.4.tar.bz2
md5sum = b132ab9fb1d289869469b8bb4959a08a md5sum = b132ab9fb1d289869469b8bb4959a08a
configure-options = configure-options =
--disable-static --disable-static
patch-options = -p1
patches =
${:_profile_base_location_}/imagemagick-7.patch#e0ec31041be5a4f3551ab84696671110
environment = environment =
PATH=${pkgconfig:location}/bin:%(PATH)s PATH=${patch:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${imagemagick:location}/lib/pkgconfig:${libdmtx:location}/lib/pkgconfig PKG_CONFIG_PATH=${imagemagick:location}/lib/pkgconfig:${libdmtx:location}/lib/pkgconfig
CPPFLAGS=-I${libdmtx:location}/include CPPFLAGS=-I${libdmtx:location}/include
LDFLAGS=-Wl,-rpath=${jbigkit:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${zlib:location}/lib LDFLAGS=-Wl,-rpath=${jbigkit:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${zlib:location}/lib
diff -ur dmtx-utils-0.7.4.orig/configure.ac dmtx-utils-0.7.4/configure.ac
--- dmtx-utils-0.7.4.orig/configure.ac 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/configure.ac 2016-05-06 22:56:23.129582472 +0200
@@ -60,7 +60,7 @@
fi
if test x$dmtxread = xyes -o x$dmtxwrite = xyes; then
- PKG_CHECK_MODULES(MAGICK, Wand >= 6.2.4, [], AC_MSG_ERROR([dmtxread/dmtxwrite requires Wand >= 6.2.4]))
+ PKG_CHECK_MODULES(MAGICK, MagickWand >= 6.2.4, [], AC_MSG_ERROR([dmtxread/dmtxwrite requires MagickWand >= 6.2.4]))
AC_SUBST(MAGICK_CFLAGS)
AC_SUBST(MAGICK_LIBS)
fi
diff -ur dmtx-utils-0.7.4.orig/configure dmtx-utils-0.7.4/configure
--- dmtx-utils-0.7.4.orig/configure 2011-06-03 07:13:53.000000000 +0200
+++ dmtx-utils-0.7.4/configure 2016-05-06 22:56:40.641701426 +0200
@@ -11074,12 +11074,12 @@
pkg_cv_MAGICK_CFLAGS="$MAGICK_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Wand >= 6.2.4\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Wand >= 6.2.4") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"MagickWand >= 6.2.4\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "MagickWand >= 6.2.4") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_MAGICK_CFLAGS=`$PKG_CONFIG --cflags "Wand >= 6.2.4" 2>/dev/null`
+ pkg_cv_MAGICK_CFLAGS=`$PKG_CONFIG --cflags "MagickWand >= 6.2.4" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -11090,12 +11090,12 @@
pkg_cv_MAGICK_LIBS="$MAGICK_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Wand >= 6.2.4\""; } >&5
- ($PKG_CONFIG --exists --print-errors "Wand >= 6.2.4") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"MagickWand >= 6.2.4\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "MagickWand >= 6.2.4") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_MAGICK_LIBS=`$PKG_CONFIG --libs "Wand >= 6.2.4" 2>/dev/null`
+ pkg_cv_MAGICK_LIBS=`$PKG_CONFIG --libs "MagickWand >= 6.2.4" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -11115,18 +11115,18 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- MAGICK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "Wand >= 6.2.4" 2>&1`
+ MAGICK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "MagickWand >= 6.2.4" 2>&1`
else
- MAGICK_PKG_ERRORS=`$PKG_CONFIG --print-errors "Wand >= 6.2.4" 2>&1`
+ MAGICK_PKG_ERRORS=`$PKG_CONFIG --print-errors "MagickWand >= 6.2.4" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$MAGICK_PKG_ERRORS" >&5
- as_fn_error $? "dmtxread/dmtxwrite requires Wand >= 6.2.4" "$LINENO" 5
+ as_fn_error $? "dmtxread/dmtxwrite requires MagickWand >= 6.2.4" "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- as_fn_error $? "dmtxread/dmtxwrite requires Wand >= 6.2.4" "$LINENO" 5
+ as_fn_error $? "dmtxread/dmtxwrite requires MagickWand >= 6.2.4" "$LINENO" 5
else
MAGICK_CFLAGS=$pkg_cv_MAGICK_CFLAGS
MAGICK_LIBS=$pkg_cv_MAGICK_LIBS
diff -ur dmtx-utils-0.7.4.orig/dmtxread/dmtxread.c dmtx-utils-0.7.4/dmtxread/dmtxread.c
--- dmtx-utils-0.7.4.orig/dmtxread/dmtxread.c 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/dmtxread/dmtxread.c 2016-05-06 23:17:08.190667778 +0200
@@ -114,7 +114,7 @@
}
/* Copy pixels to known format */
- success = MagickGetImagePixels(wand, 0, 0, width, height, "RGB", CharPixel, pxl);
+ success = MagickExportImagePixels(wand, 0, 0, width, height, "RGB", CharPixel, pxl);
if(success == MagickFalse || pxl == NULL) {
CleanupMagick(&wand, DmtxTrue);
FatalError(EX_OSERR, "malloc() error");
diff -ur dmtx-utils-0.7.4.orig/dmtxread/dmtxread.h dmtx-utils-0.7.4/dmtxread/dmtxread.h
--- dmtx-utils-0.7.4.orig/dmtxread/dmtxread.h 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/dmtxread/dmtxread.h 2016-05-06 23:01:38.871722717 +0200
@@ -33,7 +33,7 @@
#include <math.h>
#include <stdarg.h>
#include <assert.h>
-#include <wand/magick-wand.h>
+#include <MagickWand/MagickWand.h>
#include <dmtx.h>
#include "../common/dmtxutil.h"
diff -ur dmtx-utils-0.7.4.orig/dmtxwrite/dmtxwrite.h dmtx-utils-0.7.4/dmtxwrite/dmtxwrite.h
--- dmtx-utils-0.7.4.orig/dmtxwrite/dmtxwrite.h 2011-06-03 07:13:10.000000000 +0200
+++ dmtx-utils-0.7.4/dmtxwrite/dmtxwrite.h 2016-05-06 23:01:38.871722717 +0200
@@ -34,7 +34,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <assert.h>
-#include <wand/magick-wand.h>
+#include <MagickWand/MagickWand.h>
#include <dmtx.h>
#include "../common/dmtxutil.h"
...@@ -4,6 +4,7 @@ parts = ...@@ -4,6 +4,7 @@ parts =
[libiconv.gets.patch] [libiconv.gets.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 8a20d8afe0617fce56f77537d2b84621 md5sum = 8a20d8afe0617fce56f77537d2b84621
download-only = true download-only = true
......
...@@ -4,8 +4,8 @@ parts = ...@@ -4,8 +4,8 @@ parts =
[libtasn1] [libtasn1]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.7.tar.gz url = http://ftp.gnu.org/gnu/libtasn1/libtasn1-4.8.tar.gz
md5sum = 12d10ca4ae0a3b95f7aa06a076da39ec md5sum = 9a6767705725544f2b86670dcfb34107
configure-options = configure-options =
--disable-static --disable-static
--disable-gtk-doc-html --disable-gtk-doc-html
...@@ -12,6 +12,7 @@ parts = lxc ...@@ -12,6 +12,7 @@ parts = lxc
[lxc-0.8.0-rc2-libexecdir-patch] [lxc-0.8.0-rc2-libexecdir-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = libexecdir-fix.patch filename = libexecdir-fix.patch
download-only = true download-only = true
...@@ -19,6 +20,7 @@ md5sum = d674463ccb3a7c205c2326fb4ab5436b ...@@ -19,6 +20,7 @@ md5sum = d674463ccb3a7c205c2326fb4ab5436b
[lxc-0.8.0-rc2-lxc-ls-patch] [lxc-0.8.0-rc2-lxc-ls-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = lxc-ls-fix.patch filename = lxc-ls-fix.patch
download-only = true download-only = true
...@@ -26,6 +28,7 @@ md5sum = 28c155a554d4f4856351085494585c73 ...@@ -26,6 +28,7 @@ md5sum = 28c155a554d4f4856351085494585c73
[lxc-0.8.0-rc2-cap_get_flag-patch] [lxc-0.8.0-rc2-cap_get_flag-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = cap_get_flag-fix.patch filename = cap_get_flag-fix.patch
download-only = true download-only = true
......
...@@ -22,9 +22,9 @@ parts = ...@@ -22,9 +22,9 @@ parts =
[mariadb] [mariadb]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
version = 10.1.13 version = 10.1.14
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb/?serve url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb/?serve
md5sum = aa881ff81a181c7357a90b8a357dee7c md5sum = 294925531e0fd2f0461e3894496a5adc
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
patch-options = -p0 patch-options = -p0
patches = patches =
...@@ -70,8 +70,8 @@ post-install = ...@@ -70,8 +70,8 @@ post-install =
# 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.
# http://mroonga.github.com/ # http://mroonga.github.com/
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/mroonga/mroonga-6.01.tar.gz url = http://packages.groonga.org/source/mroonga/mroonga-6.02.tar.gz
md5sum = 65bccc04872361590fd0f7c8fc94e947 md5sum = a7c6320e273eaa407860cac11970dae8
pre-configure = pre-configure =
mkdir fake_mariadb_source && mkdir fake_mariadb_source &&
ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql ln -s ${mariadb:location}/include/mysql/private fake_mariadb_source/sql
......
...@@ -31,6 +31,7 @@ md5sum = c933fffea299d00e43b002cb65738663 ...@@ -31,6 +31,7 @@ md5sum = c933fffea299d00e43b002cb65738663
[membase-source-common] [membase-source-common]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true strip-top-level-dir = true
[membase-component-common] [membase-component-common]
......
...@@ -7,6 +7,7 @@ extends = ...@@ -7,6 +7,7 @@ extends =
[memcached-fix-array-subscript-is-above-array-bounds] [memcached-fix-array-subscript-is-above-array-bounds]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = memcached-1.4-fix-array-subscript-is-above-array-bounds.patch filename = memcached-1.4-fix-array-subscript-is-above-array-bounds.patch
download-only = true download-only = true
...@@ -14,6 +15,7 @@ md5sum = 472508b9a4b6c0b9f5d6f2abce3444e3 ...@@ -14,6 +15,7 @@ md5sum = 472508b9a4b6c0b9f5d6f2abce3444e3
[memcached-gcc-4.4.patch] [memcached-gcc-4.4.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = memcached-gcc-4.4.patch filename = memcached-gcc-4.4.patch
download-only = true download-only = true
......
...@@ -16,6 +16,7 @@ parts = ...@@ -16,6 +16,7 @@ parts =
[mysql-5.1-sphinx-patch] [mysql-5.1-sphinx-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = eefcd08c400c58d3e89542ab482a8429 md5sum = eefcd08c400c58d3e89542ab482a8429
filename = mysql-5.1-sphinx-2.0.1-beta.diff filename = mysql-5.1-sphinx-2.0.1-beta.diff
...@@ -23,6 +24,7 @@ download-only = true ...@@ -23,6 +24,7 @@ download-only = true
[mysql-5.1-no_test-patch] [mysql-5.1-no_test-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 22b0ef8baec5efc182e10d233c6f14ca md5sum = 22b0ef8baec5efc182e10d233c6f14ca
filename = mysql_create_system_tables__no_test.patch filename = mysql_create_system_tables__no_test.patch
......
...@@ -19,6 +19,7 @@ parts = ...@@ -19,6 +19,7 @@ parts =
# MySQL-5.5 in # MySQL-5.5 in
# http://code.google.com/p/sphinxsearch/source/detail?r=2921 # http://code.google.com/p/sphinxsearch/source/detail?r=2921
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 04549822ebfa91b5f84025ff49ef24c2 md5sum = 04549822ebfa91b5f84025ff49ef24c2
filename = mysql-5.5-sphinx-2.0.1-beta.diff filename = mysql-5.5-sphinx-2.0.1-beta.diff
...@@ -26,6 +27,7 @@ download-only = true ...@@ -26,6 +27,7 @@ download-only = true
[mysql-5.5-no_test-patch] [mysql-5.5-no_test-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = bb7ee34b9a98da1f913566c63ffbc6f5 md5sum = bb7ee34b9a98da1f913566c63ffbc6f5
filename = mysql_create_system_tables__no_test.patch filename = mysql_create_system_tables__no_test.patch
......
...@@ -37,6 +37,7 @@ environment = ...@@ -37,6 +37,7 @@ environment =
[mysql-5.0-tritonn-patch] [mysql-5.0-tritonn-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://dl.sourceforge.jp/tritonn/44472/${:filename} url = http://dl.sourceforge.jp/tritonn/44472/${:filename}
md5sum = 257abe9c4afdc9b08033687fd486a595 md5sum = 257abe9c4afdc9b08033687fd486a595
filename = tritonn-1.0.12-mysql-5.0.87.diff filename = tritonn-1.0.12-mysql-5.0.87.diff
...@@ -44,6 +45,7 @@ download-only = true ...@@ -44,6 +45,7 @@ download-only = true
[mysql-5.0-sphinx-patch] [mysql-5.0-sphinx-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 4ca071cde319213a213ab3605e326d1c md5sum = 4ca071cde319213a213ab3605e326d1c
filename = mysql-5.0.87-sphinx-1.10.diff filename = mysql-5.0.87-sphinx-1.10.diff
......
...@@ -28,6 +28,7 @@ configure-options= ...@@ -28,6 +28,7 @@ configure-options=
[nginx-dav-ext-module] [nginx-dav-ext-module]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = https://github.com/arut/nginx-dav-ext-module/archive/v0.0.3.tar.gz url = https://github.com/arut/nginx-dav-ext-module/archive/v0.0.3.tar.gz
strip-top-level-dir = true strip-top-level-dir = true
md5sum = 2cb502dbda335be4ebd5fed0b3182bae md5sum = 2cb502dbda335be4ebd5fed0b3182bae
...@@ -59,6 +60,7 @@ mime = ${nginx:location}/conf/mime.types ...@@ -59,6 +60,7 @@ mime = ${nginx:location}/conf/mime.types
[hexaglobe-nginx-module] [hexaglobe-nginx-module]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://easicloud-p.cdn.hexaglobe.net/nginx-easicloud.tar.gz url = http://easicloud-p.cdn.hexaglobe.net/nginx-easicloud.tar.gz
md5sum = 57fe2ceb09740f22b5b1023f29889e0e md5sum = 57fe2ceb09740f22b5b1023f29889e0e
strip-top-level-dir = true strip-top-level-dir = true
......
...@@ -4,6 +4,7 @@ parts = ...@@ -4,6 +4,7 @@ parts =
[noVNC] [noVNC]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
# version-0.5.1 release from 29 Nov 2014 # version-0.5.1 release from 29 Nov 2014
url = https://github.com/kanaka/noVNC/archive/v0.5.1.tar.gz url = https://github.com/kanaka/noVNC/archive/v0.5.1.tar.gz
md5sum = ac55b2316b2164b6e09ae3bd89c37cb6 md5sum = ac55b2316b2164b6e09ae3bd89c37cb6
......
...@@ -6,6 +6,7 @@ parts = nspr ...@@ -6,6 +6,7 @@ parts = nspr
[nspr-pkgconfig-patch-download] [nspr-pkgconfig-patch-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
filename = nspr-4.8.6-pkgconfig-1.patch filename = nspr-4.8.6-pkgconfig-1.patch
url = http://www.linuxfromscratch.org/patches/blfs/svn/${:filename} url = http://www.linuxfromscratch.org/patches/blfs/svn/${:filename}
md5sum = 7c00beff0475314f59214842509e407f md5sum = 7c00beff0475314f59214842509e407f
......
...@@ -8,6 +8,7 @@ parts = ...@@ -8,6 +8,7 @@ parts =
[nss-patch] [nss-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
filename = nss-3.12.9-with-nspr-4.8.7-1.patch filename = nss-3.12.9-with-nspr-4.8.7-1.patch
url = http://www.linuxfromscratch.org/patches/blfs/svn/nss-3.12.8-standalone-1.patch url = http://www.linuxfromscratch.org/patches/blfs/svn/nss-3.12.8-standalone-1.patch
md5sum = ee7b5966961bef16ca896435e78652d3 md5sum = ee7b5966961bef16ca896435e78652d3
...@@ -15,6 +16,7 @@ download-only = true ...@@ -15,6 +16,7 @@ download-only = true
[nss-download] [nss-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_9_RTM/src/nss-3.12.9.tar.gz url = ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_9_RTM/src/nss-3.12.9.tar.gz
md5sum = bd32f183ca28440c1744650be31a9ccc md5sum = bd32f183ca28440c1744650be31a9ccc
strip-top-level-dir = true strip-top-level-dir = true
......
...@@ -6,6 +6,7 @@ parts = ocropus ...@@ -6,6 +6,7 @@ parts = ocropus
[ocropus-patch-scons] [ocropus-patch-scons]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true download-only = true
filename = ocropus.SConstruct-local-installation.patch filename = ocropus.SConstruct-local-installation.patch
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
...@@ -24,6 +25,7 @@ environment = ...@@ -24,6 +25,7 @@ environment =
[scons-local] [scons-local]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://prdownloads.sourceforge.net/scons/scons-local-2.0.1.tar.gz url = http://prdownloads.sourceforge.net/scons/scons-local-2.0.1.tar.gz
[scons-bin] [scons-bin]
...@@ -34,6 +36,7 @@ command = ...@@ -34,6 +36,7 @@ command =
[iulib-patch-scons] [iulib-patch-scons]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true download-only = true
filename = iulib.SConstruct-libtiff-detection.patch filename = iulib.SConstruct-libtiff-detection.patch
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
......
...@@ -6,6 +6,7 @@ parts += ...@@ -6,6 +6,7 @@ parts +=
[oood] [oood]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://www.nexedi.org/static/tarballs/oood/oood-r36294.tar.gz url = http://www.nexedi.org/static/tarballs/oood/oood-r36294.tar.gz
md5sum = 9e71251eea4b310fd6bd4ebf8abf890e md5sum = 9e71251eea4b310fd6bd4ebf8abf890e
strip-top-level-dir = true strip-top-level-dir = true
...@@ -16,8 +16,8 @@ parts = ...@@ -16,8 +16,8 @@ parts =
[openssl] [openssl]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://www.openssl.org/source/openssl-1.0.2g.tar.gz url = https://www.openssl.org/source/openssl-1.0.2h.tar.gz
md5sum = f3c710c045cdee5fd114feb69feba7aa md5sum = 9392e65072ce4b614c1392eefc1f23d0
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
# 'prefix' option to override --openssldir/--prefix (which is useful # 'prefix' option to override --openssldir/--prefix (which is useful
# when combined with INSTALL_PREFIX). Used by slapos.package.git/obs # when combined with INSTALL_PREFIX). Used by slapos.package.git/obs
......
...@@ -11,6 +11,7 @@ parts = pdftk ...@@ -11,6 +11,7 @@ parts = pdftk
[pdftk-1.44-Makefile.Base.patch] [pdftk-1.44-Makefile.Base.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
download-only = true download-only = true
md5sum = 04a3607213e4e638c1fd993321804499 md5sum = 04a3607213e4e638c1fd993321804499
...@@ -18,6 +19,7 @@ filename = pdftk-1.44-Makefile.Base.patch ...@@ -18,6 +19,7 @@ filename = pdftk-1.44-Makefile.Base.patch
[pdftk-hooks-download] [pdftk-hooks-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
filename = pdftk-hooks.py filename = pdftk-hooks.py
md5sum = d2a067b98953ad30ba1230f87dfb8b92 md5sum = d2a067b98953ad30ba1230f87dfb8b92
......
...@@ -13,8 +13,8 @@ extends = ...@@ -13,8 +13,8 @@ extends =
[poppler] [poppler]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://poppler.freedesktop.org/poppler-0.30.0.tar.xz url = http://poppler.freedesktop.org/poppler-0.43.0.tar.xz
md5sum = fb0a9d82b5433c823421a123eb8e9789 md5sum = 1d2b001663119855cdfbc0713dbfb9c6
configure-options = configure-options =
--disable-cairo-output --disable-cairo-output
--disable-cms --disable-cms
......
...@@ -14,6 +14,7 @@ parts = ...@@ -14,6 +14,7 @@ parts =
[python2.4-dbm-patch] [python2.4-dbm-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
# original patch from http://bugs.gentoo.org/attachment.cgi?id=109117 # original patch from http://bugs.gentoo.org/attachment.cgi?id=109117
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 8611020af1463b42f253ac73a91b09a1 md5sum = 8611020af1463b42f253ac73a91b09a1
...@@ -22,6 +23,7 @@ filename = python2.4-dbm.patch ...@@ -22,6 +23,7 @@ filename = python2.4-dbm.patch
[python2.4-no_system_inc_dirs-patch] [python2.4-no_system_inc_dirs-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 65c1193ac42c15109be0e6f9b7a671b8 md5sum = 65c1193ac42c15109be0e6f9b7a671b8
download-only = true download-only = true
...@@ -29,6 +31,7 @@ filename = python2.4-no_system_inc_dirs.patch ...@@ -29,6 +31,7 @@ filename = python2.4-no_system_inc_dirs.patch
[python2.4-CPPFLAGS-patch] [python2.4-CPPFLAGS-patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = 912b6d4b107e3f382995a4d3afcd3eca md5sum = 912b6d4b107e3f382995a4d3afcd3eca
download-only = true download-only = true
......
...@@ -17,6 +17,7 @@ parts = ...@@ -17,6 +17,7 @@ parts =
[python-2.6.6-no_system_inc_dirs.patch] [python-2.6.6-no_system_inc_dirs.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
path = ${:filename} path = ${:filename}
md5sum = ed7f8e11a97e45e5e09649c8b242e917 md5sum = ed7f8e11a97e45e5e09649c8b242e917
......
...@@ -3,6 +3,7 @@ parts = python-setuptools ...@@ -3,6 +3,7 @@ parts = python-setuptools
[setuptools-download] [setuptools-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true download-only = true
package_suffix = setuptools-18.4 package_suffix = setuptools-18.4
filename = ${:package_suffix}.tar.gz filename = ${:package_suffix}.tar.gz
......
...@@ -43,6 +43,7 @@ environment = ...@@ -43,6 +43,7 @@ environment =
[debian-amd64-netinst.iso] [debian-amd64-netinst.iso]
# Download the installer of Debian 8 (Jessie) # Download the installer of Debian 8 (Jessie)
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://cdimage.debian.org/debian-cd/8.4.0/amd64/iso-cd/debian-8.4.0-amd64-netinst.iso url = http://cdimage.debian.org/debian-cd/8.4.0/amd64/iso-cd/debian-8.4.0-amd64-netinst.iso
filename = ${:_buildout_section_name_} filename = ${:_buildout_section_name_}
md5sum = 8d52d1b7789cd5a464aae719f05299ec md5sum = 8d52d1b7789cd5a464aae719f05299ec
......
...@@ -10,6 +10,7 @@ extends = ...@@ -10,6 +10,7 @@ extends =
[sphinx-1.10-beta-snowball.patch] [sphinx-1.10-beta-snowball.patch]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
path = ${:filename} path = ${:filename}
md5sum = 65a5ee78bf27c030734674c018006287 md5sum = 65a5ee78bf27c030734674c018006287
......
...@@ -46,6 +46,7 @@ make-options = ...@@ -46,6 +46,7 @@ make-options =
[tesseract-eng-traineddata] [tesseract-eng-traineddata]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true strip-top-level-dir = true
url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz
md5sum = 89c139a73e0e7b1225809fc7b226b6c9 md5sum = 89c139a73e0e7b1225809fc7b226b6c9
...@@ -11,12 +11,14 @@ parts = ...@@ -11,12 +11,14 @@ parts =
[tomcat6] [tomcat6]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true strip-top-level-dir = true
url = http://apache.multidist.com/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz url = http://apache.multidist.com/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
md5sum = 3dde098fd0b3a08d3f2867e4a95591ba md5sum = 3dde098fd0b3a08d3f2867e4a95591ba
[tomcat7] [tomcat7]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
strip-top-level-dir = true strip-top-level-dir = true
url = http://apache.multidist.com/tomcat/tomcat-7/v7.0.34/bin/apache-tomcat-7.0.34.tar.gz url = http://apache.multidist.com/tomcat/tomcat-7/v7.0.34/bin/apache-tomcat-7.0.34.tar.gz
md5sum = 0f50494425c24450b4f66dfd4d2aecca md5sum = 0f50494425c24450b4f66dfd4d2aecca
...@@ -275,8 +275,8 @@ environment = ...@@ -275,8 +275,8 @@ environment =
[pixman] [pixman]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://xorg.freedesktop.org/archive/individual/lib/pixman-0.32.8.tar.bz2 url = http://cairographics.org/releases/pixman-0.34.0.tar.gz
md5sum = 18d6b62abdb7bc0f8e6b0ddf48986b2c md5sum = e80ebae4da01e77f68744319f01d52a3
configure-options = configure-options =
--disable-static --disable-static
......
...@@ -6,6 +6,7 @@ parts = xpdf ...@@ -6,6 +6,7 @@ parts = xpdf
[xpdf-patch-download] [xpdf-patch-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ftp://ftp.foolabs.com/pub/xpdf/${:filename} url = ftp://ftp.foolabs.com/pub/xpdf/${:filename}
download-only = true download-only = true
......
...@@ -18,6 +18,7 @@ parts = ...@@ -18,6 +18,7 @@ parts =
[mysql-5.1-download] [mysql-5.1-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
version = 5.1.56 version = 5.1.56
url = http://s3.amazonaws.com/percona.com/downloads/community/mysql-${:version}.tar.gz url = http://s3.amazonaws.com/percona.com/downloads/community/mysql-${:version}.tar.gz
md5sum = 15161d67f4830aad3a8a89e083749d49 md5sum = 15161d67f4830aad3a8a89e083749d49
...@@ -26,6 +27,7 @@ filename = mysql-${:version}.tar.gz ...@@ -26,6 +27,7 @@ filename = mysql-${:version}.tar.gz
[libtar-download] [libtar-download]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
version = 1.2.11 version = 1.2.11
url = http://s3.amazonaws.com/percona.com/downloads/community/libtar-${:version}.tar.gz url = http://s3.amazonaws.com/percona.com/downloads/community/libtar-${:version}.tar.gz
md5sum = 604238e8734ce6e25347a58c4f1a1d7e md5sum = 604238e8734ce6e25347a58c4f1a1d7e
......
...@@ -13,18 +13,22 @@ ...@@ -13,18 +13,22 @@
}, },
"serialisation": { "serialisation": {
"description": "How the parameters and results are serialised", "description": "How the parameters and results are serialised",
"required": true, "require": true,
"enum": ["xml", "json-in-xml"], "enum": ["xml", "json-in-xml"],
"type": "string" "type": "string"
}, },
"software-type": { "software-type": {
"description": "Existing software types", "description": "Existing software types",
"required": true, "require": true,
"patternProperties": { "patternProperties": {
".*": { ".*": {
"description": "Software type declaration", "description": "Software type declaration",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"title": {
"description": "A human-friendly title of the software type",
"type": "string"
},
"description": { "description": {
"description": "A human-friendly description of the software type", "description": "A human-friendly description of the software type",
"type": "string" "type": "string"
...@@ -35,18 +39,26 @@ ...@@ -35,18 +39,26 @@
"type": "string" "type": "string"
}, },
"request": { "request": {
"required": true, "require": true,
"description": "URL, relative to Software Release base path, of a json schema for values expected by instance of current software type", "description": "URL, relative to Software Release base path, of a json schema for values expected by instance of current software type",
"type": "string" "type": "string"
}, },
"response": { "response": {
"required": true, "require": true,
"description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type", "description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type",
"type": "string" "type": "string"
}, },
"software-type" : {
"description": "Value to be used as software type instead of the software type id (in order to use multiple diferent forms for the same software type).",
"type": "string"
},
"shared" : {
"description": "Define if the request will request a Slave or Software Instance.",
"type": "boolean"
},
"index": { "index": {
"description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)", "description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)",
"type": "any" "type": "number"
} }
}, },
"type": "object" "type": "object"
......
...@@ -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.26.dev0' version = '1.0.30'
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"
......
...@@ -110,6 +110,7 @@ parts = configure-script ...@@ -110,6 +110,7 @@ parts = configure-script
[configure-script] [configure-script]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
url = url_of_script_name.py url = url_of_script_name.py
filename = script_name.py filename = script_name.py
......
...@@ -27,8 +27,10 @@ ...@@ -27,8 +27,10 @@
import os import os
import hashlib import hashlib
import ConfigParser import ConfigParser
import tempfile
from slapos.recipe.librecipe import GenericBaseRecipe from slapos.recipe.librecipe import GenericBaseRecipe
from certificate_authority import popenCommunicate
class Recipe(GenericBaseRecipe): class Recipe(GenericBaseRecipe):
...@@ -93,6 +95,13 @@ class Recipe(GenericBaseRecipe): ...@@ -93,6 +95,13 @@ class Recipe(GenericBaseRecipe):
class Request(Recipe): class Request(Recipe):
def setPath(self):
self.request_directory = self.options['requests-directory']
self.ca_private = self.options['ca-private']
self.ca_certs = self.options['ca-certs']
self.ca_key_ext = '.key'
self.ca_crt_ext = '.crt'
def _options(self, options): def _options(self, options):
if 'name' not in options: if 'name' not in options:
options['name'] = self.name options['name'] = self.name
...@@ -114,6 +123,7 @@ class Request(Recipe): ...@@ -114,6 +123,7 @@ class Request(Recipe):
# XXX Ugly hack to quickly provide custom certificate/key to everyone using the recipe # XXX Ugly hack to quickly provide custom certificate/key to everyone using the recipe
if key_content and cert_content: if key_content and cert_content:
self._checkCertificateKeyConsistency(key_content, cert_content)
open(key, 'w').write(key_content) open(key, 'w').write(key_content)
open(certificate, 'w').write(cert_content) open(certificate, 'w').write(cert_content)
request_needed = False request_needed = False
...@@ -145,3 +155,48 @@ class Request(Recipe): ...@@ -145,3 +155,48 @@ class Request(Recipe):
path_list.append(wrapper) path_list.append(wrapper)
return path_list return path_list
def _checkCertificateKeyConsistency(self, key, certificate, ca=""):
openssl_binary = self.options.get('openssl-binary', 'openssl')
tmpdir = tempfile.mkdtemp()
with open(tmpdir + "/ca", "w") as f:
f.write(ca)
with open(tmpdir + "/key", "w") as f:
f.write(key)
with open(tmpdir + "/cert", "w") as f:
f.write(certificate)
try:
# Simple test if the user/certificates are readable and don't raise
popenCommunicate([openssl_binary, 'x509', '-noout', '-text', '-in', tmpdir + "/cert"])
popenCommunicate([openssl_binary, 'rsa', '-noout', '-text', '-in', tmpdir + "/key"])
# Get md5 to check if the key and certificate matches
modulus_cert = popenCommunicate([openssl_binary, 'x509', '-noout', '-modulus', '-in', tmpdir + "/cert"])
modulus_key = popenCommunicate([openssl_binary, 'rsa', '-noout', '-modulus', '-in', tmpdir + "/key"])
md5sum_cert = popenCommunicate([openssl_binary, 'md5'], modulus_cert)
md5sum_key = popenCommunicate([openssl_binary, 'md5'], modulus_key)
if md5sum_cert != md5sum_key:
raise ValueError("The key and certificate provided don't patch each other. Please check your parameters")
except:
try:
file_list = [tmpdir + "/ca", tmpdir + "/key", tmpdir + "/cert"]
for f in file_list:
if os.path.exists(f):
os.unlink(f)
if os.path.exists(tmpdir):
os.rmdir(tmpdir)
except:
# do not raise during cleanup
pass
raise
else:
pass
...@@ -48,6 +48,14 @@ ...@@ -48,6 +48,14 @@
"description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type", "description": "URL, relative to Software Release base path, of a json schema for values published by instance of current software type",
"type": "string" "type": "string"
}, },
"software-type" : {
"description": "Value to be used as software type instead of the software type id (in order to use multiple diferent forms for the same software type).",
"type": "string"
},
"shared" : {
"description": "Define if the request will request a Slave or Software Instance.",
"type": "boolean"
},
"index": { "index": {
"description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)", "description": "Value to use instead of software type id to sort them (in order to display most relevant software types earlier in a list, for example)",
"type": "number" "type": "number"
......
...@@ -53,7 +53,7 @@ smmap = 0.9.0 ...@@ -53,7 +53,7 @@ smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
GitPython = 1.0.1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
...@@ -69,7 +69,7 @@ lockfile = 0.10.2 ...@@ -69,7 +69,7 @@ lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 2.0.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
......
...@@ -46,6 +46,7 @@ mode = 0644 ...@@ -46,6 +46,7 @@ mode = 0644
[application] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://garr.dl.sourceforge.net/project/ajaxplorer/ajaxplorer/dev-channel/4.3.4/ajaxplorer-core-4.3.4.tar.gz url = http://garr.dl.sourceforge.net/project/ajaxplorer/ajaxplorer/dev-channel/4.3.4/ajaxplorer-core-4.3.4.tar.gz
md5sum = 2f2ff8bda7bbe841ef0e870c724eb74f md5sum = 2f2ff8bda7bbe841ef0e870c724eb74f
strip-top-level-dir = true strip-top-level-dir = true
......
...@@ -11,6 +11,7 @@ extends = ...@@ -11,6 +11,7 @@ extends =
../../component/stunnel/buildout.cfg ../../component/stunnel/buildout.cfg
../../component/dcron/buildout.cfg ../../component/dcron/buildout.cfg
../../component/logrotate/buildout.cfg ../../component/logrotate/buildout.cfg
../../component/python-cryptography/buildout.cfg
../../component/rdiff-backup/buildout.cfg ../../component/rdiff-backup/buildout.cfg
../../component/trafficserver/buildout.cfg ../../component/trafficserver/buildout.cfg
...@@ -37,6 +38,7 @@ parts += ...@@ -37,6 +38,7 @@ parts +=
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg} ${lxml-python:egg}
${python-cryptography:egg}
slapos.toolbox slapos.toolbox
scripts = scripts =
...@@ -78,7 +80,7 @@ mode = 0644 ...@@ -78,7 +80,7 @@ mode = 0644
[template-slave-list] [template-slave-list]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/apache-custom-slave-list.cfg.in url = ${:_profile_base_location_}/templates/apache-custom-slave-list.cfg.in
md5sum = c01c0ebb749d16bda4649bf42d36c7ea md5sum = 7f010ef92fdea8fb4de9bc93c76604ba
mode = 640 mode = 640
[template-slave-configuration] [template-slave-configuration]
...@@ -133,7 +135,7 @@ mode = 640 ...@@ -133,7 +135,7 @@ mode = 640
[template-default-slave-virtualhost] [template-default-slave-virtualhost]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/templates/default-virtualhost.conf.in url = ${:_profile_base_location_}/templates/default-virtualhost.conf.in
md5sum = aed0077ee82aaa7fbd2b7e84ce5fbd69 md5sum = e7a13555b39b3004200b0e46738df8ab
mode = 640 mode = 640
[template-cached-slave-virtualhost] [template-cached-slave-virtualhost]
...@@ -163,6 +165,7 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8 ...@@ -163,6 +165,7 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8
[template-trafficserver-records-config] [template-trafficserver-records-config]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/trafficserver/${:filename} url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
md5sum = 65afeef0229430ad8a6fbc57298b787b md5sum = 65afeef0229430ad8a6fbc57298b787b
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -172,6 +175,7 @@ mode = 0644 ...@@ -172,6 +175,7 @@ mode = 0644
[template-trafficserver-storage-config] [template-trafficserver-storage-config]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/trafficserver/${:filename} url = ${:_profile_base_location_}/templates/trafficserver/${:filename}
md5sum = 23c83efaf2fb0f9f0b3096bbfdda05c1 md5sum = 23c83efaf2fb0f9f0b3096bbfdda05c1
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
......
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Input Parameters",
"properties": {
"public-ipv4": {
"title": "Backend URL",
"description": "Url of the backend",
"type": "string"
},
"-frontend-authorized-slave-string": {
"title": "Authorized Slave String",
"description": "List of SOFTINST-XXX of Slaves, separated by space which is allowed to use custom configuration.",
"type": "string"
},
"apache-key": {
"title": "Apache Key",
"description": "Url of the Backend",
"type": "string"
},
"apache-certificate": {
"title": "Apache Certificate",
"description": "Apache Certificate",
"type": "string"
},
"apache-ca-certificate": {
"title": "Apache CA Certificate",
"description": "Apache CA Certificate",
"type": "string"
},
"domain": {
"title": "Domain",
"description": "Base Domain for create subdomains.",
"type": "string",
"pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$"
},
"-frontend-quantity": {
"title": "Frontend Replication Quantity",
"description": "Quantity of Frontends Replicate.",
"type": "integer",
"default": ""
}
}
}
\ No newline at end of file
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Values returned by Apache Frontend instanciation",
"properties": {
"accepted-slave-amount": {
"description": "Amount of Slaves allocated to the Instance which are deployed",
"type": "integer"
},
"slave-amount": {
"description": "Total amount of Slaves allocated to the Instance (include blocked ones)",
"type": "integer"
},
"reject-slave-amount": {
"description": "Rejected Amount of Slaves allocated to the Instance which are not deployed",
"type": "integer"
},
"rejected-slave-list": {
"description": "List of slave instances references which are rejected",
"type": "array"
},
"domain": {
"description": "Base domain used by the instance",
"type": "string"
},
"monitor-base-url": {
"description": "Base url for monitor",
"type": "string"
},
"monitor-url": {
"description": "Url of Monitor (opml)",
"type": "string"
},
"monitor-password": {
"description": "Password to access the monitor",
"type": "string"
},
"monitor-user": {
"description": "User to access the monitor",
"type": "string"
}
},
"type": "object"
}
...@@ -49,12 +49,14 @@ ...@@ -49,12 +49,14 @@
"title": "SSL Certificate", "title": "SSL Certificate",
"description": "SSL Certificate", "description": "SSL Certificate",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
"ssl_key": { "ssl_key": {
"title": "SSL Key", "title": "SSL Key",
"description": "SSL Key", "description": "SSL Key",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
...@@ -62,6 +64,7 @@ ...@@ -62,6 +64,7 @@
"title": "SSL Certificate Authority's Certificate", "title": "SSL Certificate Authority's Certificate",
"description": "SSL Key", "description": "SSL Key",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
"https-only": { "https-only": {
...@@ -130,12 +133,14 @@ ...@@ -130,12 +133,14 @@
"title": "HTTP configuration", "title": "HTTP configuration",
"description": "Raw http configuration in python template format. Your site will be rejected if you use it without notification and approval of the frontend adminastrator", "description": "Raw http configuration in python template format. Your site will be rejected if you use it without notification and approval of the frontend adminastrator",
"default": "", "default": "",
"textarea": true,
"type": "string" "type": "string"
}, },
"apache_custom_https": { "apache_custom_https": {
"title": "HTTPS configuration", "title": "HTTPS configuration",
"description": "Raw https configuration in python template format. Your site will be rejected if you use it without notification and approval of the frontend adminastrator", "description": "Raw https configuration in python template format. Your site will be rejected if you use it without notification and approval of the frontend adminastrator",
"default": "", "default": "",
"textarea": true,
"type": "string" "type": "string"
} }
} }
......
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Values returned by Apache Frontend instanciation",
"properties": {
"replication_number": {
"description": "Number of nodes the slave is replicated",
"type": "integer"
},
"domain": {
"description": "Base domain used by the instance",
"type": "string"
},
"url": {
"description": "Default URL provided",
"type": "string"
},
"site_url": {
"description": "URL for HTTP access",
"type": "string"
},
"secure_access": {
"description": "URL for HTTP access",
"type": "string"
},
"public-ipv4": {
"description": "Public IPv4 to be included on DNS",
"type": "string"
},
"log-access-url": {
"description": "List of URLs to access logs",
"type": "array"
}
},
"type": "object"
}
...@@ -16,7 +16,7 @@ smmap = 0.9.0 ...@@ -16,7 +16,7 @@ smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
GitPython = 1.0.1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
...@@ -32,7 +32,7 @@ lockfile = 0.10.2 ...@@ -32,7 +32,7 @@ lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 2.0.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
......
{
"name": "Apache Frontend",
"description": "Apache Frontend",
"serialisation": "xml",
"software-type": {
"custom-personal-slave": {
"title": "Custom Personal (Slave)",
"description": "Custom Personal",
"request": "instance-slave-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 1,
"software-type": "custom-personal",
"shared": true
},
"custom-personal": {
"title": "Custom Personal",
"description": "",
"request": "instance-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 2
},
"default": {
"title": "Default",
"software-type": "default",
"description": "Default",
"request": "instance-slave-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 3
},
"default-slave": {
"title": "Default (slave)",
"software-type": "default",
"description": "Default",
"request": "instance-slave-apache-input-schema.json",
"response": "instance-output-schema.json",
"index": 3,
"shared": true
}
}
}
...@@ -98,7 +98,7 @@ command = {{frontend_configuration.get('apache-directory')}}/bin/htpasswd -cb ${ ...@@ -98,7 +98,7 @@ command = {{frontend_configuration.get('apache-directory')}}/bin/htpasswd -cb ${
#### Set Slave Certificates if needed #### Set Slave Certificates if needed
# Set ssl certificates for each slave # Set ssl certificates for each slave
{% for cert_name in ('ssl_key', 'ssl_crt', 'ssl_ca_crt', 'ssl_csr', 'ssl_proxy_ca_crt')-%} {% for cert_name in ('ssl_ca_crt', 'ssl_csr', 'ssl_proxy_ca_crt')-%}
{% if cert_name in slave_instance -%} {% if cert_name in slave_instance -%}
{% set cert_title = '%s-%s' % (slave_reference, cert_name.replace('ssl_', '')) -%} {% set cert_title = '%s-%s' % (slave_reference, cert_name.replace('ssl_', '')) -%}
{% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) -%} {% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) -%}
...@@ -118,6 +118,41 @@ value = {{ dumps(slave_instance.get(cert_name)) }} ...@@ -118,6 +118,41 @@ value = {{ dumps(slave_instance.get(cert_name)) }}
{% endif -%} {% endif -%}
{% endfor -%} {% endfor -%}
[cadirectory]
recipe = slapos.cookbook:mkdirectory
requests = {{ custom_ssl_directory }}/requests/
private = {{ custom_ssl_directory }}/private/
certs = {{ custom_ssl_directory }}/certs/
newcerts = {{ custom_ssl_directory }}/newcerts/
crl = {{ custom_ssl_directory }}/crl/
{% if 'ssl_key' in slave_instance and 'ssl_crt' in slave_instance -%}
{% set cert_title = '%s-crt' % (slave_reference) -%}
{% set key_title = '%s-key' % (slave_reference) -%}
{% set cert_file = '/'.join([custom_ssl_directory, cert_title.replace('-','.')]) -%}
{% set key_file = '/'.join([custom_ssl_directory, key_title.replace('-','.')]) -%}
{% do part_list.append(cert_title) -%}
{% do slave_instance.__setitem__('path_to_ssl_crt', cert_file) -%}
{% do slave_instance.__setitem__('path_to_ssl_key', key_file) -%}
[{{cert_title}}]
recipe = slapos.cookbook:certificate_authority.request
#openssl-binary = ${openssl:location}/bin/openssl
requests-directory = ${cadirectory:requests}
ca-private = ${cadirectory:private}
ca-certs = ${cadirectory:certs}
ca-newcerts = ${cadirectory:newcerts}
ca-crl = ${cadirectory:crl}
key-file = {{ key_file }}
cert-file = {{ cert_file }}
key-content = {{ dumps(slave_instance.get('ssl_key')) }}
cert-content = {{ dumps(slave_instance.get('ssl_crt')) }}
{% endif -%}
############################ ############################
#### Set Slave Configuration #### Set Slave Configuration
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
# First, we check if we have a zope backend server # First, we check if we have a zope backend server
# If so, let's use Virtual Host Daemon rewrite # If so, let's use Virtual Host Daemon rewrite
# We suppose that Apache listens to 443 (even indirectly thanks to things like iptables) # We suppose that Apache listens to 443 (even indirectly thanks to things like iptables)
RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/https/{{ slave_parameter.get('custom_domain', '') }}:443/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P] RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/https//%{SERVER_NAME}:443/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P]
{% elif slave_parameter.get('type', '') == 'redirect' -%} {% elif slave_parameter.get('type', '') == 'redirect' -%}
RewriteRule (.*) {{slave_parameter.get('url', '')}}$1 [R,L] RewriteRule (.*) {{slave_parameter.get('url', '')}}$1 [R,L]
{% else -%} {% else -%}
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
# First, we check if we have a zope backend server # First, we check if we have a zope backend server
# If so, let's use Virtual Host Daemon rewrite # If so, let's use Virtual Host Daemon rewrite
# We suppose that Apache listens to 80 (even indirectly thanks to things like iptables) # We suppose that Apache listens to 80 (even indirectly thanks to things like iptables)
RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/http/{{ slave_parameter.get('custom_domain', '') }}:80/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P] RewriteRule ^/(.*)$ {{ slave_parameter.get('url', '') }}/VirtualHostBase/http/%{SERVER_NAME}:80/{{ slave_parameter.get('path', '') }}/VirtualHostRoot/$1 [L,P]
{% else -%} {% else -%}
{% if 'default-path' in slave_parameter %} {% if 'default-path' in slave_parameter %}
RewriteRule ^/?$ {{ slave_parameter.get('default-path') }} [R=301,L] RewriteRule ^/?$ {{ slave_parameter.get('default-path') }} [R=301,L]
......
...@@ -24,6 +24,7 @@ md5sum = 4a286795a6822ee6d53743191d5374a6 ...@@ -24,6 +24,7 @@ md5sum = 4a286795a6822ee6d53743191d5374a6
#Download Boinc Application Binary and configure project #Download Boinc Application Binary and configure project
[application] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${boinc:location}/libexec/examples/upper_case url = ${boinc:location}/libexec/examples/upper_case
download-only = true download-only = true
filename = upper_case filename = upper_case
......
...@@ -32,6 +32,7 @@ md5sum = 4cf5a1a44bc7185f8882ab7247f309fc ...@@ -32,6 +32,7 @@ md5sum = 4cf5a1a44bc7185f8882ab7247f309fc
[bonjourgrid] [bonjourgrid]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.slapos.tar.gz url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.slapos.tar.gz
md5sum = 5b4594b8451d83eedfa5224dbdcbb872 md5sum = 5b4594b8451d83eedfa5224dbdcbb872
...@@ -45,6 +46,7 @@ mode = 0644 ...@@ -45,6 +46,7 @@ mode = 0644
[computer-info] [computer-info]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/machineinfo.worker.sh.in url = ${:_profile_base_location_}/templates/machineinfo.worker.sh.in
md5sum = 994fcb4dff1c86755b27f7c4a085e24a md5sum = 994fcb4dff1c86755b27f7c4a085e24a
filename = machineinfo.worker.sh.in filename = machineinfo.worker.sh.in
......
...@@ -50,6 +50,7 @@ md5sum = 59cc789d6ce765d3d25f9bd6f9659e55 ...@@ -50,6 +50,7 @@ md5sum = 59cc789d6ce765d3d25f9bd6f9659e55
[bonjourgrid] [bonjourgrid]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.slapos.tar.gz url = ${:_profile_base_location_}/bonjourgrid.src/bonjourgrid.slapos.tar.gz
md5sum = 5b4594b8451d83eedfa5224dbdcbb872 md5sum = 5b4594b8451d83eedfa5224dbdcbb872
...@@ -70,6 +71,7 @@ md5sum = 8b223d1fe0ffd40c7151766730da7fcb ...@@ -70,6 +71,7 @@ md5sum = 8b223d1fe0ffd40c7151766730da7fcb
#Download Boinc Application Binary and configure project #Download Boinc Application Binary and configure project
[application] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${boinc:location}/libexec/examples/upper_case url = ${boinc:location}/libexec/examples/upper_case
download-only = true download-only = true
filename = upper_case filename = upper_case
......
...@@ -50,12 +50,14 @@ ...@@ -50,12 +50,14 @@
"title": "SSL Certificate", "title": "SSL Certificate",
"description": "SSL Certificate", "description": "SSL Certificate",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
"frontend-ssl_key": { "frontend-ssl_key": {
"title": "SSL Key", "title": "SSL Key",
"description": "SSL Key", "description": "SSL Key",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
...@@ -63,61 +65,57 @@ ...@@ -63,61 +65,57 @@
"title": "SSL Certificate Authority's Certificate", "title": "SSL Certificate Authority's Certificate",
"description": "SSL Key", "description": "SSL Key",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
"frontend-https-only": { "frontend-https-only": {
"title": "HTTPS Only", "title": "HTTPS Only",
"description": "If set to true, http request are redirect to https", "description": "If set to true, http request are redirect to https",
"type": "string", "type": "boolean",
"default": "false", "default": false
"enum": ["false", "true"]
}, },
"frontend-ssl-proxy-verify": { "frontend-ssl-proxy-verify": {
"title": "Verify Backend Certificates", "title": "Verify Backend Certificates",
"description": "If set to true, Backend Certificates are checked", "description": "If set to true, Backend Certificates are checked",
"type": "string", "type": "boolean",
"default": "false", "default": false
"enum": ["false", "true"]
}, },
"frontend-ssl_proxy_ca_crt": { "frontend-ssl_proxy_ca_crt": {
"title": "SSL Backend Authority's Certificate", "title": "SSL Backend Authority's Certificate",
"description": "SSL Certificate Authority of the backen (to be used with ssl-proxy-verify)", "description": "SSL Certificate Authority of the backen (to be used with ssl-proxy-verify)",
"type": "string", "type": "string",
"textarea": true,
"default": "" "default": ""
}, },
"frontend-enable_cache": { "frontend-enable_cache": {
"title": "Enable Cache", "title": "Enable Cache",
"description": "If set to true, the cache is used", "description": "If set to true, the cache is used",
"type": "string", "type": "boolean",
"default": "false", "default": false
"enum": ["false", "true"]
}, },
"frontend-disable-no-cache-request": { "frontend-disable-no-cache-request": {
"title": "Disable 'no-cache' requests", "title": "Disable 'no-cache' requests",
"description": "If set to true, no-cache control headers will be disabled", "description": "If set to true, no-cache control headers will be disabled",
"type": "string", "type": "boolean",
"default": "false", "default": false
"enum": ["false", "true"]
}, },
"frontend-disable-via-header": { "frontend-disable-via-header": {
"title": "Disable 'Via' headers from cache", "title": "Disable 'Via' headers from cache",
"description": "If set to true, via headers will be disabled", "description": "If set to true, via headers will be disabled",
"type": "string", "type": "boolean",
"default": "false", "default": false
"enum": ["false", "true"]
}, },
"frontend-prefer-gzip-encoding-to-backend": { "frontend-prefer-gzip-encoding-to-backend": {
"title": "Prefer gzip Encoding for Backend", "title": "Prefer gzip Encoding for Backend",
"description": "If set to true, if a request is made with accept encoding 'gzip', only that one will be transferred to the backend", "description": "If set to true, if a request is made with accept encoding 'gzip', only that one will be transferred to the backend",
"type": "string", "type": "boolean",
"default": "false", "default": false
"enum": ["false", "true"]
}, },
"frontend-disabled-cookie-list": { "frontend-disabled-cookie-list": {
......
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Input Parameters",
"properties": {
"port": {
"title": "Backend port",
"description": "Port where the service is running on the backend",
"default": 80,
"type": "integer"
},
"frontend-custom_domain": {
"title": "Custom Domain",
"description": "Custom Domain to use for the website",
"type": "string",
"pattern": "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$"
},
"frontend-server-alias": {
"title": "Server Alias",
"description": "Server Alias List separated by space",
"type": "string",
"default": ""
},
"frontend-type": {
"title": "Backend Type",
"description": "Type of slave. If redirect, the slave will redirect to the given url. If zope, the rewrite rules will be compatible with Virtual Host Monster",
"type": "string",
"default": "",
"enum": ["", "zope", "redirect"]
},
"frontend-path": {
"title": "Backend Path",
"description": "Path to proxy to in the backend",
"type": "string",
"default": ""
},
"frontend-default-path": {
"title": "Default Path",
"description": "Provide default path to redirect user to",
"type": "string",
"default": ""
},
"frontend-https-only": {
"title": "HTTPS Only",
"description": "If set to true, http request are redirect to https",
"type": "boolean",
"default": false
},
"frontend-enable_cache": {
"title": "Enable Cache",
"description": "If set to true, the cache is used",
"type": "boolean",
"default": false
}
}
}
...@@ -6,9 +6,17 @@ ...@@ -6,9 +6,17 @@
"default": { "default": {
"title": "Default", "title": "Default",
"description": "Re6st registry", "description": "Re6st registry",
"request": "instance-cdn-me-input-schema.json", "request": "instance-cdn-me-simplified-input-schema.json",
"response": "instance-cdn-me-output-schema.json", "response": "instance-cdn-me-output-schema.json",
"index": 0 "index": 0
},
"default-advanced": {
"title": "Default (Advanced Form)",
"software-type": "default",
"description": "Re6st registry",
"request": "instance-cdn-me-input-schema.json",
"response": "instance-cdn-me-output-schema.json",
"index": 1
} }
} }
} }
\ No newline at end of file
...@@ -29,6 +29,7 @@ eggs = ${instance-recipe:egg} ...@@ -29,6 +29,7 @@ eggs = ${instance-recipe:egg}
[application] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://garr.dl.sourceforge.net/project/ajaxplorer/ajaxplorer/dev-channel/4.3.4/ajaxplorer-core-4.3.4.tar.gz url = http://garr.dl.sourceforge.net/project/ajaxplorer/ajaxplorer/dev-channel/4.3.4/ajaxplorer-core-4.3.4.tar.gz
md5sum = 2f2ff8bda7bbe841ef0e870c724eb74f md5sum = 2f2ff8bda7bbe841ef0e870c724eb74f
strip-top-level-dir = true strip-top-level-dir = true
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
"software-type": { "software-type": {
"description": "Request a front-end slave instance of this software type.", "description": "Request a front-end slave instance of this software type.",
"default": "RootSoftwareInstance", "default": "RootSoftwareInstance",
"type": "" "type": "object"
} }
}, },
"type": "object" "type": "object"
......
...@@ -79,7 +79,7 @@ plone.recipe.command = 1.1 ...@@ -79,7 +79,7 @@ plone.recipe.command = 1.1
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
...@@ -91,4 +91,4 @@ feedparser = 5.1.3 ...@@ -91,4 +91,4 @@ feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
paramiko = 1.16.0 paramiko = 2.0.0
...@@ -7,23 +7,8 @@ parts = ...@@ -7,23 +7,8 @@ parts =
promise-httpd-ipv6 promise-httpd-ipv6
publish-connection-information publish-connection-information
## Monitoring part ## Monitoring part
###Parts to add for monitoring monitor-base
certificate-authority
cron-entry-monitor
cron-entry-rss
deploy-index
deploy-settings-cgi
deploy-status-cgi
deploy-status-history-cgi
setup-static-files
zero-parameters
public-symlink
cgi-httpd-wrapper
cgi-httpd-graceful-wrapper
monitor-promise
monitor-instance-log-access
## Monitor for apache
extends = ${monitor-template:output} extends = ${monitor-template:output}
......
...@@ -24,12 +24,13 @@ mode = 0644 ...@@ -24,12 +24,13 @@ mode = 0644
[template-html5-ide] [template-html5-ide]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-html5ide.cfg url = ${:_profile_base_location_}/instance-html5ide.cfg
md5sum = e4d8adb5b7f0e5bf6ea12e47c5a13f8e md5sum = 21331b97b1fffe3567fdbb079ff147b9
output = ${buildout:directory}/template-html5ide.cfg output = ${buildout:directory}/template-html5ide.cfg
mode = 0644 mode = 0644
[template_httpd_conf] [template_httpd_conf]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/httpd.conf.jinja2 url = ${:_profile_base_location_}/template/httpd.conf.jinja2
download-only = true download-only = true
md5sum = 97d84138323b1e3214847b1b7de9a10e md5sum = 97d84138323b1e3214847b1b7de9a10e
......
...@@ -6,7 +6,6 @@ parts = ...@@ -6,7 +6,6 @@ parts =
kernel-json kernel-json
custom-js custom-js
extends = {{ monitor_template }}
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }} develop-eggs-directory = {{ develop_eggs_directory }}
...@@ -80,31 +79,6 @@ mode = 0744 ...@@ -80,31 +79,6 @@ mode = 0744
context = context =
raw config_cfg ${buildout:directory}/knowledge0.cfg raw config_cfg ${buildout:directory}/knowledge0.cfg
[monitor-instance-parameter]
monitor-base-url = ${monitor-frontend-promise:url}
# XXX Monitor will request frontend and check frontend promise
# If required use ipv6 url bellow
#monitor-base-url = ${monitor-httpd-conf-parameter:url}
cors-domains = ${slap-parameter:monitor-cors-domains}
[monitor-conf-parameters]
private-path-list +=
${instance-parameter:logfile}
# XXX need to convert this for new Monitor
[monitor-deploy-set-password-cgi]
<= dynamic-jinja2-template-base
template = {{ ipython_notebook_set_password_location }}/{{ ipython_notebook_set_password_filename }}
rendered = ${directory:etc}/${:filename}
filename = ipython-notebook-password.cgi
mode = 0744
context =
raw config_cfg ${buildout:directory}/knowledge0.cfg
raw python_executable {{ bin_directory }}/ipython
# key pwd monitor-directory:knowledge0-cgi
key this_file :filename
# key httpd_graceful cgi-httpd-graceful-wrapper:rendered
[directory] [directory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
home = ${buildout:directory} home = ${buildout:directory}
...@@ -123,10 +97,6 @@ erp5_kernel_dir = ${:ipython_kernel_dir}/ERP5 ...@@ -123,10 +97,6 @@ erp5_kernel_dir = ${:ipython_kernel_dir}/ERP5
[publish-connection-parameter] [publish-connection-parameter]
recipe = slapos.cookbook:publish.serialised recipe = slapos.cookbook:publish.serialised
url = https://[${instance-parameter:host}]:${instance-parameter:port} url = https://[${instance-parameter:host}]:${instance-parameter:port}
monitor-base-url = ${publish:monitor-base-url}
monitor-url = ${publish:monitor-url}
monitor-user = ${publish:monitor-user}
monitor-password = ${publish:monitor-password}
[erp5-kernel] [erp5-kernel]
<= dynamic-jinja2-template-base <= dynamic-jinja2-template-base
...@@ -154,5 +124,3 @@ template = {{ custom_js_location }}/{{ custom_js_filename }} ...@@ -154,5 +124,3 @@ template = {{ custom_js_location }}/{{ custom_js_filename }}
rendered = ${directory:ipython_dir}/profile_default/static/custom/custom.js rendered = ${directory:ipython_dir}/profile_default/static/custom/custom.js
mode = 0744 mode = 0744
[slap-parameter]
monitor-cors-domains = monitor.node.vifib.com
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
versions = versions versions = versions
extends = extends =
../../stack/slapos.cfg ../../stack/slapos.cfg
../../stack/monitor/buildout.cfg
../../component/ipython/buildout.cfg ../../component/ipython/buildout.cfg
../../component/scipy/buildout.cfg ../../component/scipy/buildout.cfg
../../component/scikit-learn/buildout.cfg ../../component/scikit-learn/buildout.cfg
../../component/pandas/buildout.cfg ../../component/pandas/buildout.cfg
../../component/openssl/buildout.cfg ../../component/openssl/buildout.cfg
parts = parts =
monitor-eggs
slapos-cookbook slapos-cookbook
ipython-notebook ipython-notebook
instance-jupyter instance-jupyter
...@@ -25,6 +23,7 @@ eggs += ...@@ -25,6 +23,7 @@ eggs +=
[download-file-base] [download-file-base]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
download-only = true download-only = true
destination = ${buildout:parts-directory}/${:_buildout_section_name_} destination = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -60,12 +59,11 @@ recipe = slapos.recipe.template:jinja2 ...@@ -60,12 +59,11 @@ recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg.in template = ${:_profile_base_location_}/instance.cfg.in
rendered = ${buildout:directory}/template.cfg rendered = ${buildout:directory}/template.cfg
mode = 0644 mode = 0644
md5sum = 060487563061b596af08815bf146190b md5sum = 26a28b74c8b18c92108c751b87abe80c
context = context =
key bin_directory buildout:bin-directory key bin_directory buildout:bin-directory
key develop_eggs_directory buildout:develop-eggs-directory key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory key eggs_directory buildout:eggs-directory
key monitor_template monitor-template:rendered
key openssl_output openssl-output:openssl key openssl_output openssl-output:openssl
key python_executable python2.7:executable key python_executable python2.7:executable
key ipython_notebook_config_location ipython-notebook-config:location key ipython_notebook_config_location ipython-notebook-config:location
......
...@@ -45,6 +45,8 @@ parts = ...@@ -45,6 +45,8 @@ parts =
[eggs] [eggs]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${python-cffi:egg}
${python-cryptography:egg}
${lxml-python:egg} ${lxml-python:egg}
websockify websockify
slapos.cookbook slapos.cookbook
...@@ -96,6 +98,7 @@ mode = 0644 ...@@ -96,6 +98,7 @@ mode = 0644
[template-kvm] [template-kvm]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644 mode = 644
md5sum = 88d7622b207760f4c0bdb1b149730478 md5sum = 88d7622b207760f4c0bdb1b149730478
...@@ -104,6 +107,7 @@ on-update = true ...@@ -104,6 +107,7 @@ on-update = true
[template-kvm-cluster] [template-kvm-cluster]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
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 = d5c3728faa0972c55506b6cfc2359b59 md5sum = d5c3728faa0972c55506b6cfc2359b59
...@@ -112,6 +116,7 @@ on-update = true ...@@ -112,6 +116,7 @@ on-update = true
[template-kvm-resilient] [template-kvm-resilient]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2
mode = 644 mode = 644
md5sum = e7c613f15fec8b440180d3c26476ed18 md5sum = e7c613f15fec8b440180d3c26476ed18
...@@ -120,6 +125,7 @@ on-update = true ...@@ -120,6 +125,7 @@ on-update = true
[template-kvm-resilient-test] [template-kvm-resilient-test]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-resilient-test.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm-resilient-test.cfg.jinja2
md5sum = e3d275621420f0b8c081228caeb571f9 md5sum = e3d275621420f0b8c081228caeb571f9
mode = 0644 mode = 0644
...@@ -128,6 +134,7 @@ on-update = true ...@@ -128,6 +134,7 @@ on-update = true
[template-kvm-import] [template-kvm-import]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-import.cfg.jinja2.in url = ${:_profile_base_location_}/instance-kvm-import.cfg.jinja2.in
md5sum = 3177381b65b4b95ba29190a6ac03b771 md5sum = 3177381b65b4b95ba29190a6ac03b771
mode = 0644 mode = 0644
...@@ -136,6 +143,7 @@ on-update = true ...@@ -136,6 +143,7 @@ on-update = true
[template-kvm-import-script] [template-kvm-import-script]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-import.sh.jinja2 url = ${:_profile_base_location_}/template/kvm-import.sh.jinja2
filename = kvm-import.sh.jinja2 filename = kvm-import.sh.jinja2
md5sum = 926a11421921c29f91fae8240bbcf585 md5sum = 926a11421921c29f91fae8240bbcf585
...@@ -144,6 +152,7 @@ mode = 0755 ...@@ -144,6 +152,7 @@ mode = 0755
[template-kvm-export] [template-kvm-export]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-kvm-export.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm-export.cfg.jinja2
mode = 644 mode = 644
md5sum = ff281bf8a8905632b32254622db105b7 md5sum = ff281bf8a8905632b32254622db105b7
...@@ -152,6 +161,7 @@ on-update = true ...@@ -152,6 +161,7 @@ on-update = true
[template-kvm-export-script] [template-kvm-export-script]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-export.sh.jinja2 url = ${:_profile_base_location_}/template/kvm-export.sh.jinja2
filename = kvm-export.sh.jinja2 filename = kvm-export.sh.jinja2
md5sum = 22bd2e0c8fdb39a764a14c403a3bd752 md5sum = 22bd2e0c8fdb39a764a14c403a3bd752
...@@ -174,6 +184,7 @@ mode = 0644 ...@@ -174,6 +184,7 @@ mode = 0644
[template-ansible-promise] [template-ansible-promise]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/ansible-promise.in url = ${:_profile_base_location_}/template/ansible-promise.in
md5sum = d0bd07d5a7799b7aea7720ffdf46f322 md5sum = d0bd07d5a7799b7aea7720ffdf46f322
mode = 0644 mode = 0644
...@@ -182,6 +193,7 @@ filename = ansible-promise.in ...@@ -182,6 +193,7 @@ filename = ansible-promise.in
[template-kvm-run] [template-kvm-run]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/template-kvm-run.in url = ${:_profile_base_location_}/template/template-kvm-run.in
mode = 644 mode = 644
filename = template-kvm-run.in filename = template-kvm-run.in
...@@ -191,6 +203,7 @@ on-update = true ...@@ -191,6 +203,7 @@ on-update = true
[template-kvm-controller] [template-kvm-controller]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/kvm-controller-run.in url = ${:_profile_base_location_}/template/kvm-controller-run.in
mode = 644 mode = 644
filename = kvm-controller-run.in filename = kvm-controller-run.in
...@@ -200,6 +213,7 @@ on-update = true ...@@ -200,6 +213,7 @@ on-update = true
[template-apache-conf] [template-apache-conf]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/apache.conf.in url = ${:_profile_base_location_}/template/apache.conf.in
mode = 644 mode = 644
filename = apache.conf.in filename = apache.conf.in
...@@ -209,6 +223,7 @@ on-update = true ...@@ -209,6 +223,7 @@ on-update = true
[template-content] [template-content]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/template-content.in url = ${:_profile_base_location_}/template/template-content.in
mode = 644 mode = 644
filename = template-content.in filename = template-content.in
......
...@@ -19,7 +19,7 @@ develop = ...@@ -19,7 +19,7 @@ develop =
[slapos.cookbook-repository] [slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/slapos.git repository = https://lab.nexedi.com/nexedi/slapos.git
branch = kvm-cluster branch = master
git-executable = ${git:location}/bin/git git-executable = ${git:location}/bin/git
[slapos.core-repository] [slapos.core-repository]
......
...@@ -20,7 +20,7 @@ pycurl = 7.19.5.1 ...@@ -20,7 +20,7 @@ pycurl = 7.19.5.1
# Required by: # Required by:
# slapos.toolbox==0.48 # slapos.toolbox==0.48
GitPython = 1.0.1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.48 # slapos.toolbox==0.48
...@@ -44,7 +44,7 @@ numpy = 1.9.2 ...@@ -44,7 +44,7 @@ numpy = 1.9.2
# Required by: # Required by:
# slapos.toolbox==0.48 # slapos.toolbox==0.48
paramiko = 1.16.0 paramiko = 2.0.0
# Required by: # Required by:
# slapos.toolbox==0.48 # slapos.toolbox==0.48
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
extends = extends =
../../component/pycurl/buildout.cfg ../../component/pycurl/buildout.cfg
../../component/python-cryptography/buildout.cfg
../../component/wget/buildout.cfg ../../component/wget/buildout.cfg
../../stack/monitor/buildout.cfg ../../stack/monitor/buildout.cfg
../../component/fluentd/buildout.cfg ../../component/fluentd/buildout.cfg
...@@ -77,6 +78,7 @@ recipe = zc.recipe.egg ...@@ -77,6 +78,7 @@ recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg} ${lxml-python:egg}
${pycurl:egg} ${pycurl:egg}
${python-cryptography:egg}
slapos.toolbox slapos.toolbox
scripts = scripts =
...@@ -99,22 +101,18 @@ eggs = ...@@ -99,22 +101,18 @@ eggs =
[versions] [versions]
PyRSS2Gen = 1.1 PyRSS2Gen = 1.1
apache-libcloud = 1.0.0rc2
cns.recipe.symlink = 0.2.3 cns.recipe.symlink = 0.2.3
plone.recipe.command = 1.1 gitdb = 0.6.4
slapos.recipe.template = 2.7 pycurl = 7.43.0
rubygemsrecipe = 0.2.1 rubygemsrecipe = 0.2.2
pycurl = 7.19.5.1 slapos.recipe.template = 2.9
apache-libcloud = 0.16.0
ecdsa = 0.11
gitdb = 0.6.0
pycrypto = 2.6.1
slapos.toolbox = 0.55 slapos.toolbox = 0.55
smmap = 0.8.3 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
GitPython = 0.3.2.1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
...@@ -122,17 +120,12 @@ atomize = 0.2.0 ...@@ -122,17 +120,12 @@ atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
feedparser = 5.1.3 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
paramiko = 1.16.0 lockfile = 0.12.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
lockfile = 0.10.2 paramiko = 2.0.0
# Required by:
# slapos.toolbox==0.55
rpdb = 0.1.5
...@@ -84,7 +84,7 @@ context = ...@@ -84,7 +84,7 @@ context =
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/cros_full_build.in template = {{ scripts_dir }}/cros_full_build.in
rendered = ${directory:run}/cros_full_build rendered = ${directory:run}/cros_full_build
md5sum = d2c41ded046c75473eda0f923ee215e2 md5sum = 75599e6b8418a5f3756c7c7b26600399
mode = 0700 mode = 0700
context = context =
key bash_path bin:bash key bash_path bin:bash
...@@ -97,4 +97,4 @@ context = ...@@ -97,4 +97,4 @@ context =
key ebuilds_dir directory:ebuilds_dir key ebuilds_dir directory:ebuilds_dir
key scripts_dir directory:scripts_dir key scripts_dir directory:scripts_dir
key logo_dir directory:logo_dir key logo_dir directory:logo_dir
raw nayu_dev_packages net-libs/nodejs net-misc/re6stnet dev-vcs/git dev-python/flask dev-python/virtualenv sys-fs/cryptsetup raw nayu_dev_packages net-libs/nodejs net-misc/re6stnet dev-vcs/git dev-python/flask dev-python/virtualenv sys-fs/cryptsetup
\ No newline at end of file
...@@ -128,7 +128,7 @@ for board in ${BOARDS} ; do ...@@ -128,7 +128,7 @@ for board in ${BOARDS} ; do
cp {{ logo_dir }}/* {{ cros_location }}/{{ branch }}/src/platform/chromiumos-assets/images_100_percent/ cp {{ logo_dir }}/* {{ cros_location }}/{{ branch }}/src/platform/chromiumos-assets/images_100_percent/
cp {{ logo_dir }}/* {{ cros_location }}/{{ branch }}/src/platform/chromiumos-assets/images_200_percent/ cp {{ logo_dir }}/* {{ cros_location }}/{{ branch }}/src/platform/chromiumos-assets/images_200_percent/
NAYU_IMAGE_LOCATION=${board}.nayuos.img NAYU_IMAGE_LOCATION=/tmp/${board}.nayuos.img
# rebuild packages with boot pictures # rebuild packages with boot pictures
cros_sdk -- ./build_packages --board=${board} >> "${BUILD_LOG}" cros_sdk -- ./build_packages --board=${board} >> "${BUILD_LOG}"
...@@ -139,8 +139,8 @@ for board in ${BOARDS} ; do ...@@ -139,8 +139,8 @@ for board in ${BOARDS} ; do
cros_sdk -- ./build_image --board=${board} dev >> "${BUILD_LOG}" \ cros_sdk -- ./build_image --board=${board} dev >> "${BUILD_LOG}" \
&& cros_sdk -- rm -f $NAYU_IMAGE_LOCATION && cros_sdk -- touch $NAYU_IMAGE_LOCATION \ && cros_sdk -- rm -f $NAYU_IMAGE_LOCATION && cros_sdk -- touch $NAYU_IMAGE_LOCATION \
&& cros_sdk -- cros flash --board=${board} file://$NAYU_IMAGE_LOCATION >> "${BUILD_LOG}" \ && cros_sdk -- cros flash --board=${board} file://$NAYU_IMAGE_LOCATION >> "${BUILD_LOG}" \
&& cros_sdk -- ./test_nayuos_image ${board} > "${TEST_LOG}" \
|| { echo "An error occured while building ${board} NayuOS image. Exiting." ; exit 1 ;} || { echo "An error occured while building ${board} NayuOS image. Exiting." ; exit 1 ;}
# && cros_sdk -- ./test_nayuos_image ${board} > "${TEST_LOG}" \
# save ~15Go/device but delete cache (next build will be as long) # save ~15Go/device but delete cache (next build will be as long)
if [ ${KEEP_CACHE,,} == "no" ] ; then if [ ${KEEP_CACHE,,} == "no" ] ; then
...@@ -159,7 +159,7 @@ done ...@@ -159,7 +159,7 @@ done
RELEASE=$(echo ${BRANCH} | cut -d- -f2) RELEASE=$(echo ${BRANCH} | cut -d- -f2)
DIR_IMAGE_LOCATION={{ cros_location }}/images/${RELEASE}/$(date +'%F') DIR_IMAGE_LOCATION={{ cros_location }}/images/${RELEASE}/$(date +'%F')
install ${DIR_IMAGE_LOCATION} -d install ${DIR_IMAGE_LOCATION} -d
mv {{ cros_location }}/{{ branch }}/src/scripts/*.img ${DIR_IMAGE_LOCATION} mv {{ cros_location }}/{{ branch }}/chroot/tmp/*.img ${DIR_IMAGE_LOCATION}
cd ${DIR_IMAGE_LOCATION} cd ${DIR_IMAGE_LOCATION}
for hashfunction in md5sum sha1sum sha256sum sha512sum; do for hashfunction in md5sum sha1sum sha256sum sha512sum; do
......
...@@ -35,7 +35,7 @@ command = sudo -V ...@@ -35,7 +35,7 @@ command = sudo -V
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg template = ${:_profile_base_location_}/instance.cfg
rendered = ${buildout:directory}/instance.cfg rendered = ${buildout:directory}/instance.cfg
md5sum = 875d7fd5990a8645e761849193b09630 md5sum = be6bd665c0b356a84090d200ea14b33c
mode = 0644 mode = 0644
scripts_dir = ${:_profile_base_location_}/scripts scripts_dir = ${:_profile_base_location_}/scripts
logo_dir = ${:_profile_base_location_}/logo logo_dir = ${:_profile_base_location_}/logo
......
...@@ -15,7 +15,7 @@ extends = ...@@ -15,7 +15,7 @@ extends =
#END LXML #END LXML
../../component/patch/buildout.cfg ../../component/patch/buildout.cfg
../../component/python-mysqlclient/buildout.cfg ../../component/python-mysqlclient/buildout.cfg
../../component/pycrypto-python/buildout.cfg ../../component/python-cryptography/buildout.cfg
parts = parts =
# keep neoppod first so that ZODB3 is built correctly, # keep neoppod first so that ZODB3 is built correctly,
...@@ -50,7 +50,7 @@ recipe = zc.recipe.egg ...@@ -50,7 +50,7 @@ recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg} ${lxml-python:egg}
${python-PyYAML:egg} ${python-PyYAML:egg}
${pycrypto-python:egg} ${python-cryptography:egg}
${python-cliff:egg} ${python-cliff:egg}
slapos.toolbox slapos.toolbox
scripts = scripts =
...@@ -121,10 +121,10 @@ apache-libcloud = 0.20.1 ...@@ -121,10 +121,10 @@ apache-libcloud = 0.20.1
atomize = 0.2.0 atomize = 0.2.0
ecdsa = 0.13 ecdsa = 0.13
feedparser = 5.2.1 feedparser = 5.2.1
GitPython = 1.0.2 GitPython = 2.0.2
gitdb = 0.6.4 gitdb = 0.6.4
lockfile = 0.10.2 lockfile = 0.10.2
mysqlclient = 1.3.7 mysqlclient = 1.3.7
paramiko = 1.16.0 paramiko = 2.0.0
pycrypto = 2.6.1 pycrypto = 2.6.1
smmap = 0.9.0 smmap = 0.9.0
...@@ -42,7 +42,7 @@ ZODB3 = 3.10.5+SlapOSPatched002 ...@@ -42,7 +42,7 @@ ZODB3 = 3.10.5+SlapOSPatched002
erp5.util = 0.4.44 erp5.util = 0.4.44
# To match ERP5 # To match ERP5
transaction = 1.1.1 transaction = 1.1.1
ZConfig = 2.9.1 ZConfig = 2.9.3
zc.lockfile = 1.0.2 zc.lockfile = 1.0.2
zdaemon = 2.0.7 zdaemon = 2.0.7
zope.event = 3.5.2 zope.event = 3.5.2
......
...@@ -60,6 +60,20 @@ ...@@ -60,6 +60,20 @@
"description": "Template used to generate DNS domain name", "description": "Template used to generate DNS domain name",
"type": "string", "type": "string",
"default": "ns%s. + zone" "default": "ns%s. + zone"
},
"monitor-interface-url": {
"title": "Monitor Web Interface URL",
"description": "Give Url of HTML web interface that will be used to render this monitor instance.",
"type": "string",
"format": "uri",
"default": "https://monitor.app.officejs.com"
},
"monitor-cors-domains": {
"title": "Monitor CORS domains",
"description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.",
"type": "string",
"default": "monitor.app.officejs.com"
} }
} }
} }
...@@ -13,6 +13,7 @@ context = ...@@ -13,6 +13,7 @@ context =
${:extra-context} ${:extra-context}
{% set part_list = [] -%} {% set part_list = [] -%}
{% set monitor_url_list = [] -%}
{% set single_type_key = 'single-' %} {% set single_type_key = 'single-' %}
{% if slap_software_type in ("replicate", "RootSoftwareInstance") %} {% if slap_software_type in ("replicate", "RootSoftwareInstance") %}
{% set dns_type = slapparameter_dict.pop('-dns-type', 'single-default') -%} {% set dns_type = slapparameter_dict.pop('-dns-type', 'single-default') -%}
...@@ -67,9 +68,27 @@ config-soa = {{ "%s,%s" % (dns_domain, server_admin) }} ...@@ -67,9 +68,27 @@ config-soa = {{ "%s,%s" % (dns_domain, server_admin) }}
{% for parameter in sla_parameters -%} {% for parameter in sla_parameters -%}
sla-{{ parameter }} = {{ slapparameter_dict.pop( sla_key + parameter ) }} sla-{{ parameter }} = {{ slapparameter_dict.pop( sla_key + parameter ) }}
{% endfor -%} {% endfor -%}
{% do monitor_url_list.append('${' ~ request_section_title ~ ':connection-monitor-base-url}') -%}
{% endfor -%} {% endfor -%}
[monitor-htpasswd]
recipe = slapos.cookbook:generate.password
storage-path = ${directory:etc}/.monitor_user
bytes = 8
username = admin
[monitor-instance-parameter]
monitor-httpd-port = 8099
cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.app.officejs.com') }}
username = ${monitor-htpasswd:username}
password = ${monitor-htpasswd:passwd}
[monitor-conf-parameters]
monitor-url-list +=
{% for url in monitor_url_list -%}
{{ ' ' ~ url }}
{% endfor %}
{% set ns_record = slapparameter_dict.pop('ns-record', ','.join(dns_domain_list)) %} {% set ns_record = slapparameter_dict.pop('ns-record', ','.join(dns_domain_list)) %}
[replicate] [replicate]
...@@ -82,26 +101,36 @@ software-url = {{ slapparameter_dict.pop(dns_software_url_key) }} ...@@ -82,26 +101,36 @@ software-url = {{ slapparameter_dict.pop(dns_software_url_key) }}
software-url = ${slap-connection:software-release-url} software-url = ${slap-connection:software-release-url}
{% endif %} {% endif %}
software-type = {{dns_type}} software-type = {{dns_type}}
return = private-ipv4 public-ipv4 slave-instance-information-list monitor_url return = private-ipv4 public-ipv4 slave-instance-information-list monitor-base-url
config-server-admin = {{ server_admin }} config-server-admin = {{ server_admin }}
config-ns-record = {{ ns_record }} config-ns-record = {{ ns_record }}
{% for parameter, value in slapparameter_dict.iteritems() -%} {% for parameter, value in slapparameter_dict.iteritems() -%}
config-{{parameter}} = {{ value }} config-{{parameter}} = {{ value }}
{% endfor -%} {% endfor -%}
config-{{ slave_list_name }} = {{ json_module.dumps(slave_instance_list) }} config-{{ slave_list_name }} = {{ json_module.dumps(slave_instance_list) }}
connection-monitor_url = config-monitor-cors-domains = {{ slapparameter_dict.get('monitor-cors-domains', 'monitor.node.vifib.com') }}
config-monitor-username = ${monitor-htpasswd:username}
config-monitor-password = ${monitor-htpasswd:passwd}
[publish-information] [publish-information]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
domain = {{ slapparameter_dict.get('domain') }} domain = {{ slapparameter_dict.get('domain') }}
slave-amount = {{ slave_instance_list | length }} slave-amount = {{ slave_instance_list | length }}
ns-record = {{ ns_record }} ns-record = {{ ns_record }}
{% for dns in dns_section_list %} monitor-url = ${publish:monitor-url}
{{ dns }}-monitor-url = {{ '${' + dns + ':connection-monitor_url}' }} monitor-user = ${publish:monitor-user}
{% endfor -%} monitor-password = ${publish:monitor-password}
{% set monitor_interface_url = slapparameter_dict.get('monitor-interface-url', 'https://monitor.app.officejs.com') -%}
{% if monitor_interface_url -%}
monitor-setup-url = {{ monitor_interface_url }}/#page=settings_configurator&url=${publish:monitor-url}
{% endif -%}
[buildout] [buildout]
extends =
{{ template_monitor }}
parts = parts =
monitor-base
publish-information publish-information
{% for part in part_list -%} {% for part in part_list -%}
{{ ' %s' % part }} {{ ' %s' % part }}
......
...@@ -99,6 +99,12 @@ path = $${directory:promise}/pdns-port-listening ...@@ -99,6 +99,12 @@ path = $${directory:promise}/pdns-port-listening
hostname = $${pdns:local-ipv4} hostname = $${pdns:local-ipv4}
port = $${pdns:port} port = $${pdns:port}
[publish-connection-informations]
recipe = slapos.cookbook:publish
monitor-url = $${publish:monitor-url}
monitor-user = $${publish:monitor-user}
monitor-password = $${publish:monitor-password}
##################### #####################
# Power DNS Slave configuration # Power DNS Slave configuration
# #
...@@ -131,28 +137,11 @@ parts = ...@@ -131,28 +137,11 @@ parts =
pdns-server pdns-server
pdns-reload pdns-reload
pdns-promise-listen-port pdns-promise-listen-port
monitor-base
publish-connection-informations publish-connection-informations
{% for part in part_list %} {% for part in part_list %}
{{ ' %s' % part }} {{ ' %s' % part }}
{% endfor %} {% endfor %}
## Monitoring part
###Parts to add for monitoring
cron
certificate-authority
cron-entry-monitor
cron-entry-rss
deploy-index
deploy-settings-cgi
deploy-status-cgi
deploy-status-history-cgi
setup-static-files
certificate-authority
zero-parameters
public-symlink
cgi-httpd-wrapper
cgi-httpd-graceful-wrapper
monitor-promise
monitor-instance-log-access
extends = ${monitor-template:output} extends = ${monitor-template:output}
......
...@@ -43,7 +43,7 @@ extensions = jinja2.ext.do ...@@ -43,7 +43,7 @@ extensions = jinja2.ext.do
extra-context = extra-context =
# Must match the key id in [switch-softwaretype] which uses this section. # Must match the key id in [switch-softwaretype] which uses this section.
raw software_type RootSoftwareInstance-default raw software_type RootSoftwareInstance-default
raw template_monitor monitor-template:output
[slap-parameters] [slap-parameters]
recipe = slapos.cookbook:slapconfiguration recipe = slapos.cookbook:slapconfiguration
......
...@@ -18,14 +18,14 @@ eggs = ...@@ -18,14 +18,14 @@ eggs =
[template] [template]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg url = ${:_profile_base_location_}/instance.cfg
md5sum = d2b12e0a1876849ed200ee5af6d1e618 md5sum = 19116ef08be2e9b5bda5e3e5139e45ac
output = ${buildout:directory}/template.cfg output = ${buildout:directory}/template.cfg
mode = 0644 mode = 0644
[template-powerdns] [template-powerdns]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-powerdns.cfg url = ${:_profile_base_location_}/instance-powerdns.cfg
md5sum = e90f6ac8e3b7fb1284c86565ffa146c6 md5sum = 06ad5bc18936b04b0bd566353047d02f
output = ${buildout:directory}/template-powerdns.cfg output = ${buildout:directory}/template-powerdns.cfg
mode = 0644 mode = 0644
...@@ -38,11 +38,12 @@ mode = 640 ...@@ -38,11 +38,12 @@ mode = 640
[template-dns-replicate] [template-dns-replicate]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-powerdns-replicate.cfg.jinja2 url = ${:_profile_base_location_}/instance-powerdns-replicate.cfg.jinja2
md5sum = 83cedc8fa923c59ca900b4600cc1c52f md5sum = ff2ac1f61fdd57fb349e209b9950f117
mode = 0644 mode = 0644
[iso-list] [iso-list]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/zz.countries.nexedi.dk.rbldnsd url = ${:_profile_base_location_}/template/zz.countries.nexedi.dk.rbldnsd
md5sum = 078bbe893aae7272270b4ec22505de33 md5sum = 078bbe893aae7272270b4ec22505de33
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -52,6 +53,7 @@ mode = 0644 ...@@ -52,6 +53,7 @@ mode = 0644
[template-cdn-conf] [template-cdn-conf]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/cdn.conf.in url = ${:_profile_base_location_}/template/cdn.conf.in
md5sum = 9d9b431d8373c2e1850f3cef5ae1898a md5sum = 9d9b431d8373c2e1850f3cef5ae1898a
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
......
...@@ -8,6 +8,7 @@ extends = ...@@ -8,6 +8,7 @@ extends =
../../component/openssl/buildout.cfg ../../component/openssl/buildout.cfg
../../component/logrotate/buildout.cfg ../../component/logrotate/buildout.cfg
../../component/apache/buildout.cfg ../../component/apache/buildout.cfg
../../component/python-cryptography/buildout.cfg
../../stack/slapos.cfg ../../stack/slapos.cfg
parts = parts =
...@@ -23,6 +24,7 @@ parts = ...@@ -23,6 +24,7 @@ parts =
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${lxml-python:egg} ${lxml-python:egg}
${python-cryptography:egg}
slapos.toolbox slapos.toolbox
scripts = scripts =
slapos-kill slapos-kill
...@@ -115,7 +117,7 @@ smmap = 0.9.0 ...@@ -115,7 +117,7 @@ smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
GitPython = 0.3.6 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
...@@ -139,7 +141,7 @@ miniupnpc = 1.9 ...@@ -139,7 +141,7 @@ miniupnpc = 1.9
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 2.0.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
......
...@@ -59,6 +59,7 @@ mode = 0644 ...@@ -59,6 +59,7 @@ mode = 0644
[template-runner-import-script] [template-runner-import-script]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/runner-import.sh.jinja2 url = ${:_profile_base_location_}/template/runner-import.sh.jinja2
download-only = true download-only = true
md5sum = d7f88b58b2508ce5af42ea7d7241626e md5sum = d7f88b58b2508ce5af42ea7d7241626e
...@@ -74,6 +75,7 @@ mode = 0644 ...@@ -74,6 +75,7 @@ mode = 0644
[template-runner-export-script] [template-runner-export-script]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/runner-export.sh.jinja2 url = ${:_profile_base_location_}/template/runner-export.sh.jinja2
download-only = true download-only = true
md5sum = 9dc934fe5015ff53869830a833266192 md5sum = 9dc934fe5015ff53869830a833266192
...@@ -96,6 +98,7 @@ mode = 0644 ...@@ -96,6 +98,7 @@ mode = 0644
[template-resilient-test] [template-resilient-test]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/instance-resilient-test.cfg.jinja2 url = ${:_profile_base_location_}/instance-resilient-test.cfg.jinja2
download-only = true download-only = true
md5sum = fb8c45e5c35548331fb06c4633ec592a md5sum = fb8c45e5c35548331fb06c4633ec592a
...@@ -104,6 +107,7 @@ mode = 0644 ...@@ -104,6 +107,7 @@ mode = 0644
[template_nginx_conf] [template_nginx_conf]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/nginx_conf.in url = ${:_profile_base_location_}/nginx_conf.in
download-only = true download-only = true
md5sum = e6c2e1dd2153afefa0805c4065066e4e md5sum = e6c2e1dd2153afefa0805c4065066e4e
...@@ -112,6 +116,7 @@ mode = 0644 ...@@ -112,6 +116,7 @@ mode = 0644
[template_httpd_conf] [template_httpd_conf]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/httpd_conf.in url = ${:_profile_base_location_}/httpd_conf.in
download-only = true download-only = true
md5sum = 505edf5a6a39edf0238bd42934503f1b md5sum = 505edf5a6a39edf0238bd42934503f1b
...@@ -128,6 +133,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_} ...@@ -128,6 +133,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
[template-slapos-cfg] [template-slapos-cfg]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
md5sum = f406b91c5b0261b198a1c1930c195071 md5sum = f406b91c5b0261b198a1c1930c195071
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -137,6 +143,7 @@ mode = 0644 ...@@ -137,6 +143,7 @@ mode = 0644
[template-parameters] [template-parameters]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
md5sum = f8446fcf254b4929eb828a9a1d7e5f62 md5sum = f8446fcf254b4929eb828a9a1d7e5f62
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -146,6 +153,7 @@ mode = 0644 ...@@ -146,6 +153,7 @@ mode = 0644
[template-bash-profile] [template-bash-profile]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
md5sum = 1c88cbca0c1e705eeb4b544ef4616097 md5sum = 1c88cbca0c1e705eeb4b544ef4616097
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -155,6 +163,7 @@ mode = 0644 ...@@ -155,6 +163,7 @@ mode = 0644
[template-supervisord] [template-supervisord]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
md5sum = d294d0dafd265048399de6da8c96345f md5sum = d294d0dafd265048399de6da8c96345f
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -164,6 +173,7 @@ mode = 0644 ...@@ -164,6 +173,7 @@ mode = 0644
[template-listener-slapgrid] [template-listener-slapgrid]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
md5sum = 49d50410cf7467175a841eb7cd0d93d4 md5sum = 49d50410cf7467175a841eb7cd0d93d4
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
...@@ -173,6 +183,7 @@ mode = 0644 ...@@ -173,6 +183,7 @@ mode = 0644
[monitor-check-webrunner-internal-instance] [monitor-check-webrunner-internal-instance]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
download-only = true download-only = true
#md5sum = 4c44d617d5bfd1db8695200e896480c0 #md5sum = 4c44d617d5bfd1db8695200e896480c0
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
"user-authorized-key": { "user-authorized-key": {
"title": "User Authorized Key", "title": "User Authorized Key",
"description": "SSH public key in order to connect to the SSH server of this runner instance.", "description": "SSH public key in order to connect to the SSH server of this runner instance.",
"textarea": true,
"type": "string" "type": "string"
}, },
"instance-amount": { "instance-amount": {
...@@ -121,6 +122,23 @@ ...@@ -121,6 +122,23 @@
"description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.", "description": "List of cors domains separated with space. Needed for ajax query on this monitor instance from a different domain.",
"type": "string", "type": "string",
"default": "monitor.app.officejs.com" "default": "monitor.app.officejs.com"
},
"cpu-usage-ratio": {
"title": "CPU Usage Ratio",
"description": "Ratio of the CPU use for compilation, if value is set to n, compilation will use number-of-cpu/n of cpus (need instance restart)",
"type": "integer",
"default" : 4
},
"resilient-clone-number": {
"title": "Number of Resilient Clones",
"description": "Number of clones to be deployed when a resilient runner, if missing a single clone is provided. Its value can be 1 or 2",
"type": "integer",
"enum": [1, 2]
},
"instance-name": {
"title": "Instance Name",
"description": "Name of the instance, to show in the window title",
"type": "string"
} }
} }
} }
...@@ -15,7 +15,7 @@ collective.recipe.environment = 0.2.0 ...@@ -15,7 +15,7 @@ collective.recipe.environment = 0.2.0
ecdsa = 0.13 ecdsa = 0.13
erp5.util = 0.4.44 erp5.util = 0.4.44
gitdb = 0.6.4 gitdb = 0.6.4
gunicorn = 19.4.5 gunicorn = 19.5.0
prettytable = 0.7.2 prettytable = 0.7.2
pycrypto = 2.6.1 pycrypto = 2.6.1
slapos.recipe.template = 2.9 slapos.recipe.template = 2.9
...@@ -24,7 +24,7 @@ smmap = 0.9.0 ...@@ -24,7 +24,7 @@ smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
GitPython = 1.0.2 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
...@@ -40,4 +40,4 @@ lockfile = 0.10.2 ...@@ -40,4 +40,4 @@ lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.55 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 2.0.0
...@@ -75,7 +75,7 @@ smmap = 0.8.2 ...@@ -75,7 +75,7 @@ smmap = 0.8.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
...@@ -87,4 +87,4 @@ feedparser = 5.1.3 ...@@ -87,4 +87,4 @@ feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
paramiko = 1.16.0 paramiko = 2.0.0
...@@ -29,6 +29,7 @@ extends = ...@@ -29,6 +29,7 @@ extends =
../../component/percona-toolkit/buildout.cfg ../../component/percona-toolkit/buildout.cfg
../../component/patch/buildout.cfg ../../component/patch/buildout.cfg
../../component/pillow/buildout.cfg ../../component/pillow/buildout.cfg
../../component/pycrypto-python/buildout.cfg
../../component/pysvn-python/buildout.cfg ../../component/pysvn-python/buildout.cfg
../../component/python-ldap-python/buildout.cfg ../../component/python-ldap-python/buildout.cfg
../../component/rdiff-backup/buildout.cfg ../../component/rdiff-backup/buildout.cfg
...@@ -131,7 +132,6 @@ parts += ...@@ -131,7 +132,6 @@ parts +=
# jupyter # jupyter
ipython-notebook ipython-notebook
instance-jupyter instance-jupyter
monitor-eggs
# override instance-jupyter not to render into default template.cfg # override instance-jupyter not to render into default template.cfg
[instance-jupyter] [instance-jupyter]
...@@ -156,7 +156,7 @@ mode = 755 ...@@ -156,7 +156,7 @@ mode = 755
[template-mariadb] [template-mariadb]
<= download-base <= download-base
filename = instance-mariadb.cfg.in filename = instance-mariadb.cfg.in
md5sum = fbc39d333bf70894f6f9d094515a2a4a md5sum = ede2481d6ce60a335bde920d8cec5318
link-binary = link-binary =
${coreutils:location}/bin/basename ${coreutils:location}/bin/basename
${coreutils:location}/bin/cat ${coreutils:location}/bin/cat
...@@ -192,7 +192,7 @@ md5sum = bc6048b85b410693e60e5a77399dd1b7 ...@@ -192,7 +192,7 @@ md5sum = bc6048b85b410693e60e5a77399dd1b7
[template-my-cnf] [template-my-cnf]
<= download-base <= download-base
filename = my.cnf.in filename = my.cnf.in
md5sum = 9ae79a450f9760072ccbc8c9b2d0c377 md5sum = ac5c87991d95907f62bf2129ecfd42c4
[template-mariadb-initial-setup] [template-mariadb-initial-setup]
<= download-base <= download-base
...@@ -341,7 +341,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037 ...@@ -341,7 +341,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037
[template-zope] [template-zope]
<= download-base <= download-base
filename = instance-zope.cfg.in filename = instance-zope.cfg.in
md5sum = 6bcd92d8823c99912abfbdc476301e76 md5sum = 144fb4567e12bac2c7ed61e7477d5418
link-binary = link-binary =
${aspell:location}/bin/aspell ${aspell:location}/bin/aspell
${dmtx-utils:location}/bin/dmtxwrite ${dmtx-utils:location}/bin/dmtxwrite
...@@ -621,13 +621,13 @@ scripts += ...@@ -621,13 +621,13 @@ scripts +=
[versions] [versions]
# See ../../software/neoppod/software-common.cfg for versions common with NEO: # See ../../software/neoppod/software-common.cfg for versions common with NEO:
# neoppod, python-mysqlclient, slapos.recipe.template & [slapos-deps-eggs] # neoppod, mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
# patched eggs # patched eggs
Acquisition = 2.13.9+SlapOSPatched001 Acquisition = 2.13.9+SlapOSPatched001
Products.DCWorkflow = 2.2.4+SlapOSPatched001 Products.DCWorkflow = 2.2.4+SlapOSPatched001
pysvn = 1.7.10+SlapOSPatched002 pysvn = 1.7.10+SlapOSPatched002
python-ldap = 2.4.22+SlapOSPatched001 python-ldap = 2.4.25+SlapOSPatched001
python-magic = 0.4.11+SlapOSPatched001 python-magic = 0.4.11+SlapOSPatched001
# specify dev version to be sure that an old released version is not used # specify dev version to be sure that an old released version is not used
...@@ -672,8 +672,9 @@ zope.app.testing = 3.8.1 ...@@ -672,8 +672,9 @@ zope.app.testing = 3.8.1
Pillow = 3.2.0 Pillow = 3.2.0
Products.CMFActionIcons = 2.1.3 Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1 Products.DCWorkflowGraph = 0.4.1
Products.ExternalEditor = 2.0.0 # Products.ExternalEditor 2.0.0's dtml is not based on Zope2 OFS's one.
Products.GenericSetup = 1.8.2 Products.ExternalEditor = 1.1.1
Products.GenericSetup = 1.8.3
Products.LongRequestLogger = 2.0.0 Products.LongRequestLogger = 2.0.0
Products.MimetypesRegistry = 2.0.8 Products.MimetypesRegistry = 2.0.8
Products.PluginRegistry = 1.4 Products.PluginRegistry = 1.4
...@@ -692,7 +693,7 @@ chardet = 2.3.0 ...@@ -692,7 +693,7 @@ chardet = 2.3.0
cns.recipe.symlink = 0.2.3 cns.recipe.symlink = 0.2.3
csp-eventlet = 0.7.0 csp-eventlet = 0.7.0
erp5diff = 0.8.1.7 erp5diff = 0.8.1.7
eventlet = 0.18.4 eventlet = 0.19.0
five.formlib = 1.0.4 five.formlib = 1.0.4
five.localsitemanager = 2.0.5 five.localsitemanager = 2.0.5
greenlet = 0.4.9 greenlet = 0.4.9
...@@ -700,22 +701,23 @@ http-parser = 0.8.3 ...@@ -700,22 +701,23 @@ http-parser = 0.8.3
httplib2 = 0.9.2 httplib2 = 0.9.2
huBarcode = 1.0.0 huBarcode = 1.0.0
interval = 1.0.0 interval = 1.0.0
ipdb = 0.9.1 ipdb = 0.10.0
ipython = 4.1.2 ipykernel = 4.3.1
ipywidgets = 4.1.1 ipython = 4.2.0
ipywidgets = 5.1.3
logilab-common = 1.2.0 logilab-common = 1.2.0
matplotlib = 1.5.1 matplotlib = 1.5.1
mistune = 0.7.2 mistune = 0.7.2
mysqlclient = 1.3.7 notebook = 4.2.0
numpy = 1.11.0 numpy = 1.11.0
objgraph = 2.0.1 objgraph = 3.0.0
pandas = 0.18.0 pandas = 0.18.1
ply = 3.8 ply = 3.8
polib = 1.0.7 polib = 1.0.7
pprofile = 1.8.1 pprofile = 1.8.3
ptyprocess = 0.5.1 ptyprocess = 0.5.1
pycountry = 1.20 pycountry = 1.20
pyflakes = 1.1.0 pyflakes = 1.2.3
# pylint 1.5.1 breaks testDynamicClassGeneration # pylint 1.5.1 breaks testDynamicClassGeneration
pylint = 1.4.4 pylint = 1.4.4
python-memcached = 1.57 python-memcached = 1.57
...@@ -725,7 +727,7 @@ qrcode = 5.2.2 ...@@ -725,7 +727,7 @@ qrcode = 5.2.2
restkit = 4.2.2 restkit = 4.2.2
rtjp-eventlet = 0.3.2 rtjp-eventlet = 0.3.2
scikit-learn = 0.17.1 scikit-learn = 0.17.1
scipy = 0.17.0 scipy = 0.17.1
simplegeneric = 0.8.1 simplegeneric = 0.8.1
socketpool = 0.5.3 socketpool = 0.5.3
spyne = 2.12.11 spyne = 2.12.11
...@@ -737,6 +739,7 @@ tornado = 4.3 ...@@ -737,6 +739,7 @@ tornado = 4.3
urlnorm = 1.1.2 urlnorm = 1.1.2
uuid = 1.30 uuid = 1.30
validictory = 1.0.1 validictory = 1.0.1
widgetsnbextension = 1.2.2
xfw = 0.10 xfw = 0.10
xupdate-processor = 0.4 xupdate-processor = 0.4
...@@ -744,6 +747,10 @@ xupdate-processor = 0.4 ...@@ -744,6 +747,10 @@ 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.2.0
backports.shutil-get-terminal-size = 1.0.0
# Required by: # Required by:
# tornado==4.3 # tornado==4.3
backports.ssl-match-hostname = 3.5.0.1 backports.ssl-match-hostname = 3.5.0.1
...@@ -761,7 +768,7 @@ colorama = 0.3.7 ...@@ -761,7 +768,7 @@ colorama = 0.3.7
cycler = 0.10.0 cycler = 0.10.0
# Required by: # Required by:
# ipython==4.1.2 # ipython==4.2.0
# traitlets==4.2.1 # traitlets==4.2.1
decorator = 4.0.9 decorator = 4.0.9
...@@ -769,55 +776,46 @@ decorator = 4.0.9 ...@@ -769,55 +776,46 @@ decorator = 4.0.9
# SOAPpy===0.12.0nxd001 # SOAPpy===0.12.0nxd001
fpconst = 0.7.2 fpconst = 0.7.2
# Required by:
# ipywidgets==4.1.1
# notebook==4.1.0
ipykernel = 4.3.1
# Required by: # Required by:
# nbformat==4.0.1 # nbformat==4.0.1
# notebook==4.1.0 # notebook==4.2.0
# traitlets==4.2.1 # traitlets==4.2.1
ipython-genutils = 0.1.0 ipython-genutils = 0.1.0
# Required by: # Required by:
# notebook==4.1.0 # notebook==4.2.0
# nbconvert 4.2.0 depends on entrypoints egg that is not available as tar/zip source.
nbconvert = 4.1.0 nbconvert = 4.1.0
# Required by: # Required by:
# nbconvert==4.1.0 # nbconvert==4.1.0
# notebook==4.1.0 # notebook==4.2.0
nbformat = 4.0.1 nbformat = 4.0.1
# Required by:
# ipywidgets==4.1.1
notebook = 4.1.0
# Required by: # Required by:
# pickleshare==0.7.2 # pickleshare==0.7.2
pathlib2 = 2.1.0 pathlib2 = 2.1.0
# Required by: # Required by:
# ipython==4.1.2 # ipython==4.2.0
pexpect = 4.0.1 pexpect = 4.0.1
# Required by: # Required by:
# ipython==4.1.2 # ipython==4.2.0
pickleshare = 0.7.2 pickleshare = 0.7.2
# Required by: # Required by:
# matplotlib==1.5.1 # matplotlib==1.5.1
# pandas==0.18.0 # pandas==0.18.0
python-dateutil = 2.5.2 python-dateutil = 2.5.3
# Required by: # Required by:
# tornado==4.3 # tornado==4.3
singledispatch = 3.4.0.3 singledispatch = 3.4.0.3
# Required by: # Required by:
# ipython==4.1.2 # ipython==4.2.0
# ipywidgets==4.1.1 # notebook==4.2.0
# notebook==4.1.0
traitlets = 4.2.1 traitlets = 4.2.1
# Required by: # Required by:
......
...@@ -114,6 +114,7 @@ relaxed-writes = {{ dumps(slapparameter_dict.get('relaxed-writes', False)) }} ...@@ -114,6 +114,7 @@ relaxed-writes = {{ dumps(slapparameter_dict.get('relaxed-writes', False)) }}
binlog-path = ${directory:mariadb-backup-incremental}/binlog binlog-path = ${directory:mariadb-backup-incremental}/binlog
# XXX: binlog rotation happens along with other log's rotation # XXX: binlog rotation happens along with other log's rotation
binlog-expire-days = {{ dumps(incremental_backup_retention_days) }} binlog-expire-days = {{ dumps(incremental_backup_retention_days) }}
server-id = {{ dumps(slapparameter_dict.get('server-id', 1)) }}
{% else %} {% else %}
binlog-path = binlog-path =
{%- endif %} {%- endif %}
......
...@@ -327,7 +327,7 @@ path = ${directory:promises}/{{ name }} ...@@ -327,7 +327,7 @@ path = ${directory:promises}/{{ name }}
{% endfor -%} {% endfor -%}
[{{ section("promise-" ~ name ~ "-is-running-actual-product") }}] [{{ section("promise-" ~ name ~ "-is-running-actual-product") }}]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
command-line = '{{ parameter_dict['bin-directory'] }}/is-process-older-than-dependency-set' -k '{{ "${" ~ conf_parameter_name ~ ":pid-file}" }}' {{ " ".join(shell_escaped_extra_path_list) }} command-line = '{{ parameter_dict['bin-directory'] }}/is-process-older-than-dependency-set' '{{ "${" ~ conf_parameter_name ~ ":pid-file}" }}' {{ " ".join(shell_escaped_extra_path_list) }}
wrapper-path = ${directory:promises}/{{ name }}-is-running-actual-product wrapper-path = ${directory:promises}/{{ name }}-is-running-actual-product
parameters-extra = true parameters-extra = true
......
...@@ -51,6 +51,7 @@ innodb_locks_unsafe_for_binlog = 1 ...@@ -51,6 +51,7 @@ innodb_locks_unsafe_for_binlog = 1
log_bin = {{ log_bin }} log_bin = {{ log_bin }}
{% set binlog_expire_days = parameter_dict['binlog-expire-days'] -%} {% set binlog_expire_days = parameter_dict['binlog-expire-days'] -%}
{% if binlog_expire_days > 0 %}expire_logs_days = {{ binlog_expire_days }}{% endif %} {% if binlog_expire_days > 0 %}expire_logs_days = {{ binlog_expire_days }}{% endif %}
server_id = {{ parameter_dict['server-id'] }}
{% endif %} {% endif %}
# Some dangerous settings you may want to uncomment temporarily # Some dangerous settings you may want to uncomment temporarily
......
...@@ -30,6 +30,7 @@ eggs = ...@@ -30,6 +30,7 @@ eggs =
[hadoop] [hadoop]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
version = 2.5.1 version = 2.5.1
filename = hadoop-${:version}.tar.gz filename = hadoop-${:version}.tar.gz
url = http://apache.mirrors.spacedump.net/hadoop/common/hadoop-${:version}/${:filename} url = http://apache.mirrors.spacedump.net/hadoop/common/hadoop-${:version}/${:filename}
...@@ -41,6 +42,7 @@ strip-top-level-dir = true ...@@ -41,6 +42,7 @@ strip-top-level-dir = true
[hadoop-streaming] [hadoop-streaming]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://repo1.maven.org/maven2/org/apache/hadoop/hadoop-streaming/0.20.203.0/hadoop-streaming-0.20.203.0.jar url = http://repo1.maven.org/maven2/org/apache/hadoop/hadoop-streaming/0.20.203.0/hadoop-streaming-0.20.203.0.jar
download-only = true download-only = true
md5sum = 792c7df75b63e477fef12988b7cced6f md5sum = 792c7df75b63e477fef12988b7cced6f
......
...@@ -50,7 +50,7 @@ smmap = 0.8.2 ...@@ -50,7 +50,7 @@ smmap = 0.8.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
...@@ -62,4 +62,4 @@ feedparser = 5.1.1 ...@@ -62,4 +62,4 @@ feedparser = 5.1.1
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
paramiko = 1.16.0 paramiko = 2.0.0
...@@ -56,6 +56,7 @@ keep-compile-dir = false ...@@ -56,6 +56,7 @@ keep-compile-dir = false
[application] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
# If the provided tarball does not contain top directory, this option should be changed to false # If the provided tarball does not contain top directory, this option should be changed to false
strip-top-level-dir = true strip-top-level-dir = true
...@@ -193,7 +194,7 @@ smmap = 0.8.2 ...@@ -193,7 +194,7 @@ smmap = 0.8.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
...@@ -205,4 +206,4 @@ feedparser = 5.1.3 ...@@ -205,4 +206,4 @@ feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
paramiko = 1.16.0 paramiko = 2.0.0
...@@ -44,6 +44,7 @@ extends = ...@@ -44,6 +44,7 @@ extends =
[application] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
# If the provided tarball does not contain top directory, this option should be changed to false # If the provided tarball does not contain top directory, this option should be changed to false
strip-top-level-dir = true strip-top-level-dir = true
...@@ -190,7 +191,7 @@ smmap = 0.8.2 ...@@ -190,7 +191,7 @@ smmap = 0.8.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
GitPython = 0.3.2.RC1 GitPython = 2.0.2
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
...@@ -202,7 +203,7 @@ feedparser = 5.1.3 ...@@ -202,7 +203,7 @@ feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox==0.40.2 # slapos.toolbox==0.40.2
paramiko = 1.16.0 paramiko = 2.0.0
# Required by: # Required by:
# slapos.recipe.maarch==0.4 # slapos.recipe.maarch==0.4
......
...@@ -21,6 +21,7 @@ parts = ...@@ -21,6 +21,7 @@ parts =
[monitor-download-base] [monitor-download-base]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
download-only = true download-only = true
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
mode = 0644 mode = 0644
......
...@@ -110,6 +110,7 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8 ...@@ -110,6 +110,7 @@ md5sum = 8cde04bfd0c0e9bd56744b988275cfd8
[template-monitor-check-resilient-feed] [template-monitor-check-resilient-feed]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = ${:_profile_base_location_}/templates/monitor-check-resilient-feed.in url = ${:_profile_base_location_}/templates/monitor-check-resilient-feed.in
download-only = true download-only = true
md5sum = 19ee9055de961acf402e2dfe5b9581d2 md5sum = 19ee9055de961acf402e2dfe5b9581d2
......
...@@ -109,13 +109,13 @@ hexagonit.recipe.download = 1.7.post4 ...@@ -109,13 +109,13 @@ hexagonit.recipe.download = 1.7.post4
Jinja2 = 2.8 Jinja2 = 2.8
PyYAML = 3.11 PyYAML = 3.11
Werkzeug = 0.11.5 Werkzeug = 0.11.9
buildout-versions = 1.7 buildout-versions = 1.7
cffi = 1.5.2 cffi = 1.6.0
cliff = 2.0.0 cliff = 2.0.0
cmd2 = 0.6.8 cmd2 = 0.6.8
collective.recipe.template = 1.13 collective.recipe.template = 1.13
cryptography = 1.3.1 cryptography = 1.3.2
decorator = 4.0.9 decorator = 4.0.9
idna = 2.1 idna = 2.1
inotifyx = 0.2.2 inotifyx = 0.2.2
...@@ -123,25 +123,25 @@ itsdangerous = 0.24 ...@@ -123,25 +123,25 @@ itsdangerous = 0.24
lxml = 3.6.0 lxml = 3.6.0
meld3 = 1.0.2 meld3 = 1.0.2
netaddr = 0.7.18 netaddr = 0.7.18
pbr = 1.8.1 pbr = 1.9.1
plone.recipe.command = 1.1 plone.recipe.command = 1.1
prettytable = 0.7.2 prettytable = 0.7.2
psutil = 4.1.0 psutil = 4.1.0
pyOpenSSL = 16.0.0 pyOpenSSL = 16.0.0
pyasn1 = 0.1.9 pyasn1 = 0.1.9
pyparsing = 2.1.1 pyparsing = 2.1.3
pytz = 2016.2 pytz = 2016.4
requests = 2.9.1 requests = 2.10.0
setuptools = 19.6.2 setuptools = 19.6.2
simplejson = 3.8.2 simplejson = 3.8.2
six = 1.10.0 six = 1.10.0
slapos.cookbook = 1.0.25 slapos.cookbook = 1.0.30
slapos.core = 1.3.15 slapos.core = 1.3.15
slapos.extension.strip = 0.1 slapos.extension.strip = 0.1
slapos.libnetworkcache = 0.14.5 slapos.libnetworkcache = 0.14.5
slapos.recipe.build = 0.23 slapos.recipe.build = 0.23
slapos.recipe.cmmi = 0.2 slapos.recipe.cmmi = 0.2
stevedore = 1.12.0 stevedore = 1.13.0
unicodecsv = 0.14.1 unicodecsv = 0.14.1
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
...@@ -154,15 +154,15 @@ Flask = 0.10.1 ...@@ -154,15 +154,15 @@ Flask = 0.10.1
MarkupSafe = 0.23 MarkupSafe = 0.23
# Required by: # Required by:
# cryptography==1.3.1 # cryptography==1.3.2
enum34 = 1.1.2 enum34 = 1.1.5
# Required by: # Required by:
# jsonschema==2.5.1 # jsonschema==2.5.1
functools32 = 3.2.3.post2 functools32 = 3.2.3.post2
# Required by: # Required by:
# cryptography==1.3.1 # cryptography==1.3.2
ipaddress = 1.0.16 ipaddress = 1.0.16
# Required by: # Required by:
...@@ -178,7 +178,7 @@ lock-file = 2.0 ...@@ -178,7 +178,7 @@ lock-file = 2.0
netifaces = 0.10.4 netifaces = 0.10.4
# Required by: # Required by:
# cffi==1.5.2 # cffi==1.6.0
pycparser = 2.14 pycparser = 2.14
# Required by: # Required by:
......
...@@ -19,11 +19,13 @@ parts = ...@@ -19,11 +19,13 @@ parts =
[hsql] [hsql]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://hsqldb.org/support/hsqldb_16.zip url = http://hsqldb.org/support/hsqldb_16.zip
md5sum = 80db09c75053085dad198590daf0785c md5sum = 80db09c75053085dad198590daf0785c
[jdbc] [jdbc]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
ignore-existing = true
url = http://download.softagency.net/mysql/Downloads/Connector-J/mysql-connector-java-5.1.17.zip url = http://download.softagency.net/mysql/Downloads/Connector-J/mysql-connector-java-5.1.17.zip
md5sum = 22e1aff6104bb9006f8744a02bf73124 md5sum = 22e1aff6104bb9006f8744a02bf73124
......
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