diff --git a/software/slaprunner/buildout.hash.cfg b/software/slaprunner/buildout.hash.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..ef2a9dbea1be6bfe21b39c9e07640616355a029f
--- /dev/null
+++ b/software/slaprunner/buildout.hash.cfg
@@ -0,0 +1,86 @@
+# THIS IS NOT A BUILDOUT FILE, despite purposedly using a compatible syntax.
+# The only allowed lines here are (regexes):
+# - "^#" comments, copied verbatim
+# - "^[" section beginings, copied verbatim
+# - lines containing an "=" sign which must fit in the following categorie.
+#   - "^\s*filename\s*=\s*path\s*$" where "path" is relative to this file
+#     But avoid directories, they are not portable.
+#     Copied verbatim.
+#   - "^\s*hashtype\s*=.*" where "hashtype" is one of the values supported
+#     by the re-generation script.
+#     Re-generated.
+# - other lines are copied verbatim
+# Substitution (${...:...}), extension ([buildout] extends = ...) and
+# section inheritance (< = ...) are NOT supported (but you should really
+# not need these here).
+[template]
+filename = instance.cfg
+md5sum = 06107f93ebe78905c957a4c4fc4edf16
+
+[template-runner]
+filename = instance-runner.cfg
+md5sum = 07905ec872e84bc42c6ab089f5270ac2
+
+[template-runner-import-script]
+filename = template/runner-import.sh.jinja2
+md5sum = 5db39d7f56fd1f96ce6466e9055841a1
+
+[instance-runner-import]
+filename = instance-runner-import.cfg.in
+md5sum = 9db9957f452bda370cb2d5cc2e833e85
+
+[template-runner-export-script]
+filename = template/runner-export.sh.jinja2
+md5sum = 2e96b9daa5cd20fc77e9573a9ce3fe52
+
+[instance-runner-export]
+filename = instance-runner-export.cfg.in
+md5sum = 852a2ed99af566d27e5e4403334a3376
+
+[template-resilient]
+filename = instance-resilient.cfg.jinja2
+md5sum = a902b84ac7d1e29a7fdb06cbc7dec150
+
+[template-resilient-test]
+filename = instance-resilient-test.cfg.jinja2
+md5sum = 09a955bde79fb11565d689b0415e135c
+
+[template_nginx_conf]
+filename = nginx_conf.in
+md5sum = 2b06f7eb9a1d45d250d4b92a944db925
+
+[template_httpd_conf]
+filename = httpd_conf.in
+md5sum = 40825ef2d259ae3b86dfd2f28f597d3a
+
+[template_launcher]
+filename = launcher.in
+md5sum = 525e37ea8b2acf6209869999b15071a6
+
+[template-slapos-cfg]
+filename = template/slapos.cfg.in
+md5sum = ef16446d432e1397182b1654fe920ffb
+
+[template-parameters]
+filename = parameters.xml.in
+md5sum = f8446fcf254b4929eb828a9a1d7e5f62
+
+[template-bash-profile]
+filename = template/bash_profile.in
+md5sum = 1c88cbca0c1e705eeb4b544ef4616097
+
+[template-supervisord]
+filename = template/supervisord.conf.in
+md5sum = d294d0dafd265048399de6da8c96345f
+
+[template-listener-slapgrid]
+filename = template/listener_slapgrid.py.in
+md5sum = 49d50410cf7467175a841eb7cd0d93d4
+
+[monitor-check-webrunner-internal-instance]
+filename = template/monitor-check-webrunner-internal-instances.py
+md5sum = acaac32cf1bd45714272468a89f4f119
+
+[template-resilient-software-release-information]
+filename = template/resilient_software_release_information.py.in
+md5sum = 2451072826a9ad9425d62c9e9c7f6284
diff --git a/software/slaprunner/common.cfg b/software/slaprunner/common.cfg
index 2f87d0ecb646b8d215859fddea5842adb785ee3b..83b780e54a6757ca318b34c75a5892e2fbf5dee2 100644
--- a/software/slaprunner/common.cfg
+++ b/software/slaprunner/common.cfg
@@ -1,5 +1,6 @@
 [buildout]
 extends =
