From 5dfaff5403a29a1eaed304128d3615b6ddf9d84a Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Wed, 7 Aug 2013 11:51:56 +0200
Subject: [PATCH] erp5: buildout:extends does not work when given at command
 line

---
 stack/erp5/buildout.cfg    | 2 +-
 stack/erp5/instance.cfg.in | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg
index 18ffa6ac9..7c91d54c5 100644
--- a/stack/erp5/buildout.cfg
+++ b/stack/erp5/buildout.cfg
@@ -213,7 +213,7 @@ md5sum = 564006953b7d7a12d40a14b6648b32f0
 # XXX: "template.cfg" is hardcoded in instanciation recipe
 filename = template.cfg
 template = ${:_profile_base_location_}/instance.cfg.in
-md5sum = 77e6819ded20747d7f2fb6991d568f48
+md5sum = 826e50b6465ce9e9a7534c1707e88e82
 extra-context =
     key mariadb_link_binary template-mariadb:link-binary
     key zope_link_binary template-zope:link-binary
diff --git a/stack/erp5/instance.cfg.in b/stack/erp5/instance.cfg.in
index 1bb0fb8d6..7e618c7c8 100644
--- a/stack/erp5/instance.cfg.in
+++ b/stack/erp5/instance.cfg.in
@@ -200,9 +200,12 @@ script =
            "buildout:installed=.installed-${:_buildout_section_name_}.cfg")
   buildout = self.options[software_type]
   # Options.get (from zc.buildout) should deserialize.
-  try: override = self.options["override"][software_type]
+  try: override = open(self.options["override"][software_type]).read()
   except (KeyError, TypeError): pass
-  else: args.append("buildout:extends=" + buildout); buildout = override
+  else: \
+    override = "[buildout]\nextends = %%s\n\n" %% buildout + override; \
+    buildout = "${buildout:parts-directory}/${:_buildout_section_name_}.cfg"; \
+    open(buildout, "w", 0).write(override)
   subprocess.check_call(args + ["-oc", buildout])
 update_script = ${:script}
 slapos_promise =
-- 
2.30.9