diff --git a/CHANGES.txt b/CHANGES.txt index e14b6b6b64ada0cc688a98c310364d379b767eb8..45b89e98c643837146ad8f46a27f37000bc8c705 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,21 @@ Changes ======= + +0.71.3 (2013-01-31) +------------------- + + * Add mysql_ip and mysql_port parameters in apachephp recipe [Cedric de Saint + Martin] + * Random password for postgres in standalone SR and lapp stack; accept + connections from the world. [Marco Mariani] + +0.71.2 (2013-01-29) +------------------- + + * revised postgres/lapp recipe. [Marco Mariani] + + 0.71.1 (2013-01-04) ------------------- diff --git a/component/apache/buildout.cfg b/component/apache/buildout.cfg index 6ba1f5989e78249a3de1ce30432a5d0c2c6141ed..1b26ed827ca5ad9213ebc2011b48dea3251c52d7 100644 --- a/component/apache/buildout.cfg +++ b/component/apache/buildout.cfg @@ -31,7 +31,7 @@ recipe = hexagonit.recipe.cmmi depends = ${gdbm:version} version = 2.4.3 -revision = 1 +revision = 2 url = http://mir2.ovh.net/ftp.apache.org/dist/httpd/httpd-${:version}.tar.bz2 md5sum = 87aaf7bc7e8715f0455997bb8c6791aa configure-command = cp -ar ${apr:location}/apr-${apr:version} srclib/apr/; cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util; ./configure diff --git a/component/cloud9/buildout.cfg b/component/cloud9/buildout.cfg index 252459127354781fdcf2d1dff637c61b55422c4c..98e884399fa4838f39a2d3bc562ac7ee4645e6ba 100644 --- a/component/cloud9/buildout.cfg +++ b/component/cloud9/buildout.cfg @@ -51,7 +51,7 @@ md5sum = 5dc8cc28447ed3747b8a53c768d872aa # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} recipe = plone.recipe.command stop-on-error = true -commit = 6b0112363dd0f9523430808394a162d3cc699550 +commit = 9158bbf9e886e3b96e91239249aca66e420aa8d1 repository = https://github.com/ajaxorg/cloud9.git location = ${buildout:parts-directory}/${:_buildout_section_name_} environment = export GIT_SSL_NO_VERIFY=true; export PATH=${git:location}/bin:${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${:location}; diff --git a/component/libreoffice-bin/buildout.cfg b/component/libreoffice-bin/buildout.cfg index 7b2fc1661b430adf53636f1feebc720e6822a3fb..7811b77048789d19e69684f44befd27f75489dbf 100644 --- a/component/libreoffice-bin/buildout.cfg +++ b/component/libreoffice-bin/buildout.cfg @@ -46,4 +46,4 @@ script = # helper binaries cpio = ${cpio:location}/bin/cpio -rpm2cpio = ${rpm2cpio:destination} +rpm2cpio = ${rpm2cpio:target} diff --git a/component/rpm2cpio/buildout.cfg b/component/rpm2cpio/buildout.cfg index f63c9146871e6cab385355b97f8bb57bc75a2cb7..d1e094759c133a2272d43bf1007b9eb76930a7b4 100644 --- a/component/rpm2cpio/buildout.cfg +++ b/component/rpm2cpio/buildout.cfg @@ -3,7 +3,6 @@ parts = rpm2cpio [rpm2cpio] -recipe = hexagonit.recipe.download -download-only = true +recipe = slapos.recipe.build:download url = https://raw.github.com/ruda/rpm2cpio/e196173f1f6b746463b7398e381b94a42edfa345/rpm2cpio.py md5sum = c5bb6227d99e1ff5df880f997cbed2e3 diff --git a/setup.py b/setup.py index e64961a069d0cd0fff747e8e212fb7be081fad84..d27d5ef2bed2028c8854108076517634971b77be 100755 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ from setuptools import setup, find_packages import glob import os -version = '0.71.2-dev' +version = '0.71.4-dev' name = 'slapos.cookbook' long_description = open("README.txt").read() + "\n" + \ open("CHANGES.txt").read() + "\n" diff --git a/slapos/recipe/apachephp/__init__.py b/slapos/recipe/apachephp/__init__.py index 97e939e84e7939dc326b9ff5bf996a33298e4d50..b2ccf7bff5b00d139527f62f7247e48fec39559a 100644 --- a/slapos/recipe/apachephp/__init__.py +++ b/slapos/recipe/apachephp/__init__.py @@ -98,6 +98,8 @@ class Recipe(GenericBaseRecipe): mysql_password=self.options['mysql-password'], mysql_host='%s:%s' % (self.options['mysql-host'], self.options['mysql-port']), + mysql_ip=self.options['mysql-host'], + mysql_port=self.options['mysql-port'], secret_key=secret_key, ) diff --git a/slapos/recipe/generatepassword.py b/slapos/recipe/generatepassword.py index c84259364044007127503984cd6142b4b5e62fdd..c4260516fa0032f6e070b790f108febf8590954a 100644 --- a/slapos/recipe/generatepassword.py +++ b/slapos/recipe/generatepassword.py @@ -1,3 +1,4 @@ +# vim: set et sts=2: ############################################################################## # # Copyright (c) 2012 Vifib SARL and Contributors. All Rights Reserved. @@ -24,12 +25,13 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## -import random -import os + import binascii +import os from slapos.recipe.librecipe import GenericBaseRecipe + class Recipe(GenericBaseRecipe): def __init__(self, buildout, name, options): @@ -44,7 +46,7 @@ class Recipe(GenericBaseRecipe): return GenericBaseRecipe.__init__(self, buildout, name, options) def install(self): - open_file = open(self.options['storage-path'], 'w') - open_file.write(self.options['passwd']) - open_file.close() + with open(self.options['storage-path'], 'w') as fout: + fout.write(self.options['passwd']) return [self.options['storage-path']] + diff --git a/slapos/recipe/postgres/__init__.py b/slapos/recipe/postgres/__init__.py index 2d88bc8e09e2d35c60142d4dac3ae820bf634262..231ff04c629ac5bd2efaccd7d3c5bca0046c8087 100644 --- a/slapos/recipe/postgres/__init__.py +++ b/slapos/recipe/postgres/__init__.py @@ -70,7 +70,6 @@ class Recipe(GenericBaseRecipe): """ def _options(self, options): - options['password'] = self.generatePassword() options['url'] = 'postgresql://%(superuser)s:%(password)s@[%(ipv6_random)s]:%(port)s/%(dbname)s' % options @@ -160,11 +159,13 @@ class Recipe(GenericBaseRecipe): 'host all all ::1/128 md5', ] + ipv4_netmask_bits = self.options.get('ipv4_netmask_bits', '32') for ip in ipv4: - cfg_lines.append('host all all %s/32 md5' % ip) + cfg_lines.append('host all all %s/%s md5' % (ip, ipv4_netmask_bits)) + ipv6_netmask_bits = self.options.get('ipv6_netmask_bits', '128') for ip in ipv6: - cfg_lines.append('host all all %s/128 md5' % ip) + cfg_lines.append('host all all %s/%s md5' % (ip, ipv6_netmask_bits)) cfg.write('\n'.join(cfg_lines)) diff --git a/software/lamp-template/template/phpmyadmin.inc.php.in b/software/lamp-template/template/phpmyadmin.inc.php.in index 0b2354f35848271892530fc34a88e1ffdae9c09d..57fddfd0e0b048a6b72abb1d68db81d2a70c4129 100644 --- a/software/lamp-template/template/phpmyadmin.inc.php.in +++ b/software/lamp-template/template/phpmyadmin.inc.php.in @@ -5,13 +5,11 @@ $i = 1; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'Put here mysql host template key'; $cfg['Servers'][$i]['port'] = 'Put here mysql port template key'; +$cfg['Servers'][$i]['only_db'] = 'Put here mysql database template key'; + /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; -$cfg['Servers'][$i]['user'] = ''; -$cfg['Servers'][$i]['connect_type'] = 'tcp'; -$cfg['Servers'][$i]['compress'] = false; -/* Select mysqli if your server has it */ -$cfg['Servers'][$i]['extension'] = 'mysql'; +$cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = false; /* rajk - for blobstreaming */ diff --git a/software/postgres/instance.cfg.in b/software/postgres/instance.cfg.in index 383da8765cf76bee43d4183c6f2919f275173cc5..74bc42dd7c11f53397489003334947dbcd1b4323 100644 --- a/software/postgres/instance.cfg.in +++ b/software/postgres/instance.cfg.in @@ -16,6 +16,7 @@ offline = true recipe = slapos.cookbook:mkdirectory bin = $${buildout:directory}/bin etc = $${buildout:directory}/etc +srv = $${buildout:directory}/srv services = $${directories:etc}/service promises = $${directories:etc}/promise var = $${buildout:directory}/var @@ -30,9 +31,14 @@ recipe = slapos.cookbook:postgres # Options ipv6 = $${instance-parameters:ipv6} +# listen to connections from anywhere +ipv6_netmask_bits = 0 ipv4 = $${instance-parameters:ipv4} +# listen to connections from anywhere +ipv4_netmask_bits = 0 ipv6_random = $${instance-parameters:ipv6_random} superuser = postgres +password = $${gen-passwd:passwd} port = 5432 dbname = db # pgdata_directory is created by initdb, and should not exist beforehand. @@ -41,6 +47,16 @@ bin = ${postgresql:location}/bin services = $${directories:services} +#---------------- +#-- +#-- Generates a random password and stores it in the filesystem + +[gen-passwd] +recipe = slapos.cookbook:generate.password +storage-path = $${directories:srv}/postgres_passwd +bytes = 16 + + #---------------- #-- #-- Deploy promise scripts. diff --git a/software/postgres/software.cfg b/software/postgres/software.cfg index 77d8562cb7c60a088e3ed702fb851852f0714e7d..5f0f5314fb00daff213e9c7d8d849a9f3da7e5e3 100644 --- a/software/postgres/software.cfg +++ b/software/postgres/software.cfg @@ -17,7 +17,7 @@ parts = recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg.in output = ${buildout:directory}/instance.cfg -md5sum = dfba09a7cccefc5d92d455aaed2c1835 +md5sum = 2c54a291ed61910f69a35a6db414c051 mode = 0644 @@ -25,18 +25,19 @@ mode = 0644 Jinja2 = 2.6 Werkzeug = 0.8.3 buildout-versions = 1.7 -cns.recipe.symlink = 0.2.3 hexagonit.recipe.cmmi = 1.6 inotifyx = 0.2.0 lxml = 3.1beta1 meld3 = 0.6.10 netaddr = 0.7.10 pytz = 2012j +slapos.cookbook = 0.71.2 +slapos.core = 0.34 slapos.recipe.template = 2.4.2 xml-marshaller = 0.9.7 # Required by: -# slapos.core==0.33.1 +# slapos.core==0.34 Flask = 0.9 # Required by: @@ -44,21 +45,30 @@ Flask = 0.9 hexagonit.recipe.download = 1.6 # Required by: -# slapos.core==0.33.1 +# slapos.core==0.34 netifaces = 0.8 # Required by: -# cns.recipe.symlink==0.2.3 +# slapos.core==0.34 +pyflakes = 0.6.0 + +# Required by: +# slapos.cookbook==0.71.2 +# slapos.core==0.34 # supervisor==3.0b1 # zc.buildout==1.6.0-dev-SlapOS-010 # zope.interface==4.0.3 setuptools = 0.6c12dev-r88846 # Required by: -# slapos.core==0.33.1 +# slapos.core==0.34 supervisor = 3.0b1 # Required by: -# slapos.core==0.33.1 +# slapos.core==0.34 +unittest2 = 0.5.1 + +# Required by: +# slapos.core==0.34 zope.interface = 4.0.3 diff --git a/software/slaprunner/software.cfg b/software/slaprunner/software.cfg index 552a4b04bb30e3a992e5bb7026cd9f959365c97b..e432ea11899af5a2a45dfc002b2b1dbd1c8b5d79 100644 --- a/software/slaprunner/software.cfg +++ b/software/slaprunner/software.cfg @@ -55,32 +55,32 @@ meld3 = 0.6.10 netaddr = 0.7.10 plone.recipe.command = 1.1 pycrypto = 2.6 -pytz = 2012h -slapos.cookbook = 0.70 -slapos.core = 0.33.1 +pytz = 2012j +slapos.cookbook = 0.71.1 +slapos.core = 0.34 slapos.libnetworkcache = 0.13.3 slapos.recipe.build = 0.11.5 slapos.recipe.template = 2.4.2 -slapos.toolbox = 0.32 +slapos.toolbox = 0.33 smmap = 0.8.2 xml-marshaller = 0.9.7 z3c.recipe.scripts = 1.0.1 # Required by: -# slapos.core==0.33.1 -# slapos.toolbox==0.32 +# slapos.core==0.34 +# slapos.toolbox==0.33 Flask = 0.9 # Required by: -# slapos.toolbox==0.32 +# slapos.toolbox==0.33 GitPython = 0.3.2.RC1 # Required by: -# slapos.toolbox==0.32 +# slapos.toolbox==0.33 atomize = 0.1.1 # Required by: -# slapos.toolbox==0.32 +# slapos.toolbox==0.33 feedparser = 5.1.3 # Required by: @@ -88,32 +88,40 @@ feedparser = 5.1.3 hexagonit.recipe.download = 1.6 # Required by: -# slapos.core==0.33.1 +# slapos.core==0.34 netifaces = 0.8 # Required by: -# slapos.toolbox==0.32 +# slapos.toolbox==0.33 paramiko = 1.9.0 # Required by: -# slapos.toolbox==0.32 +# slapos.toolbox==0.33 psutil = 0.6.1 +# Required by: +# slapos.core==0.34 +pyflakes = 0.5.0 + # Required by: # cns.recipe.symlink==0.2.3 -# slapos.cookbook==0.70 -# slapos.core==0.33.1 +# slapos.cookbook==0.71.1 +# slapos.core==0.34 # slapos.libnetworkcache==0.13.3 -# slapos.toolbox==0.32 +# slapos.toolbox==0.33 # supervisor==3.0b1 # zc.buildout==1.6.0-dev-SlapOS-010 -# zope.interface==4.0.2 +# zope.interface==4.0.3 setuptools = 0.6c12dev-r88846 # Required by: -# slapos.core==0.33.1 +# slapos.core==0.34 supervisor = 3.0b1 # Required by: -# slapos.core==0.33.1 -zope.interface = 4.0.2 +# slapos.core==0.34 +unittest2 = 0.5.1 + +# Required by: +# slapos.core==0.34 +zope.interface = 4.0.3 diff --git a/stack/lapp/buildout.cfg b/stack/lapp/buildout.cfg index 980e20f7bd580b4946a14b5613398f65893902db..ca60769796215a46047466b1ef73b62b9b2e86d2 100644 --- a/stack/lapp/buildout.cfg +++ b/stack/lapp/buildout.cfg @@ -87,7 +87,7 @@ mode = 0644 recipe = slapos.recipe.template url = ${:_profile_base_location_}/postgres/instance-postgres.cfg.in output = ${buildout:directory}/instance-postgres.cfg -md5sum = 6e9e587ddb52fb9a3817fda7d77e4cab +md5sum = 67c7772b80f82642f0f7d12793698374 mode = 0644 [instance-postgres-import] diff --git a/stack/lapp/postgres/instance-postgres.cfg.in b/stack/lapp/postgres/instance-postgres.cfg.in index a15e72659470f68d82cf631568661120537d3ebd..da9a8674f371c08065e95e51828b7adb2d025c50 100644 --- a/stack/lapp/postgres/instance-postgres.cfg.in +++ b/stack/lapp/postgres/instance-postgres.cfg.in @@ -173,9 +173,14 @@ crl = $${directory:ca-dir}/crl/ [postgres-instance] recipe = slapos.cookbook:postgres ipv6 = $${instance-parameters:ipv6} +# listen to connections from anywhere +ipv6_netmask_bits = 0 ipv4 = $${instance-parameters:ipv4} +# listen to connections from anywhere +ipv4_netmask_bits = 0 ipv6_random = $${instance-parameters:ipv6_random} superuser = postgres +password = $${postgres-passwd:passwd} port = 5432 dbname = db # pgdata_directory is created by initdb, and should not exist beforehand. @@ -193,6 +198,16 @@ key-file = $${stunnel:key-file} cert-file = $${stunnel:cert-file} +#---------------- +#-- +#-- Generates a random password and stores it in the filesystem + +[postgres-passwd] +recipe = slapos.cookbook:generate.password +storage-path = $${rootdirectory:srv}/postgres_passwd +bytes = 16 + + #---------------- #-- #-- Deploy slapmonitor.