+  buildout.hash.cfg
   ../../component/bash/buildout.cfg
   ../../component/busybox/buildout.cfg
   ../../component/curl/buildout.cfg
@@ -71,105 +72,77 @@ url = ${:_profile_base_location_}/template/${:filename}
 
 [template]
 < = template-base
-filename = instance.cfg
 output = ${buildout:directory}/template.cfg
-md5sum = 06107f93ebe78905c957a4c4fc4edf16
 
 [template-runner]
 < = template-base
-filename = instance-runner.cfg
 output = ${buildout:directory}/template-runner.cfg.in
-md5sum = 07905ec872e84bc42c6ab089f5270ac2
 
 [template-runner-import-script]
 < = template-download-base
-md5sum = 5db39d7f56fd1f96ce6466e9055841a1
 filename = runner-import.sh.jinja2
 
 [instance-runner-import]
 < = template-base
-filename = instance-runner-import.cfg.in
 output = ${buildout:directory}/instance-runner-import.cfg
-md5sum = 9db9957f452bda370cb2d5cc2e833e85
 
 [template-runner-export-script]
 < = template-download-base
-md5sum = 2e96b9daa5cd20fc77e9573a9ce3fe52
 filename = runner-export.sh.jinja2
 
 [instance-runner-export]
 < = download-base
 recipe = slapos.recipe.build:download
-filename = instance-runner-export.cfg.in
-md5sum = 852a2ed99af566d27e5e4403334a3376
 
 [template-resilient]
 < = download-base
 recipe = slapos.recipe.build:download
-md5sum = a902b84ac7d1e29a7fdb06cbc7dec150
-filename = instance-resilient.cfg.jinja2
 
 [template-resilient-test]
 < = download-only-base
-md5sum = 09a955bde79fb11565d689b0415e135c
-filename = instance-resilient-test.cfg.jinja2
 
 [template_nginx_conf]
 < = download-only-base
-md5sum = 2b06f7eb9a1d45d250d4b92a944db925
-filename = nginx_conf.in
 
 [template_httpd_conf]
 < = download-only-base
-md5sum = 40825ef2d259ae3b86dfd2f28f597d3a
-filename = httpd_conf.in
 
 [template_launcher]
 < = download-base
 recipe = slapos.recipe.build:download
-md5sum = 525e37ea8b2acf6209869999b15071a6
-filename = launcher.in
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 
 [template-slapos-cfg]
 < = template-download-base
-md5sum = ef16446d432e1397182b1654fe920ffb
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 filename = slapos.cfg.in
 
 [template-parameters]
 < = download-only-base
-md5sum = f8446fcf254b4929eb828a9a1d7e5f62
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
-filename = parameters.xml.in
 
 [template-bash-profile]
 < = template-download-base
-md5sum = 1c88cbca0c1e705eeb4b544ef4616097
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 filename = bash_profile.in
 
 [template-supervisord]
 < = template-download-base
-md5sum = d294d0dafd265048399de6da8c96345f
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 filename = supervisord.conf.in
 
 [template-listener-slapgrid]
 < = template-download-base
-md5sum = 49d50410cf7467175a841eb7cd0d93d4
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 filename = listener_slapgrid.py.in
 
 [monitor-check-webrunner-internal-instance]
 < = template-download-base
-#md5sum = 4c44d617d5bfd1db8695200e896480c0
 destination = ${buildout:parts-directory}/${:filename}
 filename = monitor-check-webrunner-internal-instances.py
 
 [template-resilient-software-release-information]
 < = template-download-base
-md5sum = 2451072826a9ad9425d62c9e9c7f6284
 filename = resilient_software_release_information.py.in
 
 [eggs]