diff --git a/component/ghostscript/buildout.cfg b/component/ghostscript/buildout.cfg index b44a96c41b25146cf76e887569d1c22b1d0021e2..3cc9e0d6b66c0f65baec9600f8b848fb59a59efa 100644 --- a/component/ghostscript/buildout.cfg +++ b/component/ghostscript/buildout.cfg @@ -13,7 +13,9 @@ depends = ${libtiff:version} configure-options = --disable-cups + --disable-threadsafe --with-system-libtiff + --without-libidn --without-x --with-drivers=FILES --with-fontpath=${ghostscript-fonts:location} @@ -30,8 +32,8 @@ environment = [ghostscript-9] <= ghostscript-common -url = http://downloads.ghostscript.com/public/ghostscript-9.06.tar.bz2 -md5sum = 46f9ebe40dc52755287b30704270db11 +url = http://downloads.ghostscript.com/public/ghostscript-9.07.tar.bz2 +md5sum = eea27befc1e85bef6d4768202f6b03a5 [ghostscript-fonts] recipe = hexagonit.recipe.download diff --git a/component/librsvg/buildout.cfg b/component/librsvg/buildout.cfg index 4d025711723df367b68ca9520e32971b034fdd92..269115006f411e18ca3aaa0dbe19d4512b7916b2 100644 --- a/component/librsvg/buildout.cfg +++ b/component/librsvg/buildout.cfg @@ -1,31 +1,28 @@ [buildout] parts = librsvg -extends = +extends = ../bzip2/buildout.cfg ../pkgconfig/buildout.cfg ../libxml2/buildout.cfg ../zlib/buildout.cfg ../gtk-2/buildout.cfg ../xorg/buildout.cfg + ../xz-utils/buildout.cfg [libcroco] recipe = hexagonit.recipe.cmmi -url = http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.3.tar.bz2 -md5sum = e1e93eeff4367c896f3959af34ba20eb +url = http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.8.tar.xz +md5sum = 767e73c4174f75b99695d4530fd9bb80 environment = - PATH=${pkgconfig:location}/bin:%(PATH)s + PATH=${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s PKG_CONFIG_PATH=${pkgconfig:location}/lib/pkgconfig:${libxml2:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig LDFLAGS=-Wl,-rpath=${zlib:location}/lib [librsvg] recipe = hexagonit.recipe.cmmi version = 2.36.1 -url = http://www.nexedi.org/static/tarballs/librsvg/librsvg-${:version}.tar.gz -md5sum = 699cb7124d319035346e69782baa7c36 -# The original source provided by gnome is tar.xz and it is not a supported compression -# on hexagonit.recipe.cmmi neither by slapos.recipe.build, so keep alternative source -# with tar.gz format as a temporary alternative for this. -# url = http://ftp.acc.umu.se/pub/GNOME/sources/librsvg/2.36/librsvg-2.36.1.tar.xz +url = http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.36/librsvg-2.36.4.tar.xz +md5sum = 3c94524c8ccf668e30b236f409239f54 configure-options = --disable-static --disable-gtk-theme @@ -34,7 +31,7 @@ configure-options = --disable-tools --disable-gtk-doc-html --enable-introspection=no -environment = - PATH=${gdk-pixbuf:location}/bin:${glib:location}/bin:${libxml2:location}/bin:${pkgconfig:location}/bin:${pango:location}/bin:%(PATH)s +environment = + PATH=${gdk-pixbuf:location}/bin:${glib:location}/bin:${libxml2:location}/bin:${pkgconfig:location}/bin:${pango:location}/bin:${xz-utils:location}/bin:%(PATH)s PKG_CONFIG_PATH=${cairo:location}/lib/pkgconfig:${fontconfig:location}/lib/pkgconfig:${freetype:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig:${glib:location}/lib/pkgconfig:${kbproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig:${libXrender:location}/lib/pkgconfig:${libcroco:location}/lib/pkgconfig:${libxcb:location}/lib/pkgconfig:${libxml2:location}/lib/pkgconfig:${pango:location}/lib/pkgconfig:${pixman:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath=${bzip2:location}/lib -Wl,-rpath=${zlib:location}/lib diff --git a/component/poppler/buildout.cfg b/component/poppler/buildout.cfg index c405560d7ae47250315c6684ef0efa90b9cb28d0..b11b5ed8e4c33a55173a0bc8163570ead16b0cde 100644 --- a/component/poppler/buildout.cfg +++ b/component/poppler/buildout.cfg @@ -13,8 +13,8 @@ extends = [poppler] recipe = hexagonit.recipe.cmmi -md5sum = c7038be37a7d446544e83a7df3c26196 -url = http://poppler.freedesktop.org/poppler-0.22.0.tar.gz +md5sum = 3939740201c59c470bc7198003450a20 +url = http://poppler.freedesktop.org/poppler-0.22.2.tar.gz depends = ${libtiff:version} configure-options = diff --git a/slapos/recipe/apache_frontend/__init__.py b/slapos/recipe/apache_frontend/__init__.py index d097dcb9715ae95657936e18802facbc8481d08a..b2731dc06a8b53d47f57c197519dc7099e2c6257 100644 --- a/slapos/recipe/apache_frontend/__init__.py +++ b/slapos/recipe/apache_frontend/__init__.py @@ -85,8 +85,20 @@ class Recipe(BaseSlapRecipe): domain_dict = {} for slave_instance in slave_instance_list: + # Sanitize inputs backend_url = slave_instance.get("url", None) reference = slave_instance.get("slave_reference") + + if slave_instance.haskey("enable_cache"): + enable_cache = slave_instance.get("enable_cache", "").upper() in ('1', 'TRUE') + else: + enable_cache = False + + if slave_instance.haskey("type"): + slave_type = slave_instance.get("type", "").lower() + else: + slave_type = None + # Set scheme (http? https?) # Future work may allow to choose between http and https (or both?) scheme = 'http://' @@ -120,13 +132,15 @@ class Recipe(BaseSlapRecipe): slave_dict[reference] = "%s%s/" % (scheme, domain) # Check if we want varnish+stunnel cache. - if slave_instance.get("enable_cache", "").upper() in ('1', 'TRUE'): - # XXX-Cedric : need to refactor to clean code? (to many variables) - rewrite_rule = self.configureVarnishSlave( - base_varnish_port, backend_url, reference, service_dict, domain) - base_varnish_port += 2 - else: - rewrite_rule = "%s %s" % (domain, backend_url) + #if enable_cache: + # # XXX-Cedric : need to refactor to clean code? (to many variables) + # rewrite_rule = self.configureVarnishSlave( + # base_varnish_port, backend_url, reference, service_dict, domain) + # base_varnish_port += 2 + #else: + # rewrite_rule = "%s %s" % (domain, backend_url) + # Temporary forbid activation of cache until it is properly tested + rewrite_rule = "%s %s" % (domain, backend_url) # Finally, if successful, we add the rewrite rule to our list of rules if rewrite_rule: @@ -134,7 +148,7 @@ class Recipe(BaseSlapRecipe): # rule structure. # So we will have one RewriteMap for normal websites, and one # RewriteMap for Zope Virtual Host Monster websites. - if slave_instance.get("type", "").lower() in ['zope']: + if slave_type in ['zope']: rewrite_rule_zope_list.append(rewrite_rule) # For Zope, we have another dict containing the path e.g '/erp5/... rewrite_rule_path = "%s %s" % (domain, slave_instance.get('path', '')) @@ -529,7 +543,7 @@ class Recipe(BaseSlapRecipe): self._createDirectory(mod_ssl_cache_location) # Create "custom" apache configuration files if it does not exist. - # Note : Those files won't be erased or changed when slapgrid is ran. + # Note : Those files won't be erased or changed by slapgrid. # It can be freely customized by node admin. custom_apache_configuration_directory = os.path.join( self.data_root_directory, 'apache-conf.d') @@ -537,12 +551,14 @@ class Recipe(BaseSlapRecipe): # First one is included in the end of the apache configuration file custom_apache_configuration_file_location = os.path.join( custom_apache_configuration_directory, 'apache_frontend.custom.conf') - open(custom_apache_configuration_file_location, 'a') + if not os.path.exists(custom_apache_configuration_file_location): + open(custom_apache_configuration_file_location, 'w') # Second one is included in the virtualhost of apache configuration file custom_apache_virtual_configuration_file_location = os.path.join( custom_apache_configuration_directory, 'apache_frontend.virtualhost.custom.conf') - open(custom_apache_virtual_configuration_file_location, 'a') + if not os.path.exists(custom_apache_virtual_configuration_file_location): + open(custom_apache_virtual_configuration_file_location, 'w') # Create backup of custom apache configuration backup_path = self.createBackupDirectory('custom_apache_conf_backup') diff --git a/software/apache-frontend/README.apache_frontend.txt b/software/apache-frontend/README.apache_frontend.txt index cac4c83ab04cae2c84daa39cedbb38b4c67dff7c..40046a52df8150e689ca0cd0199060654fde6989 100644 --- a/software/apache-frontend/README.apache_frontend.txt +++ b/software/apache-frontend/README.apache_frontend.txt @@ -43,6 +43,25 @@ all slave instances. Finally, the slave instance will be accessible from: https://someidentifier.moulefrite.org. + +How to have custom configuration in frontend server +=================================================== + +In your instance directory, you, as sysadmin, can directly edit two +configuration files that won't be overwritten by SlapOS to customize your +instance: + + * $PARTITION_PATH/srv/srv/apache-conf.d/apache_frontend.custom.conf + * $PARTITION_PATH/srv/srv/apache-conf.d/apache_frontend.virtualhost.custom.conf + +The first one is included in the end of the main apache configuration file. +The second one is included in the virtualhost of the main apache configuration file. + +SlapOS will jsut create those two files for you, then completely forget them. + +Note: make sure that the UNIX user of the instance has read access to those +files if you edit them. + Instance Parameters =================== diff --git a/software/maarch/development.cfg b/software/maarch/development.cfg index 565567f93a08f65013ce98f85f12c8202aedcf50..aae27ed67c2818d749ac723a68ae66b79bbf9995 100644 --- a/software/maarch/development.cfg +++ b/software/maarch/development.cfg @@ -35,7 +35,7 @@ git-executable = ${git:location}/bin/git [slapos.cookbook-repository] recipe = slapos.recipe.build:gitclone repository = http://git.erp5.org/repos/slapos.git -branch = lapp-resilient3 +branch = master git-executable = ${git:location}/bin/git [slapos.core-repository] diff --git a/software/maarch/software.cfg b/software/maarch/software.cfg index 69862a98c23186f3280cbf339a06d6ba5c2ef5a2..771b0876a65348870d7ed83454d5482f90038bfd 100644 --- a/software/maarch/software.cfg +++ b/software/maarch/software.cfg @@ -13,8 +13,31 @@ parts += instance instance-apache-php slapos-recipe-maarch-egg + slapos.cookbook-repository + check-recipe +develop = + ${:parts-directory}/slapos.cookbook-repository + + +extensions = buildout-versions + + +[slapos.cookbook-repository] +recipe = slapos.recipe.build:gitclone +repository = http://git.erp5.org/repos/slapos.git +revision = e6cce9da68214cf43aaa5419731d8d2bc59eb426 +git-executable = ${git:location}/bin/git + + +[check-recipe] +recipe = plone.recipe.command +stop-on-error = true +update-command = ${:command} +command = + grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link + #---------------- #-- diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg index de9564d23febefa975a4a507f658c49414a5f842..8594d92d18c1d0789e31c6929ab159abbe180d0c 100644 --- a/stack/erp5/buildout.cfg +++ b/stack/erp5/buildout.cfg @@ -127,6 +127,7 @@ parts = fix-products-paths # some additional utils slapos-toolbox + zodbanalyze # Local development slapos.cookbook-repository @@ -507,6 +508,16 @@ scripts = extra-paths = ${erp5:location} +[zodbanalyze] +recipe = zc.recipe.egg +python = python2.6 +eggs = + ZODB3 + erp5.util +entry-points = + zodbanalyze=erp5.util.zodbanalyze:main +scripts = zodbanalyze + [cloudooo-repository] branch = master revision = 6629837c96ae58e96cac019044ce95d19cb7a659 @@ -619,7 +630,7 @@ coverage = 3.6 csp-eventlet = 0.7.0 elementtree = 1.2.7-20070827-preview erp5.recipe.cmmiforcei686 = 0.1.3 -erp5.util = 0.4.31 +erp5.util = 0.4.33 erp5diff = 0.8.1.5 eventlet = 0.12.1 feedparser = 5.1.3 diff --git a/stack/lapp/buildout.cfg b/stack/lapp/buildout.cfg index 719bbdda1ea15ccf25cfaf8c3c033c11b029b238..4232978b4af32bf0c091565c80f4ca629ec012e8 100644 --- a/stack/lapp/buildout.cfg +++ b/stack/lapp/buildout.cfg @@ -318,8 +318,10 @@ cp.recipe.cmd = 0.4 gitdb = 0.5.4 hexagonit.recipe.cmmi = 1.6 meld3 = 0.6.10 +plone.recipe.command = 1.1 pycrypto = 2.6 rdiff-backup = 1.0.5 +slapos.recipe.build = 0.11.6 slapos.recipe.download = 1.0.dev-r4053 slapos.recipe.template = 2.4.2 slapos.toolbox = 0.33.1 @@ -343,17 +345,17 @@ atomize = 0.1.1 feedparser = 5.1.3 # Required by: -# slapos.cookbook==0.74.0 +# slapos.cookbook==0.74.1-dev inotifyx = 0.2.0 # Required by: -# slapos.cookbook==0.74.0 +# slapos.cookbook==0.74.1-dev # slapos.core==0.35.1 # xml-marshaller==0.9.7 lxml = 3.1.0 # Required by: -# slapos.cookbook==0.74.0 +# slapos.cookbook==0.74.1-dev netaddr = 0.7.10 # Required by: @@ -377,11 +379,11 @@ psycopg2 = 2.4.6 pyflakes = 0.6.1 # Required by: -# slapos.cookbook==0.74.0 -pytz = 2012j +# slapos.cookbook==0.74.1-dev +pytz = 2013b # Required by: -# slapos.cookbook==0.74.0 +# slapos.cookbook==0.74.1-dev # slapos.core==0.35.1 # slapos.recipe.maarch==0.4 # slapos.toolbox==0.33.1 @@ -391,11 +393,7 @@ pytz = 2012j setuptools = 0.6c12dev-r88846 # Required by: -# slapos.recipe.maarch==0.4 -slapos.cookbook = 0.74.0 - -# Required by: -# slapos.cookbook==0.74.0 +# slapos.cookbook==0.74.1-dev # slapos.toolbox==0.33.1 slapos.core = 0.35.1 @@ -408,7 +406,7 @@ supervisor = 3.0b1 unittest2 = 0.5.1 # Required by: -# slapos.cookbook==0.74.0 +# slapos.cookbook==0.74.1-dev # slapos.toolbox==0.33.1 xml-marshaller = 0.9.7