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/apache/buildout.cfg b/component/apache/buildout.cfg
index 90fc4e82c9cce8bdc0408ab29c8c8f323e571a2d..828929f9b86277540c7928dda21ac5246d0a4269 100644
--- a/component/apache/buildout.cfg
+++ b/component/apache/buildout.cfg
@@ -90,28 +90,20 @@ environment =
   CPPFLAGS =-I${libuuid:location}/include -I${openssl:location}/include
   LDFLAGS =-Wl,-rpath=${zlib:location}/lib -Wl,-rpath=${openssl:location}/lib -L${libuuid:location}/lib -Wl,-rpath=${libuuid:location}/lib -Wl,-rpath=${libexpat:location}/lib -Wl,-rpath=${pcre:location}/lib -Wl,-rpath=${sqlite3:location}/lib -Wl,-rpath=${gdbm:location}/lib
 
-[mod_antiloris-apache-2.4.patch]
-# http://www.apachelounge.com/viewtopic.php?p=19139
-# http://www.apachelounge.com/viewtopic.php?p=20551
-recipe = hexagonit.recipe.download
-url =${:_profile_base_location_}/${:filename}
-filename = mod_antiloris-apache-2.4.patch
-download-only = true
-md5sum = 4f074f035d3b37f3f3e71cd9616440f3
-
 [apache-antiloris]
 # Note: Shall react on each build of apache and reinstall itself
 recipe = slapos.recipe.cmmi
 url = http://downloads.sourceforge.net/project/mod-antiloris/mod_antiloris-0.4.tar.bz2
 md5sum = 66862bf10e9be3a023e475604a28a0b4
 patch-options = -p0
+# http://www.apachelounge.com/viewtopic.php?p=19139
+# http://www.apachelounge.com/viewtopic.php?p=20551
 patches =
-  ${mod_antiloris-apache-2.4.patch:location}/${mod_antiloris-apache-2.4.patch:filename}
+  ${:_profile_base_location_}/mod_antiloris-apache-2.4.patch#4f074f035d3b37f3f3e71cd9616440f3
 depends =
   ${apache:version}
   ${apache:revision}
   ${gdbm:version}
-  ${mod_antiloris-apache-2.4.patch:md5sum}
 configure-command = ${apache:location}/bin/apxs
 configure-options = -c mod_antiloris.c
 make-binary = ${:configure-command}
diff --git a/component/bison/drop.gets.patch b/component/bison/bison-drop.gets.patch
similarity index 100%
rename from component/bison/drop.gets.patch
rename to component/bison/bison-drop.gets.patch
diff --git a/component/bison/buildout.cfg b/component/bison/buildout.cfg
index 9b42b4c312472a0025c3ce5a66512bec4d050584..1fe3c80f310448029cf66b4b935e2bbe5aea00ba 100644
--- a/component/bison/buildout.cfg
+++ b/component/bison/buildout.cfg
@@ -4,18 +4,10 @@ extends =
 parts =
   bison
 
