Commit 876d11ef authored by Rafael Monnerat's avatar Rafael Monnerat

Update Release Candidate

parents 77bcd91a 82c5eb22
...@@ -11,7 +11,6 @@ configure-options = ...@@ -11,7 +11,6 @@ configure-options =
--disable-static --disable-static
--disable-aload --disable-aload
--disable-mixer --disable-mixer
--disable-pcm
--disable-rawmidi --disable-rawmidi
--disable-hwdep --disable-hwdep
--disable-seq --disable-seq
......
...@@ -16,8 +16,8 @@ parts = ...@@ -16,8 +16,8 @@ parts =
[git] [git]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://www.kernel.org/pub/software/scm/git/git-2.7.0.tar.xz url = https://www.kernel.org/pub/software/scm/git/git-2.7.2.tar.xz
md5sum = 0214e04f7041f835c5c38f2b78eccced md5sum = b14189d9d9ea32274e51c7a4240ffc15
configure-options = configure-options =
--with-curl=${curl:location} --with-curl=${curl:location}
--with-openssl=${openssl:location} --with-openssl=${openssl:location}
......
...@@ -13,8 +13,8 @@ extends = ...@@ -13,8 +13,8 @@ extends =
[groonga] [groonga]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://packages.groonga.org/source/groonga/groonga-5.1.2.tar.gz url = http://packages.groonga.org/source/groonga/groonga-6.0.0.tar.gz
md5sum = 04066b547f1f4dd869eb35ac52a2e88b md5sum = cf230a41c73574db321eaf831fae3566
# 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
......
...@@ -4,7 +4,7 @@ extends = ...@@ -4,7 +4,7 @@ extends =
../rpy2/buildout.cfg ../rpy2/buildout.cfg
../pulp/buildout.cfg ../pulp/buildout.cfg
../git/buildout.cfg ../git/buildout.cfg
../mysql-python/buildout.cfg ../python-mysqlclient/buildout.cfg
parts = parts =
manpy manpy
...@@ -32,7 +32,7 @@ eggs = dream ...@@ -32,7 +32,7 @@ eggs = dream
environment = manpy-env environment = manpy-env
setup-eggs = setup-eggs =
${scipy:egg} ${scipy:egg}
${mysql-python:egg} ${python-mysqlclient:egg}
initialization = initialization =
${pulp:initialization} ${pulp:initialization}
${rpy2:initialization} ${rpy2:initialization}
...@@ -21,9 +21,9 @@ parts = ...@@ -21,9 +21,9 @@ parts =
[mariadb] [mariadb]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
version = 10.1.11 version = 10.1.12
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb
md5sum = c199608ae4282f16007dc8c270ff2439 md5sum = a2c0809f27ec112139c2c50f03569b2b
location = ${buildout:parts-directory}/${:_buildout_section_name_} location = ${buildout:parts-directory}/${:_buildout_section_name_}
patch-options = -p0 patch-options = -p0
patches = patches =
...@@ -68,8 +68,8 @@ post-install = ...@@ -68,8 +68,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-5.12.tar.gz url = http://packages.groonga.org/source/mroonga/mroonga-6.00.tar.gz
md5sum = b42816754058114de708e1da028399bd md5sum = f2ee5867cb820c88fa5d9eada3dbabc6
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
...@@ -80,7 +80,7 @@ configure-options = ...@@ -80,7 +80,7 @@ configure-options =
--disable-document --disable-document
patch-options = -p1 patch-options = -p1
patches = patches =
${:_profile_base_location_}/mroonga_boolean.patch#36645770ae612515b74b90884ecc59fc ${:_profile_base_location_}/mroonga_boolean.patch#29f85fc98e85d39b31e53b1e1683d288
environment = environment =
PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s
CPPFLAGS=-I${groonga:location}/include/groonga -I${pcre:location}/include CPPFLAGS=-I${groonga:location}/include/groonga -I${pcre:location}/include
......
diff --git a/ha_mroonga.cpp b/ha_mroonga.cpp diff --git a/ha_mroonga.cpp b/ha_mroonga.cpp
index dd9967d..c105a62 100644 index 06691fb..b59e685 100644
--- a/ha_mroonga.cpp --- a/ha_mroonga.cpp
+++ b/ha_mroonga.cpp +++ b/ha_mroonga.cpp
@@ -7678,7 +7678,7 @@ grn_rc ha_mroonga::generic_ft_init_ext_prepare_expression_in_boolean_mode( @@ -8283,7 +8283,7 @@ grn_rc ha_mroonga::generic_ft_init_ext_prepare_expression_in_boolean_mode(
const char *keyword, *keyword_original; const char *keyword = NULL;
uint keyword_length, keyword_length_original; uint keyword_length = 0;
- grn_operator default_operator = GRN_OP_OR; - grn_operator default_operator = GRN_OP_OR;
+ grn_operator default_operator = GRN_OP_ADJUST; + grn_operator default_operator = GRN_OP_ADJUST;
grn_bool weight_specified = false; grn_expr_flags expression_flags = 0;
keyword = keyword_original = key->ptr(); generic_ft_init_ext_parse_pragma(info,
keyword_length = keyword_length_original = key->length(); key,
...@@ -11,15 +11,15 @@ parts = nginx-output ...@@ -11,15 +11,15 @@ parts = nginx-output
[nginx-common] [nginx-common]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://nginx.org/download/nginx-1.9.4.tar.gz url = http://nginx.org/download/nginx-1.9.12.tar.gz
md5sum = 27322fbb4b265c0e0cc548f5e6b7f201 md5sum = 0afe4a7e589a0de43b7b54aa055a4351
[nginx] [nginx]
<= nginx-common <= nginx-common
configure-options= configure-options=
--with-ipv6 --with-ipv6
--with-http_ssl_module --with-http_ssl_module
--with-http_spdy_module --with-http_v2_module
--with-http_gzip_static_module --with-http_gzip_static_module
--with-mail --with-mail
--with-mail_ssl_module --with-mail_ssl_module
...@@ -38,7 +38,7 @@ mode = 0644 ...@@ -38,7 +38,7 @@ mode = 0644
configure-options = configure-options =
--with-ipv6 --with-ipv6
--with-http_ssl_module --with-http_ssl_module
--with-http_spdy_module --with-http_v2_module
--with-http_gzip_static_module --with-http_gzip_static_module
--with-mail --with-mail
--with-mail_ssl_module --with-mail_ssl_module
......
...@@ -23,7 +23,7 @@ build-ext-options = ...@@ -23,7 +23,7 @@ build-ext-options =
# First try with auto-detected target and if it fails try TARGET=GENERIC. # First try with auto-detected target and if it fails try TARGET=GENERIC.
configure-command = configure-command =
make ${:build-common-options} ${:build-ext-options} || make ${:build-common-options} TARGET=GENERIC make ${:build-common-options} ${:build-ext-options} || (make -j1 clean && make ${:build-common-options} TARGET=GENERIC)
make-options = make-options =
dummy dummy
make-targets = make-targets =
......
...@@ -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.2f.tar.gz url = https://www.openssl.org/source/openssl-1.0.2g.tar.gz
md5sum = b3bf73f507172be9292ea2a8c28b659d md5sum = f3c710c045cdee5fd114feb69feba7aa
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
......
[buildout]
extends =
../mariadb/buildout.cfg
../openssl/buildout.cfg
../zlib/buildout.cfg
parts =
python-mysqlclient
[python-mysqlclient-env]
PATH =${mariadb:location}/bin:%(PATH)s
[python-mysqlclient]
recipe = zc.recipe.egg:custom
egg = mysqlclient
environment = python-mysqlclient-env
library-dirs =
${zlib:location}/lib/
${openssl:location}/lib/
rpath =
${mariadb:location}/lib/
${zlib:location}/lib/
${openssl:location}/lib/
...@@ -10,8 +10,8 @@ extends = ../tcl/buildout.cfg ...@@ -10,8 +10,8 @@ extends = ../tcl/buildout.cfg
[redis28] [redis28]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = http://download.redis.io/releases/redis-2.8.23.tar.gz url = http://download.redis.io/releases/redis-2.8.24.tar.gz
md5sum = ac7f43f845d0eedb8ae3e5e217b34c61 md5sum = 7b6eb6e4ccc050c351df8ae83c55a035
configure-command = true configure-command = true
prefix = prefix =
make-options = make-options =
......
...@@ -26,8 +26,8 @@ environment = ...@@ -26,8 +26,8 @@ environment =
[ruby2.1] [ruby2.1]
<= ruby-common <= ruby-common
url = http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.7.tar.xz url = http://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz
md5sum = 2e43a1d32cc16975a6b5d3ffce399199 md5sum = f18ed96bd1d5890f97a17d0d17aaefdd
[ruby2.2] [ruby2.2]
......
...@@ -16,3 +16,7 @@ environment = scikit-learn-env ...@@ -16,3 +16,7 @@ environment = scikit-learn-env
setup-eggs = setup-eggs =
${numpy:egg} ${numpy:egg}
${scipy:egg} ${scipy:egg}
rpath =
${gcc-fortran:location}/lib
${gcc-fortran:location}/lib64
${openblas:location}/lib
...@@ -40,7 +40,7 @@ in software.cfg, replace instance-recipe-egg part by ...@@ -40,7 +40,7 @@ in software.cfg, replace instance-recipe-egg part by
[instance-recipe-egg] [instance-recipe-egg]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${mysql-python:egg} ${python-mysqlclient:egg}
${instance-recipe:egg} ${instance-recipe:egg}
slapos.toolbox[lampconfigure] slapos.toolbox[lampconfigure]
......
...@@ -51,6 +51,7 @@ class Recipe(GenericBaseRecipe): ...@@ -51,6 +51,7 @@ class Recipe(GenericBaseRecipe):
CONFIG['instance_dict'] = value.getvalue() CONFIG['instance_dict'] = value.getvalue()
software_path_list = json.loads(self.options['software-path-list']) software_path_list = json.loads(self.options['software-path-list'])
CONFIG["software_path_list"] = ""
if software_path_list: if software_path_list:
CONFIG["software_path_list"] = "[software_list]" CONFIG["software_path_list"] = "[software_list]"
CONFIG["software_path_list"] += \ CONFIG["software_path_list"] += \
......
...@@ -177,7 +177,7 @@ def import_dump(args): ...@@ -177,7 +177,7 @@ def import_dump(args):
def promise(args): def promise(args):
# This is not a dependency of slapos.cookbook, because it shall be runned # This is not a dependency of slapos.cookbook, because it shall be runned
# in a python environment having mysql-python # in a python environment having mysqlclient
import MySQLdb import MySQLdb
user = args['user'] user = args['user']
......
...@@ -48,29 +48,29 @@ gitdb = 0.6.4 ...@@ -48,29 +48,29 @@ gitdb = 0.6.4
pycrypto = 2.6.1 pycrypto = 2.6.1
slapos.recipe.download = 1.0 slapos.recipe.download = 1.0
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
slapos.toolbox = 0.53 slapos.toolbox = 0.55
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
GitPython = 1.0.1 GitPython = 1.0.1
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
lockfile = 0.10.2 lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 1.16.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -11,29 +11,29 @@ plone.recipe.command = 1.1 ...@@ -11,29 +11,29 @@ plone.recipe.command = 1.1
pycrypto = 2.6.1 pycrypto = 2.6.1
rdiff-backup = 1.0.5 rdiff-backup = 1.0.5
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
slapos.toolbox = 0.53 slapos.toolbox = 0.55
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.52 # slapos.toolbox==0.55
GitPython = 1.0.1 GitPython = 1.0.1
# Required by: # Required by:
# slapos.toolbox==0.52 # slapos.toolbox==0.55
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.52 # slapos.toolbox==0.55
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox==0.52 # slapos.toolbox==0.55
lockfile = 0.10.2 lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.52 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 1.16.0
# Required by: # Required by:
# slapos.toolbox==0.52 # slapos.toolbox==0.55
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -48,7 +48,7 @@ scipy = 0.13.3 ...@@ -48,7 +48,7 @@ scipy = 0.13.3
simpy = 3.0.5 simpy = 3.0.5
zope.dottedname = 4.1.0 zope.dottedname = 4.1.0
tablib = 0.10.0 tablib = 0.10.0
MySQL-python = 1.2.5 mysqlclient = 1.3.7
# indirect dependancies # indirect dependancies
cp.recipe.cmd = 0.5 cp.recipe.cmd = 0.5
......
...@@ -141,7 +141,7 @@ tmp = $${buildout:directory}/tmp ...@@ -141,7 +141,7 @@ tmp = $${buildout:directory}/tmp
[basedirectory] [basedirectory]
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
log = $${rootdirectory:var}/log log = $${rootdirectory:var}/log
services = $${rootdirectory:etc}/run services = $${rootdirectory:etc}/service
run = $${rootdirectory:var}/run run = $${rootdirectory:var}/run
promises = $${rootdirectory:etc}/promise promises = $${rootdirectory:etc}/promise
......
...@@ -55,7 +55,7 @@ recipe = slapos.recipe.template ...@@ -55,7 +55,7 @@ recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-default.cfg url = ${:_profile_base_location_}/instance-default.cfg
output = ${buildout:directory}/template-default.cfg output = ${buildout:directory}/template-default.cfg
mode = 0644 mode = 0644
md5sum = 3d6f9c13c47c8b4771f7b427685b7b22 md5sum = 43ca4026ee1aba5d20bb9e1b69d2f114
[versions] [versions]
PyXML = 0.8.5 PyXML = 0.8.5
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# #
# TODO better autogenerate from ^^^ (?) # TODO better autogenerate from ^^^ (?)
# #
# (last updated for omnibus-gitlab 8.4.2+ce.0-3-g68d5ee8) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
[gitlab-parameters] [gitlab-parameters]
configuration.external_url = http://lab.example.com configuration.external_url = http://lab.example.com
......
...@@ -632,7 +632,7 @@ log = ${sidekiq-dir:log} ...@@ -632,7 +632,7 @@ log = ${sidekiq-dir:log}
# NOTE see queue list here: # NOTE see queue list here:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/Procfile # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/Procfile
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/sv-sidekiq-run.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
[service-sidekiq] [service-sidekiq]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:service}/sidekiq wrapper-path = ${directory:service}/sidekiq
......
...@@ -68,7 +68,7 @@ eggs = ...@@ -68,7 +68,7 @@ eggs =
# rubygemsrecipe with fixed url and this way pinned rubygems version # rubygemsrecipe with fixed url and this way pinned rubygems version
[rubygemsrecipe] [rubygemsrecipe]
recipe = rubygemsrecipe recipe = rubygemsrecipe
url = https://rubygems.org/rubygems/rubygems-2.5.1.zip url = https://rubygems.org/rubygems/rubygems-2.5.2.zip
# bundler, that we'll use to # bundler, that we'll use to
...@@ -93,10 +93,13 @@ bundle = ${buildout:bin-directory}/bundle ...@@ -93,10 +93,13 @@ bundle = ${buildout:bin-directory}/bundle
# execjs needs: nodejs # execjs needs: nodejs
# rails needs db client program on path: psql # rails needs db client program on path: psql
# gitlab wants to check redis version via running: redis-cli # gitlab wants to check redis version via running: redis-cli
# gitlab wants git to be really on path ( it uses git from abspath defined in
# gitlab.yml, but there are not all cases like this, e.g. in
# https://gitlab.com/gitlab-org/gitlab_git/blob/2f0d3c1a/lib/gitlab_git/repository.rb#L259 )
# gitlab (via github-markup) wants to convert rst -> html via running: python2 (with docutils egg) # gitlab (via github-markup) wants to convert rst -> html via running: python2 (with docutils egg)
# (python-4gitlab puts interpreter into ${buildout:bin-directory}) # (python-4gitlab puts interpreter into ${buildout:bin-directory})
environment = environment =
PATH = ${:ruby-location}/bin:${cmake:location}/bin:${pkgconfig:location}/bin:${nodejs:location}/bin:${postgresql92:location}/bin:${redis28:location}/bin:${buildout:bin-directory}:%(PATH)s PATH = ${:ruby-location}/bin:${cmake:location}/bin:${pkgconfig:location}/bin:${nodejs:location}/bin:${postgresql92:location}/bin:${redis28:location}/bin:${git:location}/bin:${buildout:bin-directory}:%(PATH)s
# gitlab, gitlab-shell & gitlab-workhorse checked out as git repositories # gitlab, gitlab-shell & gitlab-workhorse checked out as git repositories
...@@ -108,26 +111,27 @@ git-executable = ${git:location}/bin/git ...@@ -108,26 +111,27 @@ git-executable = ${git:location}/bin/git
[gitlab-repository] [gitlab-repository]
<= git-repository <= git-repository
#repository = https://gitlab.com/gitlab-org/gitlab-ce.git #repository = https://gitlab.com/gitlab-org/gitlab-ce.git
repository = https://lab.nexedi.com/kirr/gitlab-ce.git repository = https://lab.nexedi.com/nexedi/gitlab-ce.git
# 8.4.X + NXD patches: # 8.5.X + NXD patches:
revision = v8.4.4-18-g32fa1180aca0b5c119f9a42ecfc733db1fad1dc0 revision = v8.5.3-15-g827d39147af496bcd4696c845e9094a07b5a09d3
location = ${buildout:parts-directory}/gitlab location = ${buildout:parts-directory}/gitlab
[gitlab-shell-repository] [gitlab-shell-repository]
<= git-repository <= git-repository
repository = https://gitlab.com/gitlab-org/gitlab-shell.git #repository = https://gitlab.com/gitlab-org/gitlab-shell.git
# gitlab 8.4 wants gitlab-shell 2.6.10 repository = https://lab.nexedi.com/nexedi/gitlab-shell.git
# 2.6.10 # gitlab 8.5 wants gitlab-shell 2.6.10
revision = v2.6.10-0-g82b3a4e8f70692ec679d880628fdb0f5844d42b9 # 2.6.10 + no-hooks.old patch
revision = v2.6.10-13-gcb8f331c955aa780efe10263d0d45b332f030f42
location = ${buildout:parts-directory}/gitlab-shell location = ${buildout:parts-directory}/gitlab-shell
[gitlab-workhorse-repository] [gitlab-workhorse-repository]
<= git-repository <= git-repository
#repository = https://gitlab.com/gitlab-org/gitlab-workhorse.git #repository = https://gitlab.com/gitlab-org/gitlab-workhorse.git
repository = https://lab.nexedi.com/kirr/gitlab-workhorse.git repository = https://lab.nexedi.com/nexedi/gitlab-workhorse.git
# 0.6.X + NXD patches for blob download speedup # 0.6.4 + NXD patches for blob download speedup
# (https://gitlab.com/gitlab-org/gitlab-workhorse/merge_requests/17) # (https://gitlab.com/gitlab-org/gitlab-workhorse/merge_requests/17)
revision = 0.6.1-2-ga23a5e18486b0de6e3435711dc555c8bfe08fde2 revision = 0.6.4-2-g86b2a17f24f6c369774bbb388560e4aa9a4321c1
location = ${buildout:parts-directory}/gitlab-workhorse location = ${buildout:parts-directory}/gitlab-workhorse
...@@ -219,23 +223,23 @@ url = ${:_profile_base_location_}/template/${:_buildout_section_name_} ...@@ -219,23 +223,23 @@ url = ${:_profile_base_location_}/template/${:_buildout_section_name_}
[config.ru.in] [config.ru.in]
<= download-template <= download-template
md5sum = 3ed3c439ac1b93f75121dabcea126078 md5sum = 91737a2067be80f3ae48157e5a0738b4
[database.yml.in] [database.yml.in]
<= download-template <= download-template
md5sum = b33f4f2f49a5a3e3e6542357c555a3a3 md5sum = 76d8f20532d63282ecd3617a3937fcf1
[gitconfig.in] [gitconfig.in]
<= download-template <= download-template
md5sum = 75f620ea0751fc8d2dc717cf929d29f3 md5sum = d8b3611386c4982605edd9a31832ee28
[gitlab-parameters.cfg] [gitlab-parameters.cfg]
<= download-file <= download-file
md5sum = 2cfd3bbf9da10627044ca3a9a149fdbb md5sum = b04b72949f0b9b5da96870ffbf8c1ff4
[gitlab-shell-config.yml.in] [gitlab-shell-config.yml.in]
<= download-template <= download-template
md5sum = f061d529b71241d58affbf7aec5c8af1 md5sum = 9c62aa1bf7396f207a528e39973aa135
[gitlab-unicorn-startup.in] [gitlab-unicorn-startup.in]
<= download-file <= download-file
...@@ -243,11 +247,11 @@ md5sum = 14c5632182d830c03f7788c85d6f4da1 ...@@ -243,11 +247,11 @@ md5sum = 14c5632182d830c03f7788c85d6f4da1
[gitlab.yml.in] [gitlab.yml.in]
<= download-template <= download-template
md5sum = cd7aaeeb1917fdedb7656943065c0a9c md5sum = 8f1c52ed223ee2c2d07c6c79bcd2f6c0
[instance-gitlab.cfg.in] [instance-gitlab.cfg.in]
<= download-file <= download-file
md5sum = 5f0b7d51e921e0e37e40fb65552dde9c md5sum = 7a0ba60d09e6a62ffc1da34cf79737a0
[macrolib.cfg.in] [macrolib.cfg.in]
<= download-file <= download-file
...@@ -255,27 +259,27 @@ md5sum = a56a44e96f65f5ed20211bb6a54279f4 ...@@ -255,27 +259,27 @@ md5sum = a56a44e96f65f5ed20211bb6a54279f4
[nginx-gitlab-http.conf.in] [nginx-gitlab-http.conf.in]
<= download-template <= download-template
md5sum = 3b494fe8425a12e4a7fd3a9bb17f88f8 md5sum = be7ddd26b0b0196fde8d699e50e84b2f
[nginx.conf.in] [nginx.conf.in]
<= download-template <= download-template
md5sum = dc16257d49d1fc1ae6e7d10865898201 md5sum = 71b4221cd91e0e1e20a72b97991f2665
[rack_attack.rb.in] [rack_attack.rb.in]
<= download-template <= download-template
md5sum = fbea569a1ac9ee46e37d0b98b5441169 md5sum = 2cf56b210a906cee80f86cde7112f468
[resque.yml.in] [resque.yml.in]
<= download-template <= download-template
md5sum = 2cd97d9f5906d06e00774dd2e4e6af0e md5sum = 1fa21655a845602f68a901f23a1da89a
[smtp_settings.rb.in] [smtp_settings.rb.in]
<= download-template <= download-template
md5sum = 75b9e0325737ca5ecbf938443a5d3321 md5sum = 07b640122b8c4840e853360f2479d0ac
[unicorn.rb.in] [unicorn.rb.in]
<= download-template <= download-template
md5sum = 1b55105a3de1ef13260ac3faa30d6e85 md5sum = 4f7c14147fd60b4cc9aefe7f64524abe
[versions] [versions]
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config.ru # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config.ru
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitlab-rails-config.ru.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitlab-rails-config.ru.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
# This file is used by Rack-based servers to start the application. # This file is used by Rack-based servers to start the application.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/database.yml.postgresql # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/database.yml.postgresql
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/database.yml.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/database.yml.erb
# (last updated for 8.4.4+ce.0-0-g1680742) # (last updated for 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg with context %} {% from 'macrolib.cfg.in' import cfg with context %}
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/attributes/default.rb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/attributes/default.rb
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitconfig.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitconfig.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
# #
{% from 'macrolib.cfg.in' import cfg with context %} {% from 'macrolib.cfg.in' import cfg with context %}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-shell/blob/master/config.yml.example # https://gitlab.com/gitlab-org/gitlab-shell/blob/master/config.yml.example
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitlab-shell-config.yml.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitlab-shell-config.yml.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
# GitLab user. git by default # GitLab user. git by default
user: {{ backend_info.user }} user: {{ backend_info.user }}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/gitlab.yml.example # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/gitlab.yml.example
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg, cfg_https, external_url with context %} {% from 'macrolib.cfg.in' import cfg, cfg_https, external_url with context %}
...@@ -28,7 +28,9 @@ production: &base ...@@ -28,7 +28,9 @@ production: &base
# WARNING: See config/application.rb under "Relative url support" for the list of # WARNING: See config/application.rb under "Relative url support" for the list of
# other files that need to be changed for relative url support # other files that need to be changed for relative url support
# relative_url_root: /gitlab {# we do not support relative URL
relative_url_root: <%= @gitlab_relative_url %>
#}
# Uncomment and customize if you can't use the default user to run GitLab (default: 'git') # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
user: {{ backend_info.user }} user: {{ backend_info.user }}
...@@ -141,6 +143,8 @@ production: &base ...@@ -141,6 +143,8 @@ production: &base
host: <%= @pages_host %> host: <%= @pages_host %>
port: <%= @pages_port %> port: <%= @pages_port %>
https: <%= @pages_https %> https: <%= @pages_https %>
external_http: <%= @pages_external_http %>
external_https: <%= @pages_external_https %>
#} #}
{# we do not support Elasticsearch {# we do not support Elasticsearch
...@@ -282,15 +286,22 @@ production: &base ...@@ -282,15 +286,22 @@ production: &base
auto_sign_in_with_provider: <%= @omniauth_auto_sign_in_with_provider %> auto_sign_in_with_provider: <%= @omniauth_auto_sign_in_with_provider %>
# CAUTION! # CAUTION!
# This allows users to login without having a user account first (default: false). # This allows users to login without having a user account first. Define the allowed
# providers using an array, e.g. ["saml", "twitter"]
# User accounts will be created automatically when authentication was successful. # User accounts will be created automatically when authentication was successful.
allow_single_sign_on: <%= @omniauth_allow_single_sign_on %> allow_single_sign_on: <%= @omniauth_allow_single_sign_on.to_json %>
# Locks down those users until they have been cleared by the admin (default: true). # Locks down those users until they have been cleared by the admin (default: true).
block_auto_created_users: <%= @omniauth_block_auto_created_users %> block_auto_created_users: <%= @omniauth_block_auto_created_users %>
# Look up new users in LDAP servers. If a match is found (same uid), automatically # Look up new users in LDAP servers. If a match is found (same uid), automatically
# link the omniauth identity with the LDAP account. (default: false) # link the omniauth identity with the LDAP account. (default: false)
auto_link_ldap_user: <%= @omniauth_auto_link_ldap_user %> auto_link_ldap_user: <%= @omniauth_auto_link_ldap_user %>
# Allow users with existing accounts to login and auto link their account via SAML
# login, without having to do a manual login first and manually add SAML
# (default: false)
auto_link_saml_user: <%= @omniauth_auto_link_saml_user.to_json %>
## Auth providers ## Auth providers
# Uncomment the following lines and fill in the data of the auth provider you want to use # Uncomment the following lines and fill in the data of the auth provider you want to use
......
{{ autogenerated }} {{ autogenerated }}
# see: # see:
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/nginx-gitlab-http.conf.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/nginx-gitlab-http.conf.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg, cfg_bool, cfg_https, fqdn with context %} {% from 'macrolib.cfg.in' import cfg, cfg_bool, cfg_https, fqdn with context %}
...@@ -56,7 +56,7 @@ server { ...@@ -56,7 +56,7 @@ server {
#} #}
server { server {
listen [{{ backend_info.host }}]:{{ backend_info.port }}{% if cfg_https %} ssl spdy{% endif %}; listen [{{ backend_info.host }}]:{{ backend_info.port }}{% if cfg_https %} ssl http2{% endif %};
{# we don't use: kerbeeros {# we don't use: kerbeeros
<% if @kerberos_enabled && @kerberos_use_dedicated_port %> <% if @kerberos_enabled && @kerberos_use_dedicated_port %>
...@@ -104,7 +104,9 @@ server { ...@@ -104,7 +104,9 @@ server {
access_log {{ nginx.log }}/gitlab_access.log gitlab_access; access_log {{ nginx.log }}/gitlab_access.log gitlab_access;
error_log {{ nginx.log }}/gitlab_error.log; error_log {{ nginx.log }}/gitlab_error.log;
location / { {# we do not support relative URL - path is always "/" #}
{% set path = "/" %}
location {{ path }} {
## If you use HTTPS make sure you disable gzip compression ## If you use HTTPS make sure you disable gzip compression
## to be safe against BREACH attack. ## to be safe against BREACH attack.
{{ 'gzip off;' if cfg_https else ''}} {{ 'gzip off;' if cfg_https else ''}}
...@@ -117,6 +119,11 @@ server { ...@@ -117,6 +119,11 @@ server {
proxy_http_version 1.1; proxy_http_version 1.1;
# NOTE(slapos) proxy headers are defined upstream in omnibus-gitlab in:
# - files/gitlab-config-template/gitlab.rb.template nginx['proxy_set_headers']
# - files/gitlab-cookbooks/gitlab/attributes/default.rb default['gitlab']['nginx']['proxy_set_headers']
# - files/gitlab-cookbooks/gitlab/libraries/gitlab.rb parse_nginx_proxy_headers()
# (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
proxy_set_header Host $http_host; proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
{% if cfg_https %} {% if cfg_https %}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/gitlab-ssl # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/gitlab-ssl
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/nginx.conf.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/nginx.conf.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg with context %} {% from 'macrolib.cfg.in' import cfg with context %}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/initializers/rack_attack.rb.example # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/initializers/rack_attack.rb.example
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/rack_attack.rb.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/rack_attack.rb.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg with context %} {% from 'macrolib.cfg.in' import cfg with context %}
......
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/resque.yml.example # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/resque.yml.example
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/resque.yml.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/resque.yml.erb
# (last udpdated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last udpdated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
production: unix://{{ redis.unixsocket }} production: unix://{{ redis.unixsocket }}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# see: # see:
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/initializers/smtp_settings.rb.sample # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/initializers/smtp_settings.rb.sample
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/smtp_settings.rb.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/smtp_settings.rb.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg, cfg_bool with context %} {% from 'macrolib.cfg.in' import cfg, cfg_bool with context %}
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/unicorn.rb.example # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/unicorn.rb.example
# https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/unicorn.rb.example.development # https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/unicorn.rb.example.development
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/unicorn.rb.erb # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/templates/default/unicorn.rb.erb
# (last updated for omnibus-gitlab 8.4.4+ce.0-0-g1680742) # (last updated for omnibus-gitlab 8.5.1+ce.0-1-ge732b39)
{% from 'macrolib.cfg.in' import cfg with context %} {% from 'macrolib.cfg.in' import cfg with context %}
...@@ -71,3 +71,11 @@ stderr_path '{{ unicorn.log }}/unicorn_stderr.log' ...@@ -71,3 +71,11 @@ stderr_path '{{ unicorn.log }}/unicorn_stderr.log'
# Where stdout gets logged # Where stdout gets logged
stdout_path '{{ unicorn.log }}/unicorn_stdout.log' stdout_path '{{ unicorn.log }}/unicorn_stdout.log'
{# we do not support Relative url
<%- if @relative_url %>
# Relative url from where GitLab is served
ENV['RAILS_RELATIVE_URL_ROOT'] = "<%= @relative_url %>"
<%- end %>
#}
...@@ -98,7 +98,7 @@ mode = 0644 ...@@ -98,7 +98,7 @@ mode = 0644
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2 url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644 mode = 644
md5sum = 88e1437391d21a49b50848689b1221e5 md5sum = e72f42d880877a841e87908566c28610
download-only = true download-only = true
on-update = true on-update = true
...@@ -106,7 +106,7 @@ on-update = true ...@@ -106,7 +106,7 @@ on-update = true
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
mode = 644 mode = 644
md5sum = f61e033aedaa8e9836795e36fd12e51d md5sum = 6e81c08669e164b852bd8d062c620de2
download-only = true download-only = true
on-update = true on-update = true
......
...@@ -34,7 +34,7 @@ state = stopped ...@@ -34,7 +34,7 @@ state = stopped
config-frontend-instance-name = {{ instance_name ~ ' VNC Frontend' }} config-frontend-instance-name = {{ instance_name ~ ' VNC Frontend' }}
config-frontend-software-type = {{ dumps(frontend_dict.get('software-type', 'frontend')) }} config-frontend-software-type = {{ dumps(frontend_dict.get('software-type', 'frontend')) }}
config-frontend-software-url = {{ dumps(frontend_dict.get('software-url', 'https://lab.nexedi.com/nexedi/slapos/raw/slapos-0.92/software/kvm/software.cfg')) }} config-frontend-software-url = {{ dumps(frontend_dict.get('software-url', 'http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/tags/slapos-0.92:/software/kvm/software.cfg')) }}
config-frontend-instance-guid = {{ dumps(frontend_dict.get('instance-guid', '')) }} config-frontend-instance-guid = {{ dumps(frontend_dict.get('instance-guid', '')) }}
config-name = {{ instance_name }} config-name = {{ instance_name }}
{% if slapparameter_dict.get('authorized-keys', []) -%} {% if slapparameter_dict.get('authorized-keys', []) -%}
......
...@@ -533,7 +533,7 @@ backup = ${logrotate:backup} ...@@ -533,7 +533,7 @@ backup = ${logrotate:backup}
[slap-parameter] [slap-parameter]
# Default values if not specified # Default values if not specified
frontend-software-type = frontend frontend-software-type = frontend
frontend-software-url = https://lab.nexedi.com/nexedi/slapos/raw/slapos-0.92/software/kvm/software.cfg frontend-software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/tags/slapos-0.92:/software/kvm/software.cfg
frontend-instance-guid = frontend-instance-guid =
frontend-instance-name = VNC Frontend frontend-instance-name = VNC Frontend
nbd-port = 1024 nbd-port = 1024
......
...@@ -109,30 +109,30 @@ apache-libcloud = 0.16.0 ...@@ -109,30 +109,30 @@ apache-libcloud = 0.16.0
ecdsa = 0.11 ecdsa = 0.11
gitdb = 0.6.0 gitdb = 0.6.0
pycrypto = 2.6.1 pycrypto = 2.6.1
slapos.toolbox = 0.53 slapos.toolbox = 0.55
smmap = 0.8.3 smmap = 0.8.3
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
GitPython = 0.3.2.1 GitPython = 0.3.2.1
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
feedparser = 5.1.3 feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 1.16.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
lockfile = 0.10.2 lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -8,18 +8,23 @@ GPL v2 or later ...@@ -8,18 +8,23 @@ GPL v2 or later
## Requirements ## Requirements
* sudo and git on the host (for now) * sudo on the host (for now)
* some environment variables need to be authorized to be propagated when cros_sdk calls sudo:
: Defaults env_keep += "CROS_CACHEDIR DEPOT_TOOLS"
* slapuser with sudo rights to execute the cros_sdk scripts (needed to access the chroot environment provided by Chromium OS) * slapuser with sudo rights to execute the cros_sdk scripts (needed to access the chroot environment provided by Chromium OS)
in /etc/sudoers: in /etc/sudoers (replace slapuser9 by your user, and release-R48-7647.B by the release you have chosen):
<pre><code>
\<slapuser\> ALL= NOPASSWD: /srv/slapgrid/\<part\>/srv/runner/instance/\<inst_part\>/parts/clone-depot-tools/cros_sdk, /srv/slapgrid/\<part\>/srv/runner/instance/\<inst_part\>/parts/chromiumos/\<release\>/chromite/bin/cros_sdk, /srv/slapgrid/\<part\>/srv/runner/instance/\<inst_part\>/parts/chromiumos/\<release\>/chromite/bootstrap/cros_sdk, /srv/slapgrid/\<part\>/srv/runner/instance/\<inst_part\>/parts/chromiumos/\<release\>/chromite/scripts/cros_sdk.py, /srv/slapgrid/\<part\>/srv/runner/instance/\<inst_part\>/parts/chromiumos/\<release\>/chromite/scripts/cros_sdk.pyc, /srv/slapgrid/\<part\>/srv/runner/instance/\<inst_part\>/parts/chromiumos/\<release\>/chromium/tools/depot_tools/cros_sdk : slapuser9 ALL=NOPASSWD: /srv/slapgrid/slappart9/srv/runner/instance/slappart0/parts/chromiumos/release-R48-7647.B/chromite/bin/cros_sdk, /srv/slapgrid/slappart9/srv/runner/instance/slappart0/wrapper_bin/wrapper_cros_sdk, /bin/kill
</code></pre>
It's useful to have the right to kill cros_sdk processes, when needed. ;)
## Input ## Input
In the vifib parameters (softinst\<nb\>.host.vifib.net \> Services \> Parameters): In the vifib parameters (softinst\<nb\>.host.vifib.net \> Services \> Parameters):
* board / ex: peppy, swanky, ... (choosing daisy will accept all licenses for the daisy board build only, in order to use Mali drivers, see [chromium mailing list](https://groups.google.com/a/chromium.org/forum/#!topic/chromium-os-dev/Pf9ZG2itxWM)) * board / ex: peppy, swanky, ... (choosing daisy will accept all licenses for the daisy board build only, in order to use Mali drivers, see [chromium mailing list](https://groups.google.com/a/chromium.org/forum/#!topic/chromium-os-dev/Pf9ZG2itxWM))
* branch / ex: release-R46-7390.B * branch / ex: release-R46-7390.B (you can find the release in the [Chromium OS source tree](https://chromium.googlesource.com/chromiumos/manifest/+refs))
* keep_cache / yes|no (choosing "no" saves about 15Go of disk space per board, choosing "yes" will makes next build faster and less expensive in term of needed ressources because of not rebuilding everything) * keep_cache / yes|no (choosing "no" saves about 15Go of disk space per board, choosing "yes" will makes next build faster and less expensive in term of needed ressources because of not rebuilding everything)
...@@ -35,10 +40,10 @@ The script that download the sources and build is located in ...@@ -35,10 +40,10 @@ The script that download the sources and build is located in
## External documents ## External documents
* [ <code>repo</code> command reference ](https://source.android.com/source/using-repo.html) * [ <code>repo</code> command reference ](https://source.android.com/source/using-repo.html)
* [ NayuOS official website ](https://www.nayuos.org) * [ NayuOS official website ](https://www.nayuos.com)
* [ crouton for chroot ](https://github.com/dnschneid/crouton) ([warning about verified boot](https://github.com/dnschneid/crouton/blob/2a1fc9da380650f47e2bcf37d00962bfb68c4830/installer/main.sh#L517-L536)) * [ crouton for chroot ](https://github.com/dnschneid/crouton) ([warning about verified boot](https://github.com/dnschneid/crouton/blob/2a1fc9da380650f47e2bcf37d00962bfb68c4830/installer/main.sh#L517-L536))
## Notes for possible improvements ## Notes for possible improvements
* [ Running virtual machines on your chromebook ](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/running-virtual-machines-on-your-chromebook) * [ Running virtual machines on your chromebook ](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/running-virtual-machines-on-your-chromebook)
* to have a more common User Agent (the one of ChromiumOS/NayuOS is quite rare and identifies the user, see [studies of the EFF](https://panopticlick.eff.org/static/browser-uniqueness.pdf)), it seems possible to change the User-Agent flag for guest mode in the getOffTheRecord function, and adding a line (key "kUserAgent" , value "some common user agent" string). Then rebuild Chromium and [add it to NayuOS](https://www.chromium.org/chromium-os/developer-guide#TOC-Making-changes-to-the-Chromium-web-). * to have a more common User Agent (the one of ChromiumOS/NayuOS is quite rare and identifies the user, see [studies of the EFF](https://panopticlick.eff.org/static/browser-uniqueness.pdf)), it seems possible to change the User-Agent flag for guest mode in the getOffTheRecord function, and adding a line (key "kUserAgent" , value "some common user agent" string). Then rebuild Chromium and [add it to NayuOS](https://www.chromium.org/chromium-os/developer-guide#TOC-Making-changes-to-the-Chromium-web-).
* remove need of root priviledge for entering the chroot, maybe by using fakeroot in 'scripts/wrapper_sudo.in'?
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
parts = parts =
parameters parameters
template-full-build-script template-full-build-script
template-sudo-wrapper
template-cros-sdk-wrapper
# eggs given by software.cfg # eggs given by software.cfg
eggs-directory = {{ eggs_directory }} eggs-directory = {{ eggs_directory }}
...@@ -15,9 +17,10 @@ recipe = slapos.recipe.build:gitclone ...@@ -15,9 +17,10 @@ recipe = slapos.recipe.build:gitclone
repository = https://chromium.googlesource.com/chromium/tools/depot_tools.git repository = https://chromium.googlesource.com/chromium/tools/depot_tools.git
branch = master branch = master
[use-depot-tools] [customize-path]
export-path = # add depot tools directory (for cros_sdk binary among others) and git directory to the path
export PATH=${depot-tools:location}:"$PATH"; command =
export PATH="${directory:wrapper_dir}":"{{ git_path }}":"{{ curl_path }}":"${depot-tools:location}":"$PATH";
[nayuos-ebuilds] [nayuos-ebuilds]
recipe = slapos.recipe.build:gitclone recipe = slapos.recipe.build:gitclone
...@@ -41,24 +44,53 @@ cert = ${slap_connection:cert_file} ...@@ -41,24 +44,53 @@ cert = ${slap_connection:cert_file}
recipe = slapos.cookbook:mkdirectory recipe = slapos.cookbook:mkdirectory
log = ${buildout:directory}/var/log log = ${buildout:directory}/var/log
run = ${buildout:directory}/etc/run run = ${buildout:directory}/etc/run
wrapper_dir = ${buildout:directory}/wrapper_bin
cros_location = ${buildout:directory}/parts/chromiumos cros_location = ${buildout:directory}/parts/chromiumos
ebuilds_dir = ${nayuos-ebuilds:location} ebuilds_dir = ${nayuos-ebuilds:location}
scripts_dir = {{ scripts_dir }} scripts_dir = {{ scripts_dir }}
logo_dir = {{ logo_dir }} logo_dir = {{ logo_dir }}
[bin]
wrapper_cros_sdk=${directory:wrapper_dir}/wrapper_cros_sdk
bash=/bin/bash
sudo=/usr/bin/sudo
[template-sudo-wrapper]
recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/wrapper_sudo.in
rendered = ${directory:wrapper_dir}/sudo
md5sum = ded5a92be4e37ec32eb9d3087d3e19bd
mode = 0700
context =
key fake_cros_sdk_path bin:wrapper_cros_sdk
key bash_path bin:bash
key host_sudo_path bin:sudo
[template-cros-sdk-wrapper]
recipe = slapos.recipe.template:jinja2
template = {{ scripts_dir }}/wrapper_cros_sdk.in
rendered = ${bin:wrapper_cros_sdk}
md5sum = 7159fe3d5b85a283733cf686c4ee0a74
mode = 0700
context =
# XXX bash path is the one from the host
key bash_path bin:bash
raw git_path {{ git_path }}
raw curl_path {{ curl_path }}
[template-full-build-script] [template-full-build-script]
# create the instance.cfg file in the buildout directory # create the rendered script in the buildout-directory/etc/run
# (use jinja for templating) # (use jinja for templating)
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 = 76942f32e682b36397b41db28297625d md5sum = d2c41ded046c75473eda0f923ee215e2
mode = 0770 mode = 0700
context = context =
# for access to the eggs from the instance key bash_path bin:bash
key instance_log_dir directory:log key instance_log_dir directory:log
key cros_location directory:cros_location key cros_location directory:cros_location
key depot_tools_export_path_cmd use-depot-tools:export-path key export_path_cmd customize-path:command
key branch parameters:configuration.branch key branch parameters:configuration.branch
key boards_list parameters:configuration.boards key boards_list parameters:configuration.boards
key keep_cache parameters:configuration.keep_cache key keep_cache parameters:configuration.keep_cache
......
#!/bin/bash #! {{ bash_path }}
#XXX: should not depend on the host's bash ^
######################## Download of sources using the "repo" command ######################## ######################## Download of sources using the "repo" command ########################
DL_LOG={{ instance_log_dir }}/cros_sources_dl.log DL_LOG="{{ instance_log_dir }}/cros_sources_dl.log"
BRANCH={{ branch }} BRANCH="{{ branch }}"
CHROMIUM_OVERLAY={{ cros_location }}/{{ branch }}/src/third_party/chromiumos-overlay CHROMIUM_OVERLAY="{{ cros_location }}/{{ branch }}/src/third_party/chromiumos-overlay"
{{ export_path_cmd }}
echo "getting Chromium OS sources..." >> $DL_LOG echo "getting Chromium OS sources..." >> $DL_LOG
{{ depot_tools_export_path_cmd }}
echo "{{ cros_location }}/{{ branch }}" echo "{{ cros_location }}/{{ branch }}"
install -d "{{ cros_location }}/{{ branch }}" install -d "{{ cros_location }}/{{ branch }}"
cd "{{ cros_location }}/{{ branch }}" cd "{{ cros_location }}/{{ branch }}"
repo init -u https://chromium.googlesource.com/chromiumos/manifest.git -b {{ branch }} >> $DL_LOG # git setup
if ! git config user.name || ! git config user.email ; then
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
fi
repo init -u https://chromium.googlesource.com/chromiumos/manifest.git -b {{ branch }} >> $DL_LOG || { echo "Problem while initiating Chromium OS repo (repo init). PATH is: '${PATH}'. Exiting." ; exit 1 ; }
# in case changes were already made, stash changes to be able to pull # in case changes were already made, stash changes to be able to pull
cd ${CHROMIUM_OVERLAY} cd ${CHROMIUM_OVERLAY}
git stash git stash
repo sync >> $DL_LOG repo sync >> $DL_LOG || { echo "Problem while downloading Chromium OS sources (repo sync). Exiting." ; exit 1 ; }
############################## Prepare chroot environment ################################### ############################## Prepare chroot environment ###################################
BUILD_LOG={{ instance_log_dir }}/cros_build.log BUILD_LOG={{ instance_log_dir }}/cros_build.log
TEST_LOG={{ instance_log_dir }}/tests_nayuos_image.log TEST_LOG={{ instance_log_dir }}/tests_nayuos_image.log
{{ depot_tools_export_path_cmd }}
cd {{ cros_location }}/{{ branch }} cd {{ cros_location }}/{{ branch }}
# create chroot environment (exit on failure) # create chroot environment (exit on failure)
cros_sdk --download || { echo "Problem entering chroot or downloading chroot environment. Exiting." ; exit 1 ; } cros_sdk --download || { echo "Problem while entering chroot or downloading chroot environment. PATH is: '${PATH}' Exiting." ; exit 1 ; }
# compile Python with sqlite support (-> change USE flag) for dev-lang/python # compile Python with sqlite support (-> change USE flag) for dev-lang/python
# it is needed by re6st # it is needed by re6st
...@@ -104,9 +109,10 @@ KEEP_CACHE="{{ keep_cache }}" ...@@ -104,9 +109,10 @@ KEEP_CACHE="{{ keep_cache }}"
for board in ${BOARDS} ; do for board in ${BOARDS} ; do
echo ${board} echo ${board}
if [ ${board} == daisy ] ; then if [ ${board} == daisy ] ; then
# XXX: broken by sucessive wrapping
echo "daisy board: accepting license for Mali drivers..." echo "daisy board: accepting license for Mali drivers..."
cros_sdk -- sudo sh -c "cp /etc/make.conf.user /etc/make.conf.user.save" cros_sdk -- "sudo cp /etc/make.conf.user /etc/make.conf.user.save"
cros_sdk -- sudo sh -c "echo 'ACCEPT_LICENSE=\"*\"' >> /etc/make.conf.user" cros_sdk -- "echo 'ACCEPT_LICENSE=\"*\"' | sudo tee --append /etc/make.conf.user"
fi fi
# preparing packages (for chroot and image) # preparing packages (for chroot and image)
...@@ -142,8 +148,9 @@ for board in ${BOARDS} ; do ...@@ -142,8 +148,9 @@ for board in ${BOARDS} ; do
fi fi
if [ ${board} == daisy ]; then if [ ${board} == daisy ]; then
# XXX: broken by sucessive wrapping
echo "daisy board: removing accepted license for the next builds..." echo "daisy board: removing accepted license for the next builds..."
cros_sdk -- sudo sh -c "mv /etc/make.conf.user.save /etc/make.conf.user" cros_sdk -- "sudo mv /etc/make.conf.user.save /etc/make.conf.user"
fi fi
done done
......
#! {{ bash_path }}
# XXX: not secure: normal users need this script to have root priviledge
# but have write permission on it
# add curl/git to the path, required by cros_sdk, but not available after sudo
export PATH="{{ git_path }}:{{ curl_path }}:$PATH"
exec "${@:1}"
#! {{ bash_path }}
COMMAND=()
# add wrapper_cros_sdk before cros_sdk command
pos=0
for option in "$@"; do
if [[ "$option" == *"cros_sdk"* ]]; then
COMMAND=("${@:1:$pos}" "{{ fake_cros_sdk_path }}" "${@:(($pos+1))}")
break;
fi
((pos++))
done
exec {{ host_sudo_path }} "${COMMAND[@]}"
...@@ -6,7 +6,7 @@ extends = ...@@ -6,7 +6,7 @@ extends =
parts += parts +=
# use stack/slapos.cfg # use stack/slapos.cfg
slapos-cookbook slapos-cookbook
verify-sudo-exists-on-host verify-packages-exist-on-host
template-instance template-instance
install-eggs-for-the-instance install-eggs-for-the-instance
...@@ -22,7 +22,7 @@ plone.recipe.command = 1.1 ...@@ -22,7 +22,7 @@ plone.recipe.command = 1.1
slapos.recipe.template = 2.8 slapos.recipe.template = 2.8
slapos.recipe.build = 0.21 slapos.recipe.build = 0.21
[verify-sudo-exists-on-host] [verify-packages-exist-on-host]
recipe = plone.recipe.command recipe = plone.recipe.command
stop-on-error = true stop-on-error = true
# run the same command when installing and on updates # run the same command when installing and on updates
...@@ -35,16 +35,20 @@ command = sudo -V ...@@ -35,16 +35,20 @@ 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 = d5a12b1ea814b4bb6792dfebaa655f90 md5sum = 875d7fd5990a8645e761849193b09630
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
curl_path = ${curl:location}/bin
git_path = ${git:location}/bin
context = context =
# for access to the eggs from the instance # for access to the eggs from the instance
key eggs_directory buildout:eggs-directory key eggs_directory buildout:eggs-directory
key develop_eggs_directory buildout:develop-eggs-directory key develop_eggs_directory buildout:develop-eggs-directory
key scripts_dir :scripts_dir key scripts_dir :scripts_dir
key logo_dir :logo_dir key logo_dir :logo_dir
key curl_path :curl_path
key git_path :git_path
[install-eggs-for-the-instance] [install-eggs-for-the-instance]
# after installation of the eggs, the recipes # after installation of the eggs, the recipes
......
...@@ -13,7 +13,7 @@ extends = ...@@ -13,7 +13,7 @@ extends =
#LXML #LXML
../../component/lxml-python/buildout.cfg ../../component/lxml-python/buildout.cfg
#END LXML #END LXML
../../component/mysql-python/buildout.cfg ../../component/python-mysqlclient/buildout.cfg
../../component/pycrypto-python/buildout.cfg ../../component/pycrypto-python/buildout.cfg
parts = parts =
...@@ -37,7 +37,7 @@ setup = ${neoppod-repository:location} ...@@ -37,7 +37,7 @@ setup = ${neoppod-repository:location}
[neoppod] [neoppod]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = neoppod[admin, ctl, master, storage-importer, storage-mysqldb] eggs = neoppod[admin, ctl, master, storage-importer, storage-mysqldb]
${mysql-python:egg} ${python-mysqlclient:egg}
ZODB3 ZODB3
ZODB3-patches = ZODB3-patches =
${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch#c5fe331b1e3a930446f93ab4f6e97c6e ${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch#c5fe331b1e3a930446f93ab4f6e97c6e
...@@ -110,12 +110,11 @@ url = ${:_profile_base_location_}/my.cnf.in ...@@ -110,12 +110,11 @@ url = ${:_profile_base_location_}/my.cnf.in
md5sum = febd3ed58043ce1367b86cf6e4e69700 md5sum = febd3ed58043ce1367b86cf6e4e69700
[versions] [versions]
MySQL-python = 1.2.5
slapos.recipe.template = 2.9 slapos.recipe.template = 2.9
# patched egg # patched egg
ZODB3 = 3.10.5+SlapOSPatched001 ZODB3 = 3.10.5+SlapOSPatched001
# Required by slapos.toolbox==0.52 # Required by slapos.toolbox==0.55
slapos.toolbox = 0.53 slapos.toolbox = 0.55
apache-libcloud = 0.20.1 apache-libcloud = 0.20.1
atomize = 0.2.0 atomize = 0.2.0
ecdsa = 0.13 ecdsa = 0.13
...@@ -123,6 +122,7 @@ feedparser = 5.2.1 ...@@ -123,6 +122,7 @@ feedparser = 5.2.1
GitPython = 1.0.2 GitPython = 1.0.2
gitdb = 0.6.4 gitdb = 0.6.4
lockfile = 0.10.2 lockfile = 0.10.2
mysqlclient = 1.3.7
paramiko = 1.16.0 paramiko = 1.16.0
pycrypto = 2.6.1 pycrypto = 2.6.1
smmap = 0.9.0 smmap = 0.9.0
...@@ -110,15 +110,15 @@ gitdb = 0.6.4 ...@@ -110,15 +110,15 @@ gitdb = 0.6.4
plone.recipe.command = 1.1 plone.recipe.command = 1.1
pycrypto = 2.6.1 pycrypto = 2.6.1
slapos.recipe.template = 2.7 slapos.recipe.template = 2.7
slapos.toolbox = 0.53 slapos.toolbox = 0.55
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
GitPython = 0.3.6 GitPython = 0.3.6
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
...@@ -126,11 +126,11 @@ atomize = 0.2.0 ...@@ -126,11 +126,11 @@ atomize = 0.2.0
backports.ssl-match-hostname = 3.4.0.2 backports.ssl-match-hostname = 3.4.0.2
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
feedparser = 5.1.3 feedparser = 5.1.3
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
lockfile = 0.10.2 lockfile = 0.10.2
# Required by: # Required by:
...@@ -138,10 +138,10 @@ lockfile = 0.10.2 ...@@ -138,10 +138,10 @@ lockfile = 0.10.2
miniupnpc = 1.9 miniupnpc = 1.9
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 1.16.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
rpdb = 0.1.5 rpdb = 0.1.5
...@@ -175,7 +175,7 @@ mode = 0644 ...@@ -175,7 +175,7 @@ mode = 0644
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/template/${:filename} url = ${:_profile_base_location_}/template/${:filename}
download-only = true download-only = true
md5sum = 4c44d617d5bfd1db8695200e896480c0 md5sum = d4c564267dd98cd178a890158c52c384
destination = ${buildout:parts-directory}/monitor-template-cors-domain-cgi destination = ${buildout:parts-directory}/monitor-template-cors-domain-cgi
filename = cors-domain.jinja filename = cors-domain.jinja
mode = 0644 mode = 0644
......
...@@ -19,25 +19,25 @@ gunicorn = 19.4.5 ...@@ -19,25 +19,25 @@ gunicorn = 19.4.5
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
slapos.toolbox = 0.53 slapos.toolbox = 0.55
smmap = 0.9.0 smmap = 0.9.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
GitPython = 1.0.2 GitPython = 1.0.2
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
atomize = 0.2.0 atomize = 0.2.0
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
feedparser = 5.2.1 feedparser = 5.2.1
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
lockfile = 0.10.2 lockfile = 0.10.2
# Required by: # Required by:
# slapos.toolbox==0.53 # slapos.toolbox==0.55
paramiko = 1.16.0 paramiko = 1.16.0
...@@ -30,7 +30,10 @@ if not parser.has_option("cors", "cors-domain"): ...@@ -30,7 +30,10 @@ if not parser.has_option("cors", "cors-domain"):
if "cors-domain" in form: if "cors-domain" in form:
parser.set("cors", "cors-domain", form["cors-domain"].value) parser.set("cors", "cors-domain", form["cors-domain"].value)
cors_domain_list = form["cors-domain"].value.split()
cors_domain_parameter = parser.get("cors", "cors-domain")
if cors_domain_parameter:
cors_domain_list = cors_domain_parameter.split()
cors_string = "" cors_string = ""
for domain in cors_domain_list: for domain in cors_domain_list:
if cors_string: if cors_string:
...@@ -41,8 +44,6 @@ if "cors-domain" in form: ...@@ -41,8 +44,6 @@ if "cors-domain" in form:
file.write('Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is') file.write('Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is')
subprocess.call('{{ httpd_graceful }}') subprocess.call('{{ httpd_graceful }}')
cors_domain_parameter = parser.get("cors", "cors-domain")
with open(config_file, 'w') as file: with open(config_file, 'w') as file:
parser.write(file) parser.write(file)
......
...@@ -142,5 +142,5 @@ setuptools = 0.9.8 ...@@ -142,5 +142,5 @@ setuptools = 0.9.8
prettytable = 0.7.3-nxd001 prettytable = 0.7.3-nxd001
[networkcache] [networkcache]
download-cache-url = http://www.shacache.org/shacache download-cache-url = http://download.shacache.org/
download-dir-url = http://www.shacache.org/shadir download-dir-url = http://dir.shacache.org/
\ No newline at end of file \ No newline at end of file
...@@ -29,7 +29,7 @@ git-executable = ${git:location}/bin/git ...@@ -29,7 +29,7 @@ git-executable = ${git:location}/bin/git
[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 = lamp-edge branch = master
git-executable = ${git:location}/bin/git git-executable = ${git:location}/bin/git
[slapos.core-repository] [slapos.core-repository]
......
...@@ -33,7 +33,7 @@ git-executable = ${git:location}/bin/git ...@@ -33,7 +33,7 @@ git-executable = ${git:location}/bin/git
[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 = lapp-resilient3 branch = master
git-executable = ${git:location}/bin/git git-executable = ${git:location}/bin/git
[slapos.core-repository] [slapos.core-repository]
......
...@@ -10,7 +10,7 @@ parts = ...@@ -10,7 +10,7 @@ parts =
extends = extends =
../../component/boinc/buildout.cfg ../../component/boinc/buildout.cfg
../../component/mysql-python/buildout.cfg ../../component/python-mysqlclient/buildout.cfg
../../component/gzip/buildout.cfg ../../component/gzip/buildout.cfg
../../component/apache/buildout.cfg ../../component/apache/buildout.cfg
../../component/apache-php/buildout.cfg ../../component/apache-php/buildout.cfg
...@@ -25,7 +25,7 @@ extends = ...@@ -25,7 +25,7 @@ extends =
[instance-egg] [instance-egg]
recipe = zc.recipe.egg recipe = zc.recipe.egg
eggs = eggs =
${mysql-python:egg} ${python-mysqlclient:egg}
slapos.toolbox slapos.toolbox
#Because Boinc deamon and Boinc sheduler(with apache) work side by side, we deploy #Because Boinc deamon and Boinc sheduler(with apache) work side by side, we deploy
...@@ -64,10 +64,10 @@ app-list = {} ...@@ -64,10 +64,10 @@ app-list = {}
[versions] [versions]
pycrypto = 2.6 pycrypto = 2.6
MySQL-python = 1.2.4
apache-libcloud = 0.12.4 apache-libcloud = 0.12.4
async = 0.6.1 async = 0.6.1
gitdb = 0.5.4 gitdb = 0.5.4
mysqlclient = 1.3.7
plone.recipe.command = 1.1 plone.recipe.command = 1.1
slapos.recipe.template = 2.4.2 slapos.recipe.template = 2.4.2
slapos.toolbox = 0.40.4 slapos.toolbox = 0.40.4
......
...@@ -233,7 +233,7 @@ recipe = slapos.recipe.template:jinja2 ...@@ -233,7 +233,7 @@ recipe = slapos.recipe.template:jinja2
# XXX: "template.cfg" is hardcoded in instanciation recipe # XXX: "template.cfg" is hardcoded in instanciation recipe
rendered = ${buildout:directory}/template.cfg rendered = ${buildout:directory}/template.cfg
template = ${:_profile_base_location_}/instance.cfg.in template = ${:_profile_base_location_}/instance.cfg.in
md5sum = fdaaac449c92dcd68f0434b244d579f2 md5sum = 10d02ec69c875e6a55afe3bf79db7bba
mode = 640 mode = 640
context = context =
key mariadb_link_binary template-mariadb:link-binary key mariadb_link_binary template-mariadb:link-binary
...@@ -316,6 +316,7 @@ context = ...@@ -316,6 +316,7 @@ context =
key xdamage_location xdamage:location key xdamage_location xdamage:location
key xfixes_location xfixes:location key xfixes_location xfixes:location
key zlib_location zlib:location key zlib_location zlib:location
key extra_path_list eggs:extra-paths
[monitor-template-dummy] [monitor-template-dummy]
<= download-base <= download-base
...@@ -339,7 +340,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037 ...@@ -339,7 +340,7 @@ md5sum = b0cb0ee97cddc79112a718e065806037
[template-zope] [template-zope]
<= download-base <= download-base
filename = instance-zope.cfg.in filename = instance-zope.cfg.in
md5sum = bac5ff1ded5454749ec0e18d0ae1dae8 md5sum = 6bcd92d8823c99912abfbdc476301e76
link-binary = link-binary =
${aspell:location}/bin/aspell ${aspell:location}/bin/aspell
${dmtx-utils:location}/bin/dmtxwrite ${dmtx-utils:location}/bin/dmtxwrite
...@@ -472,7 +473,7 @@ initialization = ...@@ -472,7 +473,7 @@ initialization =
eggs = eggs =
${numpy:egg} ${numpy:egg}
${matplotlib:egg} ${matplotlib:egg}
${mysql-python:egg} ${python-mysqlclient:egg}
${lxml-python:egg} ${lxml-python:egg}
${pandas:egg} ${pandas:egg}
${pillow-python:egg} ${pillow-python:egg}
...@@ -613,12 +614,13 @@ eggs += ...@@ -613,12 +614,13 @@ eggs +=
slapos.toolbox[zodbpack] slapos.toolbox[zodbpack]
scripts += scripts +=
is-local-tcp-port-opened is-local-tcp-port-opened
is-process-older-than-dependency-set
onetimedownload onetimedownload
zodbpack zodbpack
[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, MySQL-python, slapos.recipe.template & [slapos-deps-eggs] # neoppod, python-mysqlclient, slapos.recipe.template & [slapos-deps-eggs]
# patched eggs # patched eggs
Acquisition = 2.13.8+SlapOSPatched001 Acquisition = 2.13.8+SlapOSPatched001
...@@ -670,7 +672,7 @@ Pillow = 3.1.1 ...@@ -670,7 +672,7 @@ Pillow = 3.1.1
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
Products.GenericSetup = 1.8.1 Products.GenericSetup = 1.8.2
Products.LongRequestLogger = 2.0.0 Products.LongRequestLogger = 2.0.0
Products.MimetypesRegistry = 2.0.8 Products.MimetypesRegistry = 2.0.8
Products.PluginRegistry = 1.3 Products.PluginRegistry = 1.3
...@@ -696,7 +698,7 @@ http-parser = 0.8.3 ...@@ -696,7 +698,7 @@ 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.8.3 ipdb = 0.9.0
ipython = 4.1.1 ipython = 4.1.1
ipywidgets = 4.1.1 ipywidgets = 4.1.1
logilab-common = 1.1.0 logilab-common = 1.1.0
......
...@@ -60,6 +60,7 @@ instance-tests = ${:instance}/tests ...@@ -60,6 +60,7 @@ instance-tests = ${:instance}/tests
log = ${:var}/log log = ${:var}/log
run = ${:var}/run run = ${:var}/run
services = ${:etc}/run services = ${:etc}/run
service-on-watch = ${:etc}/service
srv = ${buildout:directory}/srv srv = ${buildout:directory}/srv
tmp = ${buildout:directory}/tmp tmp = ${buildout:directory}/tmp
var = ${buildout:directory}/var var = ${buildout:directory}/var
...@@ -308,7 +309,7 @@ context = ...@@ -308,7 +309,7 @@ context =
[{{ section(name) }}] [{{ section(name) }}]
< = zope-base < = zope-base
wrapper = ${directory:services}/{{ name }} wrapper = ${directory:service-on-watch}/{{ name }}
configuration-file = {{ '${' ~ conf_name ~ ':rendered}' }} configuration-file = {{ '${' ~ conf_name ~ ':rendered}' }}
[{{ section("promise-" ~ name) }}] [{{ section("promise-" ~ name) }}]
...@@ -317,6 +318,19 @@ hostname = {{ ipv4 }} ...@@ -317,6 +318,19 @@ hostname = {{ ipv4 }}
port = {{ port }} port = {{ port }}
path = ${directory:promises}/{{ name }} path = ${directory:promises}/{{ name }}
{% set extra_path_list = [] -%}
{% set shell_escaped_extra_path_list = [] -%}
{% for line in parameter_dict['extra-path-list'].splitlines() -%}
{% set line = line.strip() -%}
{% do extra_path_list.append(line) -%}
{% do shell_escaped_extra_path_list.append(line.replace("\x27", "\x27\\\x27\x27")) -%}
{% endfor -%}
[{{ section("promise-" ~ name ~ "-is-running-actual-product") }}]
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) }}
wrapper-path = ${directory:promises}/{{ name }}-is-running-actual-product
parameters-extra = true
{% if use_ipv6 -%} {% if use_ipv6 -%}
[{{ zope_tunnel_section_name }}] [{{ zope_tunnel_section_name }}]
< = ipv6toipv4-base < = ipv6toipv4-base
......
...@@ -124,6 +124,7 @@ link-binary = {{ dumps(zope_link_binary) }} ...@@ -124,6 +124,7 @@ link-binary = {{ dumps(zope_link_binary) }}
userhosts = {{ userhosts_location }} userhosts = {{ userhosts_location }}
runzope-userhosts-preloaded-template = {{ template_runzope_userhosts_preloaded }} runzope-userhosts-preloaded-template = {{ template_runzope_userhosts_preloaded }}
template-monitor = {{ dumps(template_monitor) }} template-monitor = {{ dumps(template_monitor) }}
extra-path-list = {{ dumps(extra_path_list) }}
[dynamic-template-zope] [dynamic-template-zope]
<= jinja2-template-base <= jinja2-template-base
......
...@@ -25,7 +25,7 @@ extends = ...@@ -25,7 +25,7 @@ extends =
../component/zlib/buildout.cfg ../component/zlib/buildout.cfg
../component/stunnel/buildout.cfg ../component/stunnel/buildout.cfg
../component/pycrypto-python/buildout.cfg ../component/pycrypto-python/buildout.cfg
../component/mysql-python/buildout.cfg ../component/python-mysqlclient/buildout.cfg
../stack/slapos.cfg ../stack/slapos.cfg
[eggs] [eggs]
...@@ -39,10 +39,10 @@ keep-compile-dir = false ...@@ -39,10 +39,10 @@ keep-compile-dir = false
[versions] [versions]
# Generated automatically by buildout-versions # Generated automatically by buildout-versions
MySQL-python = 1.2.3
apache-libcloud = 0.9.1 apache-libcloud = 0.9.1
async = 0.6.1 async = 0.6.1
gitdb = 0.5.4 gitdb = 0.5.4
mysqlclient = 1.3.7
plone.recipe.command = 1.1 plone.recipe.command = 1.1
slapos.recipe.template = 2.3 slapos.recipe.template = 2.3
slapos.toolbox = 0.40.4 slapos.toolbox = 0.40.4
......
...@@ -7,7 +7,7 @@ parts = ...@@ -7,7 +7,7 @@ parts =
apache-php apache-php
mariadb mariadb
mydumper mydumper
mysql-python python-mysqlclient
rdiff-backup rdiff-backup
dropbear dropbear
eggs eggs
...@@ -40,7 +40,7 @@ extends = ...@@ -40,7 +40,7 @@ extends =
../../component/lxml-python/buildout.cfg ../../component/lxml-python/buildout.cfg
../../component/mariadb/buildout.cfg ../../component/mariadb/buildout.cfg
../../component/mydumper/buildout.cfg ../../component/mydumper/buildout.cfg
../../component/mysql-python/buildout.cfg ../../component/python-mysqlclient/buildout.cfg
../../component/perl/buildout.cfg ../../component/perl/buildout.cfg
../../component/rdiff-backup/buildout.cfg ../../component/rdiff-backup/buildout.cfg
../../component/sqlite3/buildout.cfg ../../component/sqlite3/buildout.cfg
...@@ -181,10 +181,10 @@ eggs = ...@@ -181,10 +181,10 @@ eggs =
slapos.toolbox[lampconfigure] slapos.toolbox[lampconfigure]
[versions] [versions]
MySQL-python = 1.2.4
apache-libcloud = 0.12.3 apache-libcloud = 0.12.3
async = 0.6.1 async = 0.6.1
gitdb = 0.5.4 gitdb = 0.5.4
mysqlclient = 1.3.7
pycrypto = 2.6 pycrypto = 2.6
rdiff-backup = 1.0.5 rdiff-backup = 1.0.5
slapos.recipe.template = 2.4.2 slapos.recipe.template = 2.4.2
......
...@@ -3,5 +3,5 @@ ...@@ -3,5 +3,5 @@
networkcache-section = networkcache networkcache-section = networkcache
[networkcache] [networkcache]
download-cache-url = http://www.shacache.org/shacache download-cache-url = http://download.shacache.org/
download-dir-url = http://www.shacache.org/shadir download-dir-url = http://dir.shacache.org/
...@@ -112,10 +112,10 @@ PyYAML = 3.11 ...@@ -112,10 +112,10 @@ PyYAML = 3.11
Werkzeug = 0.11.4 Werkzeug = 0.11.4
buildout-versions = 1.7 buildout-versions = 1.7
cffi = 1.5.2 cffi = 1.5.2
cliff = 1.17.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.2.2 cryptography = 1.2.3
decorator = 4.0.9 decorator = 4.0.9
idna = 2.0 idna = 2.0
inotifyx = 0.2.2 inotifyx = 0.2.2
...@@ -141,7 +141,7 @@ slapos.extension.strip = 0.1 ...@@ -141,7 +141,7 @@ 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.11.0 stevedore = 1.12.0
unicodecsv = 0.14.1 unicodecsv = 0.14.1
xml-marshaller = 0.9.7 xml-marshaller = 0.9.7
...@@ -194,8 +194,8 @@ uritemplate = 0.6 ...@@ -194,8 +194,8 @@ uritemplate = 0.6
zope.interface = 4.1.3 zope.interface = 4.1.3
[networkcache] [networkcache]
download-cache-url = http://www.shacache.org/shacache download-cache-url = http://download.shacache.org/
download-dir-url = http://www.shacache.org/shadir download-dir-url = http://dir.shacache.org/
# signature certificates of the following uploaders. # signature certificates of the following uploaders.
# Romain Courteaud # Romain Courteaud
......
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