diff --git a/component/alsa/buildout.cfg b/component/alsa/buildout.cfg index f8227fdda799640a925a6a10fd8018fecf3aadff..792890e30cac3b97ff791155aac2b65f6c34feb8 100644 --- a/component/alsa/buildout.cfg +++ b/component/alsa/buildout.cfg @@ -19,3 +19,4 @@ configure-options = --disable-alisp --disable-old-symbols --disable-python + --without-debug diff --git a/component/busybox/buildout.cfg b/component/busybox/buildout.cfg index b0cb2abeb12e21edfb2d6f6a166adbd740708d2e..c13db298ce51d9405c48e161cf2c9a05dab4eaac 100644 --- a/component/busybox/buildout.cfg +++ b/component/busybox/buildout.cfg @@ -2,13 +2,23 @@ parts = busybox +[busybox-patch-download] +recipe = hexagonit.recipe.download +url = ${:_profile_base_location_}/${:filename} +md5sum = 292498db86c46e101bb14bf2c74c36f0 +download-only = true +filename = busybox-1_20_2.patch + [busybox] recipe = slapos.recipe.build url = http://git.busybox.net/busybox/snapshot/busybox-1_20_2.tar.gz md5sum = 025acebb48040ef62dd635d416d317e8 +patches = + ${busybox-patch-download:location}/${busybox-patch-download:filename} script = extract_dir = self.extract(self.download(%(url)r, %(md5sum)r)) workdir = guessworkdir(extract_dir) + self.applyPatchList(self.options.get('patches'), '-p1', cwd=workdir) self.logger.info("Creating default configuration") call(['make', 'defconfig'], cwd=workdir, env=env) self.logger.info("Building") diff --git a/component/busybox/busybox-1_20_2.patch b/component/busybox/busybox-1_20_2.patch new file mode 100644 index 0000000000000000000000000000000000000000..8163a86e3cdb47425ee22b9498011cc9a2c7826b --- /dev/null +++ b/component/busybox/busybox-1_20_2.patch @@ -0,0 +1,12 @@ +diff --git a/include/libbb.h b/include/libbb.h +index f12800f..e7806c2 100644 +--- a/include/libbb.h ++++ b/include/libbb.h +@@ -40,6 +40,7 @@ + #include <sys/poll.h> + #include <sys/ioctl.h> + #include <sys/mman.h> ++#include <sys/resource.h> + #include <sys/socket.h> + #include <sys/stat.h> + #include <sys/time.h> diff --git a/component/firefox/buildout.cfg b/component/firefox/buildout.cfg index 61ed5befb4125c248a902eb7866c04534201d21c..388abd62fe5807353c8ba83e267709292e94a189 100644 --- a/component/firefox/buildout.cfg +++ b/component/firefox/buildout.cfg @@ -11,6 +11,9 @@ extends = parts = firefox +# XXX : Firefox binary tries to find libgnomeui-2.so.0 and it will +# fail to run if exists. + [firefox] recipe = slapos.recipe.build slapos_promise = @@ -40,4 +43,3 @@ script = exec %(location)s/firefox $*""") wrapper.close() os.chmod(wrapper_location, 0755) - diff --git a/component/xorg/buildout.cfg b/component/xorg/buildout.cfg index 47d8293f40535c8eef2d90637ee5255f2dbb0e77..7fafca2478735dbacbf2835686101639dce8f5ae 100644 --- a/component/xorg/buildout.cfg +++ b/component/xorg/buildout.cfg @@ -242,6 +242,8 @@ md5sum = a2a861f142c3b4367f14fc14239fc1f7 environment = PKG_CONFIG_PATH=${xproto:location}/lib/pkgconfig PATH=${pkgconfig:location}/bin:%(PATH)s + CPPFLAGS=-I${zlib:location}/include + LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib [libXfont] recipe = slapos.recipe.cmmi @@ -250,6 +252,8 @@ md5sum = 6851da5dae0a6cf5f7c9b9e2b05dd3b4 environment = PKG_CONFIG_PATH=${fontsproto:location}/lib/pkgconfig:${libfontenc:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig:${xtrans:location}/share/pkgconfig:${freetype:location}/lib/pkgconfig PATH=${pkgconfig:location}/bin:%(PATH)s + CPPFLAGS=-I${zlib:location}/include + LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib [libxkbfile] recipe = slapos.recipe.cmmi @@ -258,6 +262,8 @@ md5sum = 19e6533ae64abba0773816a23f2b9507 environment = PKG_CONFIG_PATH=${kbproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig:${libxcb:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig PATH=${pkgconfig:location}/bin:%(PATH)s + CPPFLAGS=-I${zlib:location}/include + LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib [xkeyboard-config] recipe = slapos.recipe.cmmi diff --git a/slapos/recipe/erp5testnode/__init__.py b/slapos/recipe/erp5testnode/__init__.py index 5761aa3ef18e2f8b98d727f5cb15a93f3131bc86..95fa1da52401a30688eacd13938797c1bfb498ed 100644 --- a/slapos/recipe/erp5testnode/__init__.py +++ b/slapos/recipe/erp5testnode/__init__.py @@ -33,20 +33,12 @@ from slapos.recipe.librecipe import GenericBaseRecipe class Recipe(GenericBaseRecipe): def install(self): - path_list = [] + self.path_list = [] options = self.options.copy() del options['recipe'] CONFIG = {k.replace('-', '_'): v for k, v in options.iteritems()} CONFIG['PATH'] = os.environ['PATH'] - if CONFIG['bt5_path']: - additional_bt5_repository_id_list = CONFIG['bt5_path'].split(",") - CONFIG['bt5_path'] = '' - for bt5_repository_id in additional_bt5_repository_id_list: - id_path = os.path.join(CONFIG['slapos_directory'], bt5_repository_id) - bt_path = os.path.join(id_path, "bt5") - CONFIG['bt5_path'] += "%s,%s," % (id_path, bt_path) - if self.options['instance-dict']: config_instance_dict = ConfigParser.ConfigParser() config_instance_dict.add_section('instance_dict') @@ -58,25 +50,11 @@ class Recipe(GenericBaseRecipe): config_instance_dict.write(value) CONFIG['instance_dict'] = value.getvalue() - vcs_repository_list = json.loads(self.options['repository-list']) - config_repository_list = ConfigParser.ConfigParser() - i = 0 - for repository in vcs_repository_list: - section_name = 'vcs_repository_%d' % i - config_repository_list.add_section(section_name) - config_repository_list.set(section_name, 'url', repository['url']) - if 'branch' in repository: - config_repository_list.set(section_name, 'branch', repository['branch']) - if 'profile_path' in repository: - config_repository_list.set(section_name, 'profile_path', - repository['profile_path']) - if 'buildout_section_id' in repository: - config_repository_list.set(section_name, 'buildout_section_id', - repository['buildout_section_id']) - i += 1 - value = StringIO.StringIO() - config_repository_list.write(value) - CONFIG['repository_list'] = value.getvalue() + software_path_list = json.loads(self.options['software-path-list']) + if software_path_list: + CONFIG["software_path_list"] = "[software_list]" + CONFIG["software_path_list"] += \ + "\npath_list = %s" % ",".join(software_path_list) configuration_file = self.createFile( self.options['configuration-file'], @@ -85,8 +63,8 @@ class Recipe(GenericBaseRecipe): CONFIG ), ) - path_list.append(configuration_file) - path_list.append( + self.path_list.append(configuration_file) + self.path_list.append( self.createPythonScript( self.options['wrapper'], 'slapos.recipe.librecipe.execute.executee', @@ -100,4 +78,33 @@ class Recipe(GenericBaseRecipe): ], ) ) - return path_list + self.installApache() + return self.path_list + + def installApache(self): + apache_config = dict( + pid_file=self.options['httpd-pid-file'], + lock_file=self.options['httpd-lock-file'], + ip=self.options['httpd-ip'], + port=self.options['httpd-port'], + error_log=os.path.join(self.options['httpd-log-directory'], + 'httpd-error.log'), + access_log=os.path.join(self.options['httpd-log-directory'], + 'httpd-access.log'), + certificate=self.options['httpd-cert-file'], + key=self.options['httpd-key-file'], + testnode_log_directory=self.options['log-directory'], + ) + config_file = self.createFile(self.options['httpd-conf-file'], + self.substituteTemplate(self.getTemplateFilename('httpd.conf.in'), + apache_config) + ) + self.path_list.append(config_file) + wrapper = self.createPythonScript(self.options['httpd-wrapper'], + 'slapos.recipe.librecipe.execute.execute', + [self.options['apache-binary'], '-f', config_file, '-DFOREGROUND']) + self.path_list.append(wrapper) + # create empty html page to not allow listing of / + page = open(os.path.join(self.options['log-directory'], "index.html"), "w") + page.write("<html/>") + page.close() \ No newline at end of file diff --git a/slapos/recipe/erp5testnode/template/erp5testnode.cfg.in b/slapos/recipe/erp5testnode/template/erp5testnode.cfg.in index 08c4619a211392c6e48094b9b0f333e4ceaa9bb6..ab38d44c7601dd415d0761c9bf5f52b3931070ee 100644 --- a/slapos/recipe/erp5testnode/template/erp5testnode.cfg.in +++ b/slapos/recipe/erp5testnode/template/erp5testnode.cfg.in @@ -1,20 +1,18 @@ [testnode] slapos_directory = %(slapos_directory)s -working_directory = %(slapos_directory)s +working_directory = %(working_directory)s test_suite_directory = %(test_suite_directory)s log_directory = %(log_directory)s run_directory = %(run_directory)s proxy_host = %(proxy_host)s proxy_port = %(proxy_port)s -test_suite_title = %(test_suite_title)s -test_suite = %(test_suite)s node_quantity = %(node_quantity)s test_node_title = %(test_node_title)s -project_title= %(project_title)s ipv4_address = %(ipv4_address)s ipv6_address = %(ipv6_address)s test_suite_master_url = %(test_suite_master_url)s -bt5_path = %(bt5_path)s +httpd_ip = %(httpd_ip)s +httpd_port = %(httpd_port)s # Binaries git_binary = %(git_binary)s @@ -26,6 +24,6 @@ zip_binary = %(zip_binary)s [environment] PATH = %(PATH)s -%(instance_dict)s +%(software_path_list)s -%(repository_list)s +%(instance_dict)s diff --git a/slapos/recipe/erp5testnode/template/httpd.conf.in b/slapos/recipe/erp5testnode/template/httpd.conf.in new file mode 100644 index 0000000000000000000000000000000000000000..9c75e683e3a5d5ea867e7d410852616339cfa30d --- /dev/null +++ b/slapos/recipe/erp5testnode/template/httpd.conf.in @@ -0,0 +1,61 @@ +# Apache static configuration +# Automatically generated + +# Basic server configuration +PidFile "%(pid_file)s" +Listen [%(ip)s]:%(port)s +ServerAdmin someone@email +DefaultType text/plain +TypesConfig conf/mime.types +AddType application/x-compress .Z +AddType application/x-gzip .gz .tgz + +# Log configuration +ErrorLog "%(error_log)s" +LogLevel warn +LogFormat "%%h %%{REMOTE_USER}i %%l %%u %%t \"%%r\" %%>s %%b \"%%{Referer}i\" \"%%{User-Agent}i\"" combined +LogFormat "%%h %%{REMOTE_USER}i %%l %%u %%t \"%%r\" %%>s %%b" common +CustomLog "%(access_log)s" common + +# Allow cross site scripting +Header set Access-Control-Allow-Origin "*" + +# List of modules +LoadModule unixd_module modules/mod_unixd.so +LoadModule access_compat_module modules/mod_access_compat.so +LoadModule authz_core_module modules/mod_authz_core.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule log_config_module modules/mod_log_config.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule version_module modules/mod_version.so +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule mime_module modules/mod_mime.so +LoadModule negotiation_module modules/mod_negotiation.so +LoadModule rewrite_module modules/mod_rewrite.so +LoadModule headers_module modules/mod_headers.so +LoadModule dir_module modules/mod_dir.so +LoadModule alias_module modules/mod_alias.so +LoadModule ssl_module modules/mod_ssl.so +LoadModule autoindex_module modules/mod_autoindex.so + +# SSL Configuration +SSLEngine on +SSLCertificateFile %(certificate)s +SSLCertificateKeyFile %(key)s +SSLRandomSeed startup builtin +SSLRandomSeed connect builtin +SSLProtocol -ALL +SSLv3 +TLSv1 +SSLHonorCipherOrder On +SSLCipherSuite RC4-SHA:HIGH:!ADH +SSLProxyEngine On + +DocumentRoot "%(testnode_log_directory)s" + +# Directory protection +<Directory /> + Options Indexes FollowSymLinks + IndexOptions FancyIndexing + order allow,deny + Allow from All +</Directory> \ No newline at end of file diff --git a/software/erp5testnode/instance-default.cfg b/software/erp5testnode/instance-default.cfg index 7ff21a522af7f1ec5e494ef86e97b05b2fc71851..e3564cf0da5be6939980eb199b602c6a410a24ba 100644 --- a/software/erp5testnode/instance-default.cfg +++ b/software/erp5testnode/instance-default.cfg @@ -11,6 +11,7 @@ parts = shellinabox certificate-authority ca-shellinabox + ca-httpd [connection-dict] recipe = slapos.cookbook:publish @@ -31,31 +32,39 @@ proxy-host = $${slap-network-information:global-ipv6} proxy-port = 5000 log-directory = $${directory:log} run-directory = $${directory:run} -test-suite-title = $${slap-parameter:test-suite-title} test-node-title = $${slap-parameter:test-node-title} -test-suite = $${slap-parameter:test-suite} node-quantity = $${slap-parameter:node-quantity} -project-title = $${slap-parameter:project-title} ipv4-address = $${slap-network-information:local-ipv4} ipv6-address = $${slap-network-information:global-ipv6} test-suite-master-url = $${slap-parameter:test-suite-master-url} -bt5-path = $${slap-parameter:additional-bt5-repository-id} instance-dict = $${slap-parameter:instance-dict} -repository-list = $${slap-parameter:vcs-repository-list} - +software-path-list = $${slap-parameter:software-path-list} git-binary = ${git:location}/bin/git slapgrid-partition-binary = ${buildout:bin-directory}/slapgrid-cp slapgrid-software-binary = ${buildout:bin-directory}/slapgrid-sr slapproxy-binary = ${buildout:bin-directory}/slapproxy -svn-binary = ${subversion:location}/bin/svn -svnversion-binary = ${subversion:location}/bin/svnversion testnode = ${buildout:bin-directory}/testnode zip-binary = ${zip:location}/bin/zip +httpd-pid-file = $${basedirectory:run}/httpd.pid +httpd-lock-file = $${basedirectory:run}/httpd.lock +httpd-conf-file = $${rootdirectory:etc}/httpd.conf +httpd-wrapper = $${rootdirectory:bin}/httpd +httpd-port = 9080 +httpd-ip = $${slap-network-information:global-ipv6} +httpd-log-directory = $${basedirectory:log} +httpd-cert-file = $${rootdirectory:etc}/httpd-public.crt +httpd-key-file = $${rootdirectory:etc}/httpd-private.key configuration-file = $${rootdirectory:etc}/erp5testnode.cfg log-file = $${basedirectory:log}/erp5testnode.log wrapper = $${basedirectory:services}/erp5testnode +# Binaries +apache-binary = ${apache:location}/bin/httpd +apache-modules-dir = ${apache:location}/modules +apache-mime-file = ${apache:location}/conf/mime.types +apache-htpasswd = ${apache:location}/bin/htpasswd + [shell] recipe = slapos.cookbook:shell wrapper = $${rootdirectory:bin}/sh @@ -66,8 +75,6 @@ path = ${busybox:location}/bin/ ${busybox:location}/usr/bin/ ${git:location}/bin/ - ${subversion:location}/bin/ - ${perl:location}/bin/ ${python2.7:location}/bin/ ${buildout:bin-directory}/ ${busybox:location}/sbin/ @@ -114,35 +121,41 @@ wrapper = $${basedirectory:services}/shellinaboxd key-file = $${shellinabox:key-file} cert-file = $${shellinabox:cert-file} +[ca-httpd] +<= certificate-authority +recipe = slapos.cookbook:certificate_authority.request +executable = $${testnode:httpd-wrapper} +wrapper = $${basedirectory:services}/httpd +key-file = $${testnode:httpd-key-file} +cert-file = $${testnode:httpd-cert-file} + [rootdirectory] recipe = slapos.cookbook:mkdirectory -etc = $${buildout:directory}/etc/ -var = $${buildout:directory}/var/ -srv = $${buildout:directory}/srv/ -bin = $${buildout:directory}/bin/ -tmp = $${buildout:directory}/tmp/ +etc = $${buildout:directory}/etc +var = $${buildout:directory}/var +srv = $${buildout:directory}/srv +bin = $${buildout:directory}/bin +tmp = $${buildout:directory}/tmp [basedirectory] recipe = slapos.cookbook:mkdirectory -log = $${rootdirectory:var}/log/ -services = $${rootdirectory:etc}/run/ -run = $${rootdirectory:var}/run/ -promises = $${rootdirectory:etc}/promise/ +log = $${rootdirectory:var}/log +services = $${rootdirectory:etc}/run +run = $${rootdirectory:var}/run +promises = $${rootdirectory:etc}/promise [directory] recipe = slapos.cookbook:mkdirectory -slapos = $${rootdirectory:srv}/slapos/ -testnode = $${rootdirectory:srv}/testnode/ -test-suite = $${rootdirectory:srv}/test_suite/ -log = $${basedirectory:log}/testnode/ -run = $${basedirectory:run}/testnode/ -shellinabox = $${rootdirectory:srv}/shellinabox/ -ca-dir = $${rootdirectory:srv}/ca/ +slapos = $${rootdirectory:srv}/slapos +testnode = $${rootdirectory:srv}/testnode +test-suite = $${rootdirectory:srv}/test_suite +log = $${basedirectory:log}/testnode +run = $${basedirectory:run}/testnode +shellinabox = $${rootdirectory:srv}/shellinabox +ca-dir = $${rootdirectory:srv}/ca [slap-parameter] node-quantity = 1 test-suite-master-url = -additional-bt5-repository-id = instance-dict = -vcs-repository-list = [] -test-suite-title = $${:test-suite} +software-path-list = ["http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/heads/erp5testnode:/software/seleniumrunner/software.cfg"] diff --git a/software/erp5testnode/software.cfg b/software/erp5testnode/software.cfg index ab7077a51c6bc9fa46dcd4f63a1e323dda317f06..23827d89419c0d5e961dfc4b46846578e5586f8d 100644 --- a/software/erp5testnode/software.cfg +++ b/software/erp5testnode/software.cfg @@ -1,65 +1,40 @@ [buildout] -find-links = http://www.nexedi.org/static/packages/source/slapos.buildout/ - http://dist.repoze.org +find-links += http://dist.repoze.org http://www.nexedi.org/static/packages/source/ -# Separate from site eggs -allowed-eggs-from-site-packages = -include-site-packages = false -exec-sitecustomize = false - -versions = versions - extends = - ../../stack/shacache-client.cfg + ../../stack/slapos.cfg ../../component/python-2.7/buildout.cfg - ../../component/subversion/buildout.cfg ../../component/git/buildout.cfg ../../component/lxml-python/buildout.cfg ../../component/zip/buildout.cfg ../../component/busybox/buildout.cfg ../../component/shellinabox/buildout.cfg + ../../component/pwgen/buildout.cfg + ../../component/apache/buildout.cfg # Local development develop = ${:parts-directory}/slapos.cookbook-repository parts = # Local development + slapos-cookbook slapos.cookbook-repository check-recipe template lxml-python eggs - subversion zip git - -# Use only quite well working sites. -allow-hosts = - *.nexedi.org - *.python.org - *.sourceforge.net - dist.repoze.org - effbot.org - github.com - peak.telecommunity.com - psutil.googlecode.com - www.dabeaz.com - launchpad.net - - -# XXX: Workaround of SlapOS limitation -# Unzippig of eggs is required, as SlapOS do not yet provide nicely working -# development / fast switching environment for whole software -unzip = true + apache # Local development [slapos.cookbook-repository] recipe = plone.recipe.command stop-on-error = true location = ${buildout:parts-directory}/${:_buildout_section_name_} -command = "${git:location}/bin/git" clone --quiet http://git.erp5.org/repos/slapos.git "${:location}" +command = "${git:location}/bin/git" clone --branch erp5testnode --quiet http://git.erp5.org/repos/slapos.git "${:location}" update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && "${git:location}/bin/git" reset --hard @{upstream} [check-recipe] @@ -76,8 +51,10 @@ eggs = slapos.libnetworkcache slapos.core inotifyx - slapos.cookbook - erp5.util[testnode] + erp5.util + PyXML + +[testnode] scripts = testnode = erp5.util.testnode:main @@ -102,7 +79,7 @@ recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-default.cfg output = ${buildout:directory}/template-default.cfg mode = 0644 -md5sum = 2349e62d4fa46fc88e05d855f49b7c38 +md5sum = 9bb380748d5f6618ffa480e6d660217c [networkcache] # signature certificates of the following uploaders. @@ -207,60 +184,73 @@ signature-certificate-list = -----END CERTIFICATE----- [versions] -# Use SlapOS patched zc.buildout -zc.buildout = 1.6.0-dev-SlapOS-003 +# use newest version of pytz +pytz = -Jinja2 = 2.6 -Werkzeug = 0.8.2 -erp5.util = 0.4.1 -hexagonit.recipe.cmmi = 1.5.0 -lxml = 2.3.2 -meld3 = 0.6.7 -slapos.cookbook = 0.38 -slapos.core = 0.21 -slapos.libnetworkcache = 0.11 -slapos.recipe.template = 2.2 +# pin version of setuptools +setuptools = 2.2 + +Jinja2 = 2.7.2 +MarkupSafe = 0.18 +PyXML = 0.8.5 +Pygments = 1.6 +Werkzeug = 0.9.4 +buildout-versions = 1.7 +cmd2 = 0.6.7 +erp5.util = 0.4.36 +inotifyx = 0.2.0-1 +itsdangerous = 0.23 +lxml = 3.3.0 +meld3 = 0.6.10 +netaddr = 0.7.10 +plone.recipe.command = 1.1 +psutil = 1.2.1 +pyOpenSSL = 0.13.1 +pyparsing = 2.0.1 +pytz = 2013.9 +slapos.core = 1.0.2.1 +slapos.libnetworkcache = 0.13.4 +slapos.recipe.build = 0.12 +slapos.recipe.cmmi = 0.2 +slapos.recipe.template = 2.5 +xml-marshaller = 0.9.7 # Required by: -# slapos.core==0.21 -Flask = 0.8 +# slapos.core==1.0.2.1 +Flask = 0.10.1 # Required by: -# slapos.cookbook==0.38 -PyXML = 0.8.5 +# slapos.core==1.0.2.1 +bpython = 0.12 # Required by: -# hexagonit.recipe.cmmi==1.5.0 -hexagonit.recipe.download = 1.6nxd002 +# slapos.core==1.0.2.1 +cliff = 1.5.2 # Required by: -# slapos.cookbook==0.38 -netaddr = 0.7.6 +# slapos.core==1.0.2.1 +ipython = 1.2.0 # Required by: -# slapos.core==0.21 -netifaces = 0.6 +# slapos.core==1.0.2.1 +netifaces = 0.8-1 # Required by: -# erp5.util==0.3 -# slapos.cookbook==0.38 -# slapos.core==0.21 -# slapos.libnetworkcache==0.11 -# zc.buildout==1.6.0-dev-SlapOS-003 -setuptools = 0.6c12dev-r88846 +# slapos.core==1.0.2.1 +requests = 2.2.1 # Required by: -# slapos.core==0.21 -supervisor = 3.0a12 +# cliff==1.5.2 +six = 1.5.2 # Required by: -# slapos.cookbook==0.38 -xml-marshaller = 0.9.7 +# cliff==1.5.2 +stevedore = 0.14.1 # Required by: -# slapos.cookbook==0.38 -zc.recipe.egg = 1.3.2 +# slapos.core==1.0.2.1 +supervisor = 3.0 # Required by: -# slapos.core==0.21 -zope.interface = 3.8.0 +# slapos.core==1.0.2.1 +zope.interface = 4.1.0 diff --git a/software/seleniumrunner/software.cfg b/software/seleniumrunner/software.cfg index 56e03f61980d231b5c56ff9484d157b93d5bfa36..1a94f2b85eb979e9625b072c1156994011ce4841 100644 --- a/software/seleniumrunner/software.cfg +++ b/software/seleniumrunner/software.cfg @@ -1,22 +1,19 @@ [buildout] extensions = buildout-versions -extends = +extends = ../../component/xorg/buildout.cfg ../../component/lxml-python/buildout.cfg ../../component/python-2.7/buildout.cfg ../../component/firefox/buildout.cfg ../../component/dash/buildout.cfg ../../stack/shacache-client.cfg + ../../stack/slapos.cfg # develop += /opt/slapdev -versions = versions - -find-links += - http://www.nexedi.org/static/packages/source/slapos.buildout/ - parts = + slapos-cookbook template eggs instance-recipe-egg @@ -24,8 +21,6 @@ parts = firefox xwd -versions = versions - unzip = true [instance-recipe] @@ -79,10 +74,6 @@ Flask = 0.8 # slapos.cookbook==0.42 PyXML = 0.8.4 -# Required by: -# hexagonit.recipe.cmmi==1.5.0 -hexagonit.recipe.download = 1.6nxd002 - # Required by: # slapos.cookbook==0.42 inotifyx = 0.2.0 @@ -131,6 +122,13 @@ zope.interface = 3.8.0 [networkcache] # signature certificates of the following uploaders. # Romain Courteaud +# Sebastien Robin +# Kazuhiko Shiozaki +# Cedric de Saint Martin +# Yingjie Xu +# Gabriel Monnerat +# Åukasz Nowak +# Test Agent (Automatic update from tests) signature-certificate-list = -----BEGIN CERTIFICATE----- MIIB4DCCAUkCADANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJGUjEZMBcGA1UE @@ -145,3 +143,94 @@ signature-certificate-list = q7jdfWO18Zp/BG7tagz0jmmC4y/8akzHsVlruo2+2du2freE8dK746uoMlXlP93g QUUGLQ== -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB8jCCAVugAwIBAgIJAPu2zchZ2BxoMA0GCSqGSIb3DQEBBQUAMBIxEDAOBgNV + BAMMB3RzeGRldjMwHhcNMTExMDE0MTIxNjIzWhcNMTIxMDEzMTIxNjIzWjASMRAw + DgYDVQQDDAd0c3hkZXYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrPbh+ + YGmo6mWmhVb1vTqX0BbeU0jCTB8TK3i6ep3tzSw2rkUGSx3niXn9LNTFNcIn3MZN + XHqbb4AS2Zxyk/2tr3939qqOrS4YRCtXBwTCuFY6r+a7pZsjiTNddPsEhuj4lEnR + L8Ax5mmzoi9nE+hiPSwqjRwWRU1+182rzXmN4QIDAQABo1AwTjAdBgNVHQ4EFgQU + /4XXREzqBbBNJvX5gU8tLWxZaeQwHwYDVR0jBBgwFoAU/4XXREzqBbBNJvX5gU8t + LWxZaeQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQA07q/rKoE7fAda + FED57/SR00OvY9wLlFEF2QJ5OLu+O33YUXDDbGpfUSF9R8l0g9dix1JbWK9nQ6Yd + R/KCo6D0sw0ZgeQv1aUXbl/xJ9k4jlTxmWbPeiiPZEqU1W9wN5lkGuLxV4CEGTKU + hJA/yXa1wbwIPGvX3tVKdOEWPRXZLg== + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB7jCCAVegAwIBAgIJAJWA0jQ4o9DGMA0GCSqGSIb3DQEBBQUAMA8xDTALBgNV + BAMMBHg2MXMwIBcNMTExMTI0MTAyNDQzWhgPMjExMTEwMzExMDI0NDNaMA8xDTAL + BgNVBAMMBHg2MXMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANdJNiFsRlkH + vq2kHP2zdxEyzPAWZH3CQ3Myb3F8hERXTIFSUqntPXDKXDb7Y/laqjMXdj+vptKk + 3Q36J+8VnJbSwjGwmEG6tym9qMSGIPPNw1JXY1R29eF3o4aj21o7DHAkhuNc5Tso + 67fUSKgvyVnyH4G6ShQUAtghPaAwS0KvAgMBAAGjUDBOMB0GA1UdDgQWBBSjxFUE + RfnTvABRLAa34Ytkhz5vPzAfBgNVHSMEGDAWgBSjxFUERfnTvABRLAa34Ytkhz5v + PzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAFLDS7zNhlrQYSQO5KIj + z2RJe3fj4rLPklo3TmP5KLvendG+LErE2cbKPqnhQ2oVoj6u9tWVwo/g03PMrrnL + KrDm39slYD/1KoE5kB4l/p6KVOdeJ4I6xcgu9rnkqqHzDwI4v7e8/D3WZbpiFUsY + vaZhjNYKWQf79l6zXfOvphzJ + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAO4V/jiMoICoMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMjMyMCAXDTEyMDIxNjExMTAyM1oYDzIxMTIwMTIzMTExMDIzWjAT + MREwDwYDVQQDDAhDT01QLTIzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + wi/3Z8W9pUiegUXIk/AiFDQ0UJ4JFAwjqr+HSRUirlUsHHT+8DzH/hfcTDX1I5BB + D1ADk+ydXjMm3OZrQcXjn29OUfM5C+g+oqeMnYQImN0DDQIOcUyr7AJc4xhvuXQ1 + P2pJ5NOd3tbd0kexETa1LVhR6EgBC25LyRBRae76qosCAwEAAaNQME4wHQYDVR0O + BBYEFMDmW9aFy1sKTfCpcRkYnP6zUd1cMB8GA1UdIwQYMBaAFMDmW9aFy1sKTfCp + cRkYnP6zUd1cMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAskbFizHr + b6d3iIyN+wffxz/V9epbKIZVEGJd/6LrTdLiUfJPec7FaxVCWNyKBlCpINBM7cEV + Gn9t8mdVQflNqOlAMkOlUv1ZugCt9rXYQOV7rrEYJBWirn43BOMn9Flp2nibblby + If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAIlBksrZVkK8MA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMzU3MCAXDTEyMDEyNjEwNTUyOFoYDzIxMTIwMTAyMTA1NTI4WjAT + MREwDwYDVQQDDAhDT01QLTM1NzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + ts+iGUwi44vtIfwXR8DCnLtHV4ydl0YTK2joJflj0/Ws7mz5BYkxIU4fea/6+VF3 + i11nwBgYgxQyjNztgc9u9O71k1W5tU95yO7U7bFdYd5uxYA9/22fjObaTQoC4Nc9 + mTu6r/VHyJ1yRsunBZXvnk/XaKp7gGE9vNEyJvPn2bkCAwEAAaNQME4wHQYDVR0O + BBYEFKuGIYu8+6aEkTVg62BRYaD11PILMB8GA1UdIwQYMBaAFKuGIYu8+6aEkTVg + 62BRYaD11PILMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMoTRpBxK + YLEZJbofF7gSrRIcrlUJYXfTfw1QUBOKkGFFDsiJpEg4y5pUk1s5Jq9K3SDzNq/W + it1oYjOhuGg3al8OOeKFrU6nvNTF1BAvJCl0tr3POai5yXyN5jlK/zPfypmQYxE+ + TaqQSGBJPVXYt6lrq/PRD9ciZgKLOwEqK8w= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAPHoWu90gbsgMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV + BAMMCXZpZmlibm9kZTAeFw0xMjAzMTkyMzIwNTVaFw0xMzAzMTkyMzIwNTVaMBQx + EjAQBgNVBAMMCXZpZmlibm9kZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + ozBijpO8PS5RTeKTzA90vi9ezvv4vVjNaguqT4UwP9+O1+i6yq1Y2W5zZxw/Klbn + oudyNzie3/wqs9VfPmcyU9ajFzBv/Tobm3obmOqBN0GSYs5fyGw+O9G3//6ZEhf0 + NinwdKmrRX+d0P5bHewadZWIvlmOupcnVJmkks852BECAwEAAaNQME4wHQYDVR0O + BBYEFF9EtgfZZs8L2ZxBJxSiY6eTsTEwMB8GA1UdIwQYMBaAFF9EtgfZZs8L2ZxB + JxSiY6eTsTEwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAc43YTfc6 + baSemaMAc/jz8LNLhRE5dLfLOcRSoHda8y0lOrfe4lHT6yP5l8uyWAzLW+g6s3DA + Yme/bhX0g51BmI6gjKJo5DoPtiXk/Y9lxwD3p7PWi+RhN+AZQ5rpo8UfwnnN059n + yDuimQfvJjBFMVrdn9iP6SfMjxKaGk6gVmI= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAMNZBmoIOXPBMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtMTMyMCAXDTEyMDUwMjEyMDQyNloYDzIxMTIwNDA4MTIwNDI2WjAT + MREwDwYDVQQDDAhDT01QLTEzMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + 6peZQt1sAmMAmSG9BVxxcXm8x15kE9iAplmANYNQ7z2YO57c10jDtlYlwVfi/rct + xNUOKQtc8UQtV/fJWP0QT0GITdRz5X/TkWiojiFgkopza9/b1hXs5rltYByUGLhg + 7JZ9dZGBihzPfn6U8ESAKiJzQP8Hyz/o81FPfuHCftsCAwEAAaNQME4wHQYDVR0O + BBYEFNuxsc77Z6/JSKPoyloHNm9zF9yqMB8GA1UdIwQYMBaAFNuxsc77Z6/JSKPo + yloHNm9zF9yqMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAl4hBaJy1 + cgiNV2+Z5oNTrHgmzWvSY4duECOTBxeuIOnhql3vLlaQmo0p8Z4c13kTZq2s3nhd + Loe5mIHsjRVKvzB6SvIaFUYq/EzmHnqNdpIGkT/Mj7r/iUs61btTcGUCLsUiUeci + Vd0Ozh79JSRpkrdI8R/NRQ2XPHAo+29TT70= + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIB9jCCAV+gAwIBAgIJAKRvzcy7OH0UMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV + BAMMCENPTVAtNzcyMCAXDTEyMDgxMDE1NDI1MVoYDzIxMTIwNzE3MTU0MjUxWjAT + MREwDwYDVQQDDAhDT01QLTc3MjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA + o7aipd6MbnuGDeR1UJUjuMLQUariAyQ2l2ZDS6TfOwjHiPw/mhzkielgk73kqN7A + sUREx41eTcYCXzTq3WP3xCLE4LxLg1eIhd4nwNHj8H18xR9aP0AGjo4UFl5BOMa1 + mwoyBt3VtfGtUmb8whpeJgHhqrPPxLoON+i6fIbXDaUCAwEAAaNQME4wHQYDVR0O + BBYEFEfjy3OopT2lOksKmKBNHTJE2hFlMB8GA1UdIwQYMBaAFEfjy3OopT2lOksK + mKBNHTJE2hFlMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAaNRx6YN2 + M/p3R8/xS6zvH1EqJ3FFD7XeAQ52WuQnKSREzuw0dsw12ClxjcHiQEFioyTiTtjs + 5pW18Ry5Ie7iFK4cQMerZwWPxBodEbAteYlRsI6kePV7Gf735Y1RpuN8qZ2sYL6e + x2IMeSwJ82BpdEI5niXxB+iT0HxhmR+XaMI= + -----END CERTIFICATE-----