-[bison-drop.gets.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = ac06cbaa298ac686d0b0c04bc03e6ad8
-download-only = true
-filename = drop.gets.patch
-
 [bison]
-virtual-depends = ${bison-drop.gets.patch:md5sum}
 patch-options = -p1
 patches =
-  ${bison-drop.gets.patch:location}/${bison-drop.gets.patch:filename}
+  ${:_profile_base_location_}/bison-drop.gets.patch#ac06cbaa298ac686d0b0c04bc03e6ad8
 
 recipe = slapos.recipe.cmmi
 url = http://ftp.gnu.org/gnu/bison/bison-2.5.tar.bz2
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/bzip2/buildout.cfg b/component/bzip2/buildout.cfg
index 00a34282adffee1c83e7dd2efad9e86cd5e645e6..7633a9efa58213f05c844c31e983bf415506731c 100644
--- a/component/bzip2/buildout.cfg
+++ b/component/bzip2/buildout.cfg
@@ -2,13 +2,6 @@
 parts =
   bzip2
 
-[bzip2-hooks-download]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 066c8355b7d726f30176ea5b6a35e1a2
-download-only = true
-filename = bzip2-hooks.py
-
 [bzip2]
 recipe = slapos.recipe.cmmi
 url = http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
@@ -17,4 +10,4 @@ configure-command = true
 make-options =
   PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
   CFLAGS="-fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64"
-post-make-hook = ${bzip2-hooks-download:location}/${bzip2-hooks-download:filename}:post_make_hook
+post-make-hook =  ${:_profile_base_location_}/bzip2-hooks.py#066c8355b7d726f30176ea5b6a35e1a2:post_make_hook
diff --git a/component/ca-certificates/buildout.cfg b/component/ca-certificates/buildout.cfg
index 337fda063c40f26f25ff57f8508ac5a34ff77e7b..cdf0100f1d2a06ea935e527207f9c9ee3e2a98a1 100644
--- a/component/ca-certificates/buildout.cfg
+++ b/component/ca-certificates/buildout.cfg
@@ -8,14 +8,6 @@ extends =
 parts =
   ca-certificates
 
-
-[ca-certificates-sbin-dir.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 0b4e7d82ce768823c01954ee41ef177b
-filename = ${:_buildout_section_name_}
-download-only = true
-
 [ca-certificates]
 recipe = slapos.recipe.cmmi
 version = 20130906
@@ -23,7 +15,7 @@ url = ftp://ftp.free.fr/mirrors/ftp.debian.org/pool/main/c/ca-certificates/ca-ce
 patch-binary = ${patch:location}/bin/patch
 md5sum = 67d42b6be21c616a8b7d3d85d95ae912
 patches =
-  ${ca-certificates-sbin-dir.patch:location}/${ca-certificates-sbin-dir.patch:filename}
+  ${:_profile_base_location_}/ca-certificates-sbin-dir.patch#0b4e7d82ce768823c01954ee41ef177b
 patch-options = -p0
 configure-command = true
 make-targets = install DESTDIR=${buildout:parts-directory}/${:_buildout_section_name_} CERTSDIR=certs SBINDIR=sbin
diff --git a/component/cpio/buildout.cfg b/component/cpio/buildout.cfg
index 0a5adc57d5431d3d535682c66625c36c4268eea2..3ac2c4db59cc1f841a7065ab56d6c09b884a9698 100644
--- a/component/cpio/buildout.cfg
+++ b/component/cpio/buildout.cfg
@@ -2,19 +2,10 @@
 [buildout]
 parts = cpio
 
-[cpio-drop.gets.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 6c79cb9caf407063543efff93647c450
-download-only = true
-filename = drop.gets.patch
-
 [cpio]
-virtual-depends =
-  ${cpio-drop.gets.patch:md5sum}
 patch-options = -p1
 patches =
-  ${cpio-drop.gets.patch:location}/${cpio-drop.gets.patch:filename}
+  ${:_profile_base_location_}/cpio-drop.gets.patch#6c79cb9caf407063543efff93647c450
 recipe = slapos.recipe.cmmi
 url = http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.bz2
 md5sum = 20fc912915c629e809f80b96b2e75d7d
diff --git a/component/cpio/drop.gets.patch b/component/cpio/cpio-drop.gets.patch
similarity index 100%
rename from component/cpio/drop.gets.patch
rename to component/cpio/cpio-drop.gets.patch
diff --git a/component/dcron/buildout.cfg b/component/dcron/buildout.cfg
index cbb145f83a6c8a3da0ab1b26010f385afef09491..8a540f4714e13fcf551c80ae0b7cb7687fce4c06 100644
--- a/component/dcron/buildout.cfg
+++ b/component/dcron/buildout.cfg
@@ -1,34 +1,20 @@
 [buildout]
-extends = 
+extends =
   ../coreutils/buildout.cfg
 
 parts = dcron-output
 
-[dcron-hooks-download]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 860e914dff4108b47565965fe5ebc7b5
-download-only = true
-filename = dcron-hooks.py
-
-[dcron-patch-nonroot]
-recipe = hexagonit.recipe.download
-md5sum = d5408ab682b65cc1eda40d588fcd7db8
-url = ${:_profile_base_location_}/${:filename}
-filename = dcron-4.4.noroot.no.globals.patch
-download-only = true
-
 [dcron]
 recipe = slapos.recipe.cmmi
 url = http://www.jimpryor.net/linux/releases/dcron-4.4.tar.gz
 md5sum = 02d848ba043a9df5bf2102a9f4bc04bd
 configure-command = true
 patches =
-  ${dcron-patch-nonroot:location}/${dcron-patch-nonroot:filename}
+  ${:_profile_base_location_}/dcron-4.4.noroot.no.globals.patch#d5408ab682b65cc1eda40d588fcd7db8
 patch-options = -p1
 make-options =
   PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
-post-make-hook = ${dcron-hooks-download:location}/${dcron-hooks-download:filename}:post_make_hook
+post-make-hook = ${:_profile_base_location_}/dcron-hooks.py#860e914dff4108b47565965fe5ebc7b5:post_make_hook
 
 [dcron-output]
 # Shared binary location to ease migration
diff --git a/component/egg-patch/ZODB3-3.10.5.patch b/component/egg-patch/ZODB3-3.10.5.patch
new file mode 100644
index 0000000000000000000000000000000000000000..fe3f96318319be5fd6ff572daf99f3603b34fbaf
--- /dev/null
+++ b/component/egg-patch/ZODB3-3.10.5.patch
@@ -0,0 +1,51 @@
+# https://mail.zope.org/pipermail/zodb-dev/2014-February/015182.html
+diff --git a/src/ZODB/FileStorage/FileStorage.py b/src/ZODB/FileStorage/FileStorage.py
+index d45cbbf..d662bf4 100644
+--- a/src/ZODB/FileStorage/FileStorage.py
++++ b/src/ZODB/FileStorage/FileStorage.py
+@@ -683,6 +683,7 @@ def tpc_vote(self, transaction):
+                 # Hm, an error occurred writing out the data. Maybe the
+                 # disk is full. We don't want any turd at the end.
+                 self._file.truncate(self._pos)
++                self._files.flush()
+                 raise
+             self._nextpos = self._pos + (tl + 8)
+ 
+@@ -737,6 +738,7 @@ def _finish_finish(self, tid):
+     def _abort(self):
+         if self._nextpos:
+             self._file.truncate(self._pos)
++            self._files.flush()
+             self._nextpos=0
+             self._blob_tpc_abort()
+ 
+@@ -1996,6 +1998,15 @@ def __init__(self, file_name):
+         self._out = []
+         self._cond = threading.Condition()
+ 
++    def flush(self):
++        """Empty read buffers.
++
++        This is required if they may contain data of rolled back transactions.
++        """
++        with self.write_lock():
++            for f in self._files:
++                f.flush()
++
+     @contextlib.contextmanager
+     def write_lock(self):
+         with self._cond:
+
+# https://github.com/zopefoundation/ZODB/pull/15/files
+diff -ur a/src/ZODB/FileStorage/FileStorage.py b/src/ZODB/FileStorage/FileStorage.py
+--- a/src/ZODB/FileStorage/FileStorage.py
++++ b/src/ZODB/FileStorage/FileStorage.py
+@@ -430,7 +430,7 @@
+                 if h.tid == serial:
+                     break
+                 pos = h.prev
+-                if not pos:
++                if h.tid < serial or not pos:
+                     raise POSKeyError(oid)
+             if h.plen:
+                 return self._file.read(h.plen)
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/gzip/drop.gets.patch b/component/gzip/drop.gets.patch
deleted file mode 100644
index 128a0e48ac3bb4dcae1ba5d4273083467761be1e..0000000000000000000000000000000000000000
--- a/component/gzip/drop.gets.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur gzip-1.4.orig/lib/stdio.in.h gzip-1.4/lib/stdio.in.h
---- gzip-1.4.orig/lib/stdio.in.h	2010-01-20 14:20:36.000000000 +0100
-+++ gzip-1.4/lib/stdio.in.h	2012-07-23 16:20:24.299373437 +0200
-@@ -125,7 +125,9 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
-+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/component/imagemagick/buildout.cfg b/component/imagemagick/buildout.cfg
index 9a4750dba193b268b1d5c192310d74c3f2b10676..b951793b3892d94afe81bf0f2e55ca2c7f6184ea 100644
--- a/component/imagemagick/buildout.cfg
+++ b/component/imagemagick/buildout.cfg
@@ -22,14 +22,6 @@ extends =
   ../xz-utils/buildout.cfg
   ../zlib/buildout.cfg
 
-[imagemagick-6.6.6-1-no-gsx-gsc-probe.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-path = ${:filename}
-md5sum = 3f28ecd9f6722cf2c3238ce6ec3d7a68
-download-only = true
-filename = imagemagick-6.6.6-1-no-gsx-gsc-probe.patch
-
 [imagemagick]
 recipe = slapos.recipe.cmmi
 version = 6.8.8-2
@@ -68,7 +60,7 @@ configure-options =
   --with-frozenpaths
 patch-options = -p1
 patches =
-  ${imagemagick-6.6.6-1-no-gsx-gsc-probe.patch:location}/${imagemagick-6.6.6-1-no-gsx-gsc-probe.patch:filename}
+  ${:_profile_base_location_}/imagemagick-6.6.6-1-no-gsx-gsc-probe.patch#3f28ecd9f6722cf2c3238ce6ec3d7a68
 environment =
   PATH=${freetype:location}/bin:${ghostscript:location}/bin:${librsvg:location}/bin:${libxml2:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
   PKG_CONFIG_PATH=${:pkg_config_depends}
diff --git a/component/inkscape/buildout.cfg b/component/inkscape/buildout.cfg
index 3c04a73c25c3beb044bd0acf18b85f606d8666a2..a6b609cd83b84c191e15f567c3df1d4c89e9be10 100644
--- a/component/inkscape/buildout.cfg
+++ b/component/inkscape/buildout.cfg
@@ -32,13 +32,6 @@ environment =
   PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${atk:location}/lib/pkgconfig:${libsigc:location}/lib/pkgconfig:${glibmm:location}/lib/pkgconfig:
   LDFLAGS=-L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib
 
-[inkscape.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 1bdb1154e98c08cb676445b625d7cec0
-download-only = true
-filename = inkscape-0.48.4.patch
-
 [inkscape]
 recipe = slapos.recipe.cmmi
 url = http://sourceforge.net/projects/inkscape/files/inkscape/0.48.4/inkscape-0.48.4.tar.bz2
@@ -48,7 +41,7 @@ depends =
 pkg_config_depends = ${gtkmm:location}/lib/pkgconfig:${gtkmm:pkg_config_depends}:${gsl:location}/lib/pkgconfig:${popt:location}/lib/pkgconfig:${garbage-collector:location}/lib/pkgconfig:${libxslt:location}/lib/pkgconfig
 patch-options = -p0
 patches =
-  ${inkscape.patch:location}/${inkscape.patch:filename}
+  ${:_profile_base_location_}/inkscape-0.48.4.patch#1bdb1154e98c08cb676445b625d7cec0
 configure-options =
   --disable-lcms
   --without-gnome-vfs
diff --git a/component/jbigkit/buildout.cfg b/component/jbigkit/buildout.cfg
index f5985e08b59865b7872a206a7040ef439a825f9b..86746fb3b881b0d1b5a2b8745e377186a185fc32 100644
--- a/component/jbigkit/buildout.cfg
+++ b/component/jbigkit/buildout.cfg
@@ -2,30 +2,16 @@
 parts =
   jbigkit
 
-[jbigkit-hooks]
-recipe = hexagonit.recipe.download
-download-only = true
-url = ${:_profile_base_location_}/${:filename}
-md5sum = f1edb4ddd212d2d100d7ea8b2e42d21f
-filename = jbigkit-hooks.py
-
-[jbigkit-build-patch]
-recipe = hexagonit.recipe.download
-# Patched thanks to Gentoo developers:
-# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/jbigkit/files/jbigkit-2.0-build.patch?revision=1.1
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-filename = jbigkit-2.0-build.patch
-md5sum = e974958e9331735c07478e9c2dde8795
-
 [jbigkit]
 recipe = slapos.recipe.cmmi
 url = http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-2.0.tar.gz
 md5sum = 3dd87f605abb1a97a22dc79d8b3e8f6c
 patch-options =
   -p1
+# Patched thanks to Gentoo developers:
+# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/jbigkit/files/jbigkit-2.0-build.patch?revision=1.1
 patches =
-  ${jbigkit-build-patch:location}/${jbigkit-build-patch:filename}
+  ${:_profile_base_location_}/jbigkit-2.0-build.patch#e974958e9331735c07478e9c2dde8795
 configure-command = true
 make-targets = lib pbm
-post-make-hook = ${jbigkit-hooks:location}/${jbigkit-hooks:filename}:post_make_hook
+post-make-hook = ${:_profile_base_location_}/jbigkit-hooks.py#f1edb4ddd212d2d100d7ea8b2e42d21f:post_make_hook
diff --git a/component/leptonica/buildout.cfg b/component/leptonica/buildout.cfg
index d73e634e4c98b6503cb0c392c059dabb0d179afb..7562b9c1f95ad69528fc1283a2224ae1b57247c0 100644
--- a/component/leptonica/buildout.cfg
+++ b/component/leptonica/buildout.cfg
@@ -21,15 +21,8 @@ configure-command =
   ./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static
 patch-options = -p1
 patches =
-  ${leptonica-1.69-zlib-include.patch:location}/${leptonica-1.69-zlib-include.patch:filename}
+  ${:_profile_base_location_}/leptonica-1.69-zlib-include.patch#cff3dc942075190939b407c38e0d3201
 environment =
   ACLOCAL_ARGS=-I${libtool:location}/share/aclocal
   CPPFLAGS=-I${zlib:location}/include -I${libjpeg:location}/include -I${libpng:location}/include -I${libtiff:location}/include -I${webp:location}/include -I${giflib:location}/include
   LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${libjpeg:location}/lib -Wl,-rpath=${libjpeg:location}/lib -L${libpng:location}/lib -Wl,-rpath=${libpng:location}/lib -L${libtiff:location}/lib -Wl,-rpath=${libtiff:location}/lib -L${webp:location}/lib -Wl,-rpath=${webp:location}/lib -L${giflib:location}/lib -Wl,-rpath=${giflib:location}/lib
-
-[leptonica-1.69-zlib-include.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = cff3dc942075190939b407c38e0d3201
-download-only = true
-filename = ${:_buildout_section_name_}
diff --git a/component/logrotate/buildout.cfg b/component/logrotate/buildout.cfg
index c90499e016d4fb0d53c0eb51458225d8d37fb9cd..89bea2e887798f55722be1e8c7eaad0328163c50 100644
--- a/component/logrotate/buildout.cfg
+++ b/component/logrotate/buildout.cfg
@@ -3,20 +3,13 @@ extends =
   ../popt/buildout.cfg
 parts = logrotate
 
-[logrotate-3.7.9-O_CLOEXEC.optional.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-md5sum = 6beac248c978b767d4bccc1b7eebe6bd
-filename = ${:_buildout_section_name_}
-
 [logrotate]
 recipe = slapos.recipe.cmmi
 url = https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.7.9.tar.gz
 md5sum = eeba9dbca62a9210236f4b83195e4ea5
 patch-options = -p1
 patches =
-  ${logrotate-3.7.9-O_CLOEXEC.optional.patch:location}/${logrotate-3.7.9-O_CLOEXEC.optional.patch:filename}
+  ${:_profile_base_location_}/logrotate-3.7.9-O_CLOEXEC.optional.patch#6beac248c978b767d4bccc1b7eebe6bd
 configure-command = true
 make-options = PREFIX=${buildout:parts-directory}/${:_buildout_section_name_} 
 environment =
diff --git a/component/m4/drop.gets.patch b/component/m4/drop.gets.patch
deleted file mode 100644
index 7cbc545a60bcdf477254b5a09f6a7b2b7fb7d824..0000000000000000000000000000000000000000
--- a/component/m4/drop.gets.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur m4-1.4.16.orig/lib/stdio.in.h m4-1.4.16/lib/stdio.in.h
---- m4-1.4.16.orig/lib/stdio.in.h	2011-03-01 17:39:29.000000000 +0100
-+++ m4-1.4.16/lib/stdio.in.h	2012-07-23 09:28:57.945703705 +0200
-@@ -162,7 +162,9 @@
-    so any use of gets warrants an unconditional warning.  Assume it is
-    always declared, since it is required by C89.  */
- #undef gets
-+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
- _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-+#endif
- 
- #if @GNULIB_FOPEN@
- # if @REPLACE_FOPEN@
diff --git a/component/mariadb/buildout.cfg b/component/mariadb/buildout.cfg
index 2a599dde40754cf4c533ce4293e53a4fd77dce66..0b80094cdc5d420ad473fb6b5a729ad2b17a0c8e 100644
--- a/component/mariadb/buildout.cfg
+++ b/component/mariadb/buildout.cfg
@@ -17,24 +17,17 @@ extends =
 parts =
   mariadb
 
-[mariadb-10.0.8-no_test-patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = a176d491cf45fccd53ee397c70393bc4
-filename = mariadb_10.0.8_create_system_tables__no_test.patch
-download-only = true
-
 [mariadb]
 recipe = slapos.recipe.cmmi
 version = 10.0.8
-revision = 1
+revision = 2
 url = http://downloads.askmonty.org/f/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz/from/http://ftp.osuosl.org/pub/mariadb
 md5sum = 2b925d0beae8101f1f3f98102da91bf7
 # compile directory is required to build mysql plugins.
 keep-compile-dir = true
 patch-options = -p0
 patches =
-  ${mariadb-10.0.8-no_test-patch:location}/${mariadb-10.0.8-no_test-patch:filename}
+  ${:_profile_base_location_}/mariadb_10.0.8_create_system_tables__no_test.patch#a176d491cf45fccd53ee397c70393bc4
 configure-command = ${cmake:location}/bin/cmake
 configure-options =
   -DCMAKE_INSTALL_PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
diff --git a/component/mariadb/mroonga-2.01-mariadb-5.5.23.patch b/component/mariadb/mroonga-2.01-mariadb-5.5.23.patch
deleted file mode 100644
index 0e0d9f273377ed5017fed224db20ee9421d29391..0000000000000000000000000000000000000000
--- a/component/mariadb/mroonga-2.01-mariadb-5.5.23.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- ha_mroonga.cc.orig	2012-04-11 17:59:24.171323133 +0200
-+++ ha_mroonga.cc	2012-04-11 18:01:50.431325458 +0200
-@@ -10319,10 +10319,11 @@
- bool ha_mroonga::wrapper_auto_repair() const
- {
-   bool res;
-+  int ha_err = 0;
-   MRN_DBUG_ENTER_METHOD();
-   MRN_SET_WRAP_SHARE_KEY(share, table->s);
-   MRN_SET_WRAP_TABLE_KEY(this, table);
--  res = wrap_handler->auto_repair();
-+  res = wrap_handler->auto_repair(ha_err);
-   MRN_SET_BASE_SHARE_KEY(share, table->s);
-   MRN_SET_BASE_TABLE_KEY(this, table);
-   DBUG_RETURN(res);
-@@ -10330,9 +10331,10 @@
- 
- bool ha_mroonga::storage_auto_repair() const
- {
-+  int ha_err = 0;
-   MRN_DBUG_ENTER_METHOD();
-   // XXX: success is valid variable name?
--  bool success = handler::auto_repair();
-+  bool success = handler::auto_repair(ha_err);
-   DBUG_RETURN(success);
- }
- 
diff --git a/component/mariadb/mysql_create_system_tables__no_test.patch b/component/mariadb/mysql_create_system_tables__no_test.patch
deleted file mode 100644
index 31f5d0ab12a9c4715a8998e2107a3c17cce5f14f..0000000000000000000000000000000000000000
--- a/component/mariadb/mysql_create_system_tables__no_test.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-# 33_scripts__mysql_create_system_tables__no_test.dpatch by  <ch@debian.org>
-
-A user with no password prevents a normal user from login under certain
-circumstances as it is checked first.
-See http://bugs.debian.org/301741
-and http://bugs.mysql.com/bug.php?id=6901
-
---- scripts/mysql_system_tables_data.sql	2008-12-04 22:59:44.000000000 +0100
-+++ scripts/mysql_system_tables_data.sql	2008-12-04 23:00:07.000000000 +0100
-@@ -11,8 +11,6 @@
- -- Fill "db" table with default grants for anyone to
- -- access database 'test' and 'test_%' if "db" table didn't exist
- CREATE TEMPORARY TABLE tmp_db LIKE db;
--INSERT INTO tmp_db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
--INSERT INTO tmp_db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');
- INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0;
- DROP TABLE tmp_db;
- 
-@@ -24,7 +22,5 @@
- INSERT INTO tmp_user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
- REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','' FROM dual WHERE LOWER( @current_hostname) != 'localhost';
- REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
--INSERT INTO tmp_user (host,user) VALUES ('localhost','');
--INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE LOWER(@current_hostname ) != 'localhost';
- INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
- DROP TABLE tmp_user;
diff --git a/component/mariadb/plugin_handler_socket_libhsclient_fatal.patch b/component/mariadb/plugin_handler_socket_libhsclient_fatal.patch
deleted file mode 100644
index f49be3d9050e847cba1002cdee653b53a7f67d93..0000000000000000000000000000000000000000
--- a/component/mariadb/plugin_handler_socket_libhsclient_fatal.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-# inspired by handlersocket-1.0.6-80-g88bf1e0-1.1-nmu.diff by gregoa@debian.org
-
-Description: add missing include to avoid FTBFS with gcc 4.7
-bug-debian: http://bugs.debian.org/667198
-More informations: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667198
-Author: gregor herrmann <gregoa@debian.org>
-
---- plugin/handler_socket/libhsclient/fatal.cpp
-+++ plugin/handler_socket/libhsclient/fatal.cpp
-@@ -9,6 +9,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <syslog.h>
-+#include <unistd.h>
-
- #include "fatal.hpp"
diff --git a/component/openssl/buildout.cfg b/component/openssl/buildout.cfg
index 7313f3fdba966e9cdfa458237809820ede7dda43..6c3b53acef95b422626e8074dd5a549183424a01 100644
--- a/component/openssl/buildout.cfg
+++ b/component/openssl/buildout.cfg
@@ -13,21 +13,6 @@ extends =
 parts =
   openssl-output
 
-[openssl-nodoc.patch]
-# Disable doc generation part in Makefile 
-recipe = hexagonit.recipe.download
-md5sum = b4887a7b4e18402447bc6227d2493b92
-url = ${:_profile_base_location_}/${:filename}
-filename = ${:_buildout_section_name_}
-download-only = true
-
-[openssl-exlibs.patch]
-recipe = hexagonit.recipe.download
-md5sum = dfb8979460d6d75f2d23d1ea83bbb40a
-url = ${:_profile_base_location_}/${:filename}
-filename = ${:_buildout_section_name_}
-download-only = true
-
 [openssl]
 recipe = slapos.recipe.cmmi
 url = https://www.openssl.org/source/openssl-1.0.1f.tar.gz
@@ -36,8 +21,8 @@ depends =
   ${ca-certificates:version}
 patch-binary = ${patch:location}/bin/patch
 patches =
-  ${openssl-nodoc.patch:location}/${openssl-nodoc.patch:filename}
-  ${openssl-exlibs.patch:location}/${openssl-exlibs.patch:filename}
+  ${:_profile_base_location_}/openssl-nodoc.patch#b4887a7b4e18402447bc6227d2493b92
+  ${:_profile_base_location_}/openssl-exlibs.patch#dfb8979460d6d75f2d23d1ea83bbb40a
 patch-options = -p0
 configure-command = ./config
 configure-options =
diff --git a/component/perl-DBD-common/DBD-mysql-4.019.rpathsupport.patch b/component/perl-DBD-MySQL/DBD-mysql-4.019.rpathsupport.patch
similarity index 100%
rename from component/perl-DBD-common/DBD-mysql-4.019.rpathsupport.patch
rename to component/perl-DBD-MySQL/DBD-mysql-4.019.rpathsupport.patch
diff --git a/component/perl-DBD-MySQL/buildout.cfg b/component/perl-DBD-MySQL/buildout.cfg
index dc2390599429fee027c0c3b934a3c50c0a894dd5..64a2a34e45ffb8096dfcfc008a0aeca3f2bbc640 100644
--- a/component/perl-DBD-MySQL/buildout.cfg
+++ b/component/perl-DBD-MySQL/buildout.cfg
@@ -1,7 +1,6 @@
 [buildout]
 extends =
   ../mysql-tritonn-5.0/buildout.cfg
-  ../perl-DBD-common/buildout.cfg
 
 parts =
   perl-DBD-MySQL
@@ -15,7 +14,7 @@ depends =
 url = http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.019.tar.gz
 md5sum = 566d98ab8ffac9626a31f6f6d455558e
 patches =
-  ${perl-DBD-MySQL-patch:location}/${perl-DBD-MySQL-patch:filename}
+  ${:_profile_base_location_}/DBD-mysql-4.019.rpathsupport.patch#e12e9233f20b0370cfcf5228ea767fbc
 patch-options = -p1
 configure-command =
   ${perl:location}/bin/perl Makefile.PL --mysql_config=${mysql-tritonn-5.0:location}/bin/mysql_config
diff --git a/component/perl-DBD-common/buildout.cfg b/component/perl-DBD-common/buildout.cfg
deleted file mode 100644
index 4f2229756543b9463705f16fded5c5e6dafb1c4f..0000000000000000000000000000000000000000
--- a/component/perl-DBD-common/buildout.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-# Please use perl-DBD-MySQL or perl-DBD-mariadb
-[buildout]
-extends =
-  ../perl/buildout.cfg
-  ../perl-DBI/buildout.cfg
-  ../zlib/buildout.cfg
-  ../openssl/buildout.cfg
-
-[perl-DBD-MySQL-patch]
-recipe = hexagonit.recipe.download
-md5sum = e12e9233f20b0370cfcf5228ea767fbc
-url = ${:_profile_base_location_}/${:filename}
-filename = DBD-mysql-4.019.rpathsupport.patch
-download-only = true
-
-
diff --git a/component/perl-DBD-mariadb/DBD-mysql-4.019.rpathsupport.patch b/component/perl-DBD-mariadb/DBD-mysql-4.019.rpathsupport.patch
new file mode 100644
index 0000000000000000000000000000000000000000..10370c7d52c682b0b9322223ac1e7ff61472541a
--- /dev/null
+++ b/component/perl-DBD-mariadb/DBD-mysql-4.019.rpathsupport.patch
@@ -0,0 +1,19 @@
+--- DBD-mysql-4.019.back/Makefile.PL    2011-05-09 03:12:07.000000000 +0200
++++ DBD-mysql-4.019/Makefile.PL 2011-06-22 11:44:06.478371893 +0200
+@@ -358,7 +358,14 @@  
+                      'Data::Dumper' => 0 };
+ }
+
+-ExtUtils::MakeMaker::WriteMakefile(%o);
++
++my %config;
++if (defined($ENV{'OTHERLDFLAGS'})) {
++    $config{dynamic_lib} = { OTHERLDFLAGS => " $ENV{'OTHERLDFLAGS'} " };
++}
++
++
++ExtUtils::MakeMaker::WriteMakefile(%o, %config);
+ exit 0;
+
+
+
diff --git a/component/perl-DBD-mariadb/buildout.cfg b/component/perl-DBD-mariadb/buildout.cfg
index 0a7a6dd026bce53c150d361a94e97210ae666347..093d3e24293ce9e7f55a56b66d441fe66865f4a9 100644
--- a/component/perl-DBD-mariadb/buildout.cfg
+++ b/component/perl-DBD-mariadb/buildout.cfg
@@ -1,7 +1,6 @@
 [buildout]
 extends =
   ../mariadb/buildout.cfg
-  ../perl-DBD-common/buildout.cfg
 
 parts =
   perl-DBD-mariadb
@@ -18,7 +17,7 @@ depends =
 url = http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.019.tar.gz
 md5sum = 566d98ab8ffac9626a31f6f6d455558e
 patches =
-  ${perl-DBD-MySQL-patch:location}/${perl-DBD-MySQL-patch:filename}
+  ${:_profile_base_location_}/DBD-mysql-4.019.rpathsupport.patch#e12e9233f20b0370cfcf5228ea767fbc
 patch-options = -p1
 configure-command =
   ${perl:location}/bin/perl Makefile.PL --mysql_config=${mariadb:location}/bin/mysql_config
diff --git a/component/perl-Image-Magick/buildout.cfg b/component/perl-Image-Magick/buildout.cfg
index ae5b81d88da145cad629bd60510b2003426c1cd0..dd4338b9b857667b8cbb1ba54b2e4d4458412c45 100644
--- a/component/perl-Image-Magick/buildout.cfg
+++ b/component/perl-Image-Magick/buildout.cfg
@@ -4,13 +4,6 @@ extends =
   ../imagemagick/buildout.cfg
 parts = perl-Image-Magick
 
-[perl-Image-Magick_MakefilePL.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 31043e2b79e725d3b251aa09b4549046
-download-only = true
-filename = ${:_buildout_section_name_}
-
 [perl-Image-Magick]
 recipe = slapos.recipe.cmmi
 depends =
@@ -20,6 +13,6 @@ url = http://search.cpan.org/CPAN/authors/id/J/JC/JCRISTY/PerlMagick-6.77.tar.gz
 md5sum = fa0f66fa0cabbd1b196254f94dec8e99
 patch-options = -p0
 patches =
-  ${perl-Image-Magick_MakefilePL.patch:location}/${perl-Image-Magick_MakefilePL.patch:filename}
+  ${:_profile_base_location_}/perl-Image-Magick_MakefilePL.patch#31043e2b79e725d3b251aa09b4549046
 configure-command =
   ${perl:location}/bin/perl Makefile.PL LIBS="-L${imagemagick:location}/lib -Wl,-R${imagemagick:location}/lib -L${perl:location}/libs-c -Wl,-R${perl:location}/libs-c" INC="-I${imagemagick:location}/include/ImageMagick"
diff --git a/component/perl/buildout.cfg b/component/perl/buildout.cfg
index 1414d935c6690093faee9d0d6b3d706a353fcbe6..76f5b289192c932d432f4f9efc947a191ec714d1 100644
--- a/component/perl/buildout.cfg
+++ b/component/perl/buildout.cfg
@@ -5,20 +5,6 @@ extends =
 parts =
   perl
 
-[perl-keep-linker-flags-in-ldflags.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 9873a89c969bd5a478434c3b8b2d57d8
-download-only = true
-filename = ${:_buildout_section_name_}
-
-[perl-postmakehook-download]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 7fded8308c1676decf77575c6d6b325f
-download-only = true
-filename = create-libs-symlink.py
-
 [perl]
 recipe = slapos.recipe.cmmi
 depends =
@@ -31,7 +17,7 @@ md5sum = 025102de0e4a597cf541e57da80c6aa3
 siteprefix = ${buildout:parts-directory}/site_${:_buildout_section_name_}
 patch-options = -p1
 patches =
-  ${perl-keep-linker-flags-in-ldflags.patch:location}/${perl-keep-linker-flags-in-ldflags.patch:filename}
+  ${:_profile_base_location_}/perl-keep-linker-flags-in-ldflags.patch#9873a89c969bd5a478434c3b8b2d57d8
 configure-command =
   sh Configure -des \
     -Dprefix=${buildout:parts-directory}/${:_buildout_section_name_} \
@@ -43,4 +29,4 @@ configure-command =
     -Dusethreads
 environment =
   PATH=${patch:location}/bin:%(PATH)s
-post-make-hook = ${perl-postmakehook-download:location}/${perl-postmakehook-download:filename}:post_make_hook
+post-make-hook = ${:_profile_base_location_}/perl-create-libs-symlink.py#7fded8308c1676decf77575c6d6b325f:post_make_hook
diff --git a/component/perl/create-libs-symlink.py b/component/perl/perl-create-libs-symlink.py
similarity index 100%
rename from component/perl/create-libs-symlink.py
rename to component/perl/perl-create-libs-symlink.py
diff --git a/component/slapos/buildout.cfg b/component/slapos/buildout.cfg
index 5006b0823a1c4ac4c0d4d57b8b6335c58cf7c1c5..46811ad3dd95fc043b9d1fdb2bcd78de61d9cdeb 100644
--- a/component/slapos/buildout.cfg
+++ b/component/slapos/buildout.cfg
@@ -144,7 +144,7 @@ zc.recipe.egg = 1.3.2
 # Use own version of h.r.download to be able to open archives not supported by python2.x: .xz
 hexagonit.recipe.download = 1.7nxd002
 
-slapos.core = 1.0.2.1
+slapos.core = 1.0.3
 Jinja2 = 2.7.1
 MarkupSafe = 0.18
 Pygments = 1.6
@@ -166,33 +166,33 @@ xml-marshaller = 0.9.7
 z3c.recipe.scripts = 1.0.1
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 Flask = 0.10.1
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 bpython = 0.12
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 cliff = 1.4.5
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 ipython = 1.1.0
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 netifaces = 0.8
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 requests = 2.1.0
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 supervisor = 3.0
 
 # Required by:
-# slapos.core==1.0.2.1
+# slapos.core==1.0.3
 zope.interface = 4.0.5
diff --git a/component/stunnel/buildout.cfg b/component/stunnel/buildout.cfg
index b742fce0a0dc44b6df31be44ee8cb83c873eebca..6d7a3b58d7f3e41516ae656f4c456e2232e73b66 100644
--- a/component/stunnel/buildout.cfg
+++ b/component/stunnel/buildout.cfg
@@ -8,18 +8,11 @@ parts =
 <= stunnel-4
 recipe = slapos.recipe.cmmi
 
-[stunnel-4-hook-download]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 5b099b386c34c5b8d0664c0292ba322a
-download-only=true
-filename = stunnel-4-hooks.py
-
 [stunnel-4]
 recipe = slapos.recipe.cmmi
 url = https://www.stunnel.org/downloads/stunnel-4.56.tar.gz
 md5sum = ac4c4a30bd7a55b6687cbd62d864054c
-pre-configure-hook = ${stunnel-4-hook-download:location}/${stunnel-4-hook-download:filename}:pre_configure_hook
+pre-configure-hook = ${:_profile_base_location_}/stunnel-4-hooks.py#5b099b386c34c5b8d0664c0292ba322a:pre_configure_hook
 configure-options =
   --enable-ipv6
   --disable-libwrap
diff --git a/component/subversion/buildout.cfg b/component/subversion/buildout.cfg
index a7ad98d929cbd36813c04861120df54b63bcec80..2869968123c1608b4c08552f551824acaa32c99e 100644
--- a/component/subversion/buildout.cfg
+++ b/component/subversion/buildout.cfg
@@ -14,21 +14,14 @@ extends =
 parts =
   subversion
 
-[subversion-1.6.0-disable_linking_against_unneeded_libraries]
-recipe = hexagonit.recipe.download
-download-only = true
-filename = ${:_buildout_section_name_}.patch
-# Patch available thanks to gentoo developpers
-# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch?revision=1.1
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 8d911ec2422dc4c08a00693ac915a07a
-
 [subversion]
 recipe = slapos.recipe.cmmi
 url = http://subversion.tigris.org/downloads/subversion-1.6.17.tar.bz2
 md5sum = 81e5dc5beee4b3fc025ac70c0b6caa14
+# Patch available thanks to gentoo developpers
+# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch?revision=1.1
 patches =
-  ${subversion-1.6.0-disable_linking_against_unneeded_libraries:location}/${subversion-1.6.0-disable_linking_against_unneeded_libraries:filename}
+  ${:_profile_base_location_}/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch#8d911ec2422dc4c08a00693ac915a07a
 configure-options =
   --disable-static
   --with-apr=${apache:location}/bin/apr-1-config
diff --git a/component/tar/buildout.cfg b/component/tar/buildout.cfg
index faf7082412159a47734450665ed0065cf7fdec19..6ea166b584b58463ce39afa94fe26736d869e028 100644
--- a/component/tar/buildout.cfg
+++ b/component/tar/buildout.cfg
@@ -2,18 +2,10 @@
 
 parts = tar
 
-[tar-drop.gets.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = 9352820566aa3534a04bd269c9f89f48
-download-only = true
-filename = drop.gets.patch
-
 [tar]
-virtual-depends = ${tar-drop.gets.patch:md5sum}
 patch-options = -p1
 patches =
-  ${tar-drop.gets.patch:location}/${tar-drop.gets.patch:filename}
+  ${:_profile_base_location_}/tar-drop.gets.patch#9352820566aa3534a04bd269c9f89f48
 
 recipe = slapos.recipe.cmmi
 url = http://ftp.gnu.org/gnu/tar/tar-1.26.tar.gz
diff --git a/component/tar/drop.gets.patch b/component/tar/tar-drop.gets.patch
similarity index 100%
rename from component/tar/drop.gets.patch
rename to component/tar/tar-drop.gets.patch
diff --git a/component/tesseract/buildout.cfg b/component/tesseract/buildout.cfg
index 38f96fca6e47b3fa0102ad0c02a295e71a1af360..f61ebbab24d73b17c1cd3b04882f200d01c5800e 100644
--- a/component/tesseract/buildout.cfg
+++ b/component/tesseract/buildout.cfg
@@ -10,20 +10,6 @@ extends =
 parts =
   tesseract
 
-[tesseract-gcc-4.7-build-patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-filename = tesseract-3.00-gcc-4.7-build.patch
-md5sum = ca80db3ec489c547b03f3ee48879c1b1
-
-[tesseract-3.01-remove-bom.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-filename = ${:_buildout_section_name_}
-md5sum = 2e691858cb492b7c17d23bf0912b3d24
-
 [tesseract]
 recipe = slapos.recipe.cmmi
 url = http://tesseract-ocr.googlecode.com/files/tesseract-3.01.tar.gz
@@ -34,8 +20,8 @@ depends =
 patch-options =
   -p1
 patches =
-  ${tesseract-gcc-4.7-build-patch:location}/${tesseract-gcc-4.7-build-patch:filename}
-  ${tesseract-3.01-remove-bom.patch:location}/${tesseract-3.01-remove-bom.patch:filename}
+  ${:_profile_base_location_}/tesseract-3.00-gcc-4.7-build.patch#ca80db3ec489c547b03f3ee48879c1b1
+  ${:_profile_base_location_}/tesseract-3.01-remove-bom.patch#2e691858cb492b7c17d23bf0912b3d24
 configure-command =
   aclocal -I ${libtool:location}/share/aclocal -I config
   libtoolize -f -c
diff --git a/component/w3m/buildout.cfg b/component/w3m/buildout.cfg
index c170777fa9d5530a42e54bb305954656c7b6c29a..aae0f126b9ed5eb86a8a08494c9cdc191d24eb75 100644
--- a/component/w3m/buildout.cfg
+++ b/component/w3m/buildout.cfg
@@ -9,17 +9,7 @@ extends =
 parts =
   w3m
 
-[w3m-w3m.gcc.forward.compat.patch]
-recipe = hexagonit.recipe.download
-url =${:_profile_base_location_}/${:filename}
-filename = w3m.gcc.forward.compat.patch
-download-only = true
-md5sum = 75422a6f7f671b3a6d9add6724cc0945
-
 [w3m]
-virtual-depend =
-  ${w3m-w3m.gcc.forward.compat.patch:md5sum}
-
 recipe = slapos.recipe.cmmi
 md5sum = 1b845a983a50b8dec0169ac48479eacc
 url = http://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz
@@ -41,7 +31,7 @@ patch-options =
   -p1
 
 patches =
-  ${w3m-w3m.gcc.forward.compat.patch:location}/${w3m-w3m.gcc.forward.compat.patch:filename}
+  ${:_profile_base_location_}/w3m.gcc.forward.compat.patch#75422a6f7f671b3a6d9add6724cc0945
 
 environment =
   PATH=${pkgconfig:location}/bin:%(PATH)s
diff --git a/component/wget/buildout.cfg b/component/wget/buildout.cfg
index 26cdfd3245a69312264cbf70977a643da2143cbe..9d00cb3e2542a89abf5492bed7ef6533115d7f82 100644
--- a/component/wget/buildout.cfg
+++ b/component/wget/buildout.cfg
@@ -8,14 +8,6 @@ extends =
 parts =
   wget
 
-[wget-doc.makefile.patch]
-recipe = hexagonit.recipe.download
-url =${:_profile_base_location_}/${:filename}
-filename = Makefile.patch
-download-only = true
-md5sum = 2b89644c63a0dfe96290471d28a554f2
-
-
 [wget]
 recipe = slapos.recipe.cmmi
 url = http://ftp.gnu.org/gnu/wget/wget-1.14.tar.xz
@@ -32,8 +24,7 @@ patch-options =
   -p1
 
 patches =
-  ${wget-doc.makefile.patch:location}/${wget-doc.makefile.patch:filename}
-
+  ${:_profile_base_location_}/wget-doc.makefile.patch#2b89644c63a0dfe96290471d28a554f2
 
 environment =
   PATH=${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
diff --git a/component/wget/Makefile.patch b/component/wget/wget-doc.makefile.patch
similarity index 100%
rename from component/wget/Makefile.patch
rename to component/wget/wget-doc.makefile.patch
diff --git a/component/xorg/700c7896b832d6e4fb0185f0d5382b01f94e7141.patch b/component/xorg/700c7896b832d6e4fb0185f0d5382b01f94e7141.patch
deleted file mode 100644
index ebf9384cc8bc6d7479073d6629196e4fdc019f0c..0000000000000000000000000000000000000000
--- a/component/xorg/700c7896b832d6e4fb0185f0d5382b01f94e7141.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 700c7896b832d6e4fb0185f0d5382b01f94e7141 Mon Sep 17 00:00:00 2001
-From: Alan Hourihane <alanh@vmware.com>
-Date: Fri, 25 Feb 2011 11:05:27 +0000
-Subject: Add _X_HIDDEN to xgeExtRegister to fix build problems on 64bit
-
----
-diff --git a/src/Xge.c b/src/Xge.c
-index 0655e00..d28a4f0 100644
---- a/src/Xge.c
-+++ b/src/Xge.c
-@@ -292,7 +292,7 @@ _xgeEventToWire(Display* dpy, XEvent* re, xEvent* event)
-  * Extensions need to register callbacks for their events.
-  */
- Bool
--xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks)
-+_X_HIDDEN xgeExtRegister(Display* dpy, int offset, XExtensionHooks* callbacks)
- {
-     XGEExtNode* newExt;
-     XGEData* xge_data;
---
-cgit v0.8.3-6-g21f6
diff --git a/component/xorg/buildout.cfg b/component/xorg/buildout.cfg
index 13270582c1255b3d3b8eeae5228370c581203c65..7fafca2478735dbacbf2835686101639dce8f5ae 100644
--- a/component/xorg/buildout.cfg
+++ b/component/xorg/buildout.cfg
@@ -55,20 +55,12 @@ environment =
   PKG_CONFIG_PATH=${xorg-util-macros:location}/share/pkgconfig
   PATH=${pkgconfig:location}/bin:%(PATH)s
 
-[xtrans-tmp-env-patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-filename = xtrans_tmp_env.patch
-md5sum = 37d82a3b6009113023599632117a6855
-
 [xtrans]
 recipe = slapos.recipe.cmmi
 url = http://www.x.org/releases/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2
 md5sum = 84c66908cf003ad8c272b0eecbdbaee3
 patches =
-  ${xtrans-tmp-env-patch:location}/${xtrans-tmp-env-patch:filename}
-patches_md5sum = ${xtrans-tmp-env-patch:md5sum}
+  ${:_profile_base_location_}/xtrans_tmp_env.patch#37d82a3b6009113023599632117a6855
 patch-options = -p1
 configure-options =
   --disable-docs
@@ -101,20 +93,12 @@ recipe = slapos.recipe.cmmi
 url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2
 md5sum = e8fa31b42e13f87e8f5a7a2b731db7ee
 
-[libxcb-tmp-env-patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-filename = xcb_tmp_env.patch
-md5sum = 61f39878120ba434a169e24cae2af862
-
 [libxcb]
 recipe = slapos.recipe.cmmi
 url = http://xcb.freedesktop.org/dist/libxcb-1.9.1.tar.bz2
 md5sum = ed632cb0dc31b6fbd7ea5c0f931cf5a4
 patches =
-  ${libxcb-tmp-env-patch:location}/${libxcb-tmp-env-patch:filename}
-patches_md5sum = ${libxcb-tmp-env-patch:md5sum}
+  ${:_profile_base_location_}/libxcb_tmp_env.patch#61f39878120ba434a169e24cae2af862
 patch-options = -p1
 configure-options =
   --disable-static
@@ -258,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
@@ -266,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
@@ -274,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
@@ -421,13 +411,6 @@ environment =
   PATH=${pkgconfig:location}/bin:%(PATH)s
   PKG_CONFIG_PATH=${damageproto:location}/lib/pkgconfig:${xfixes:location}/lib/pkgconfig:${fixesproto:location}/lib/pkgconfig:${xextproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig:${kbproto:location}/lib/pkgconfig:${libxcb:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig
 
-[xorg-tmp-env-patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-download-only = true
-filename = tmp_env.patch
-md5sum = 8b60ab8121f0564a681fc00d03101696
-
 [libxmu]
 recipe = slapos.recipe.cmmi
 url = http://www.x.org/releases/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2
@@ -460,8 +443,7 @@ recipe = slapos.recipe.cmmi
 url = http://www.x.org/releases/X11R7.7/src/everything/xorg-server-1.12.2.tar.bz2
 md5sum = 791f0323b886abb7954de7f042bb7dc6
 patches =
-  ${xorg-tmp-env-patch:location}/${xorg-tmp-env-patch:filename}
-patches_md5sum = ${xorg-tmp-env-patch:md5sum}
+  ${:_profile_base_location_}/xorg-server_tmp_env.patch#8b60ab8121f0564a681fc00d03101696
 patch-options = -p1
 configure-options =
   --enable-xvfb
diff --git a/component/xorg/xcb_tmp_env.patch b/component/xorg/libxcb_tmp_env.patch
similarity index 100%
rename from component/xorg/xcb_tmp_env.patch
rename to component/xorg/libxcb_tmp_env.patch
diff --git a/component/xorg/tmp_env.patch b/component/xorg/xorg-server_tmp_env.patch
similarity index 100%
rename from component/xorg/tmp_env.patch
rename to component/xorg/xorg-server_tmp_env.patch
diff --git a/component/xtrabackup/buildout.cfg b/component/xtrabackup/buildout.cfg
index a814ab18ea5a3696155fde2254185784e50d4ab2..a4b1ecf5514fc4db99b6973d16015d3b7f51fe15 100644
--- a/component/xtrabackup/buildout.cfg
+++ b/component/xtrabackup/buildout.cfg
@@ -15,20 +15,6 @@ extends =
 parts =
   xtrabackup
 
-[xtrabackup-build-patch-download]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = b1536fe65e32592e4a0a14bf3b159885
-download-only = true
-filename = xtrabackup-1.6.2_build.patch
-
-[allow_force_ibbackup.patch]
-recipe = hexagonit.recipe.download
-url = ${:_profile_base_location_}/${:filename}
-md5sum = d642ea7b30d1322a516fbece4ee100e0
-download-only = true
-filename = ${:_buildout_section_name_}
-
 [mysql-5.1-download]
 recipe = hexagonit.recipe.download
 version = 5.1.56
@@ -51,8 +37,8 @@ url = http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6.3/source/xtraba
 md5sum = d0b827fd18cd76416101eb7b7c56a311
 make-binary = true
 patches =
-  ${xtrabackup-build-patch-download:location}/${xtrabackup-build-patch-download:filename}
-  ${allow_force_ibbackup.patch:location}/${allow_force_ibbackup.patch:filename}
+  ${:_profile_base_location_}/xtrabackup-1.6.2_build.patch#b1536fe65e32592e4a0a14bf3b159885
+  ${:_profile_base_location_}/xtrabackup-allow_force_ibbackup.patch#d642ea7b30d1322a516fbece4ee100e0
 patch-options = -p1
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 configure-command = ln -sf ${mysql-5.1-download:location}/${mysql-5.1-download:filename} ${libtar-download:location}/${libtar-download:filename} . && utils/build.sh innodb51_builtin ${:location} ${libtool:location}
diff --git a/component/xtrabackup/allow_force_ibbackup.patch b/component/xtrabackup/xtrabackup-allow_force_ibbackup.patch
similarity index 100%
rename from component/xtrabackup/allow_force_ibbackup.patch
rename to component/xtrabackup/xtrabackup-allow_force_ibbackup.patch
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-----
diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg
index 5d2530e09a05ac660d3c8a81308d1e8e3258f24a..31635b06595efc908ee916f7a273fa07292cc903 100644
--- a/stack/erp5/buildout.cfg
+++ b/stack/erp5/buildout.cfg
@@ -45,6 +45,7 @@ extends =
   ../../component/percona-toolkit/buildout.cfg
   ../../component/mariadb/buildout.cfg
   ../../component/mysql-python/buildout.cfg
+  ../../component/patch/buildout.cfg
   ../../component/pil-python/buildout.cfg
   ../../component/pycrypto-python/buildout.cfg
   ../../component/pysvn-python/buildout.cfg
@@ -106,6 +107,7 @@ parts =
   wget
 
 # Buildoutish
+  patched-eggs
   eggs
   testrunner
   test_suite_runner
@@ -413,6 +415,13 @@ initialization =
   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
 
+[patched-eggs]
+recipe = minitage.recipe.egg
+eggs = ZODB3
+ZODB3-patches = ${:_profile_base_location_}/../../component/egg-patch/ZODB3-3.10.5.patch
+ZODB3-patch-options = -p1
+ZODB3-patch-binary = ${patch:location}/bin/patch
+
 [eggs]
 recipe = zc.recipe.egg
 python = python2.7
@@ -574,9 +583,9 @@ PasteDeploy = 1.5.2
 Pygments = 1.6
 argparse = 1.2.1
 coverage = 3.7.1
-lxml = 3.3.0
-mr.developer = 1.27
-setuptools = 2.1
+lxml = 3.3.1
+mr.developer = 1.28
+setuptools = 2.2
 
 # huBarcode 1.0.0 has an issue with importing PIL.
 huBarcode = 0.63
@@ -604,7 +613,7 @@ rdiff-backup = 1.0.5
 slapos.cookbook =
 
 # we need to define an explicit version of slapos.core that is propagated to instances
-slapos.core = 1.0.2.1
+slapos.core = 1.0.3
 
 # modified version that works fine for buildout installation
 SOAPpy = 0.12.0nxd001
@@ -616,6 +625,9 @@ Products.CMFDefault = 2.2.3
 Products.CMFTopic = 2.2.1
 Products.CMFUid = 2.2.1
 
+# patched eggs
+ZODB3 = 3.10.5-ZMinitagePatched-ZODB33105
+
 # newer version requires zope.traversing>=4.0.0a2.
 zope.app.appsetup = 3.16.0
 
@@ -665,8 +677,9 @@ hexagonit.recipe.cmmi = 2.0
 http-parser = 0.8.3
 inotifyx = 0.2.0
 ipdb = 0.8
-ipython = 1.1.0
+ipython = 1.2.0
 itsdangerous = 0.23
+logilab_common = 0.61.0
 meld3 = 0.6.10
 netaddr = 0.7.10
 netifaces = 0.8_1