From cab71cde364e18c78b2fcaf047dd5b37ba528b9b Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Tue, 11 Apr 2017 15:51:29 +0200
Subject: [PATCH] kvm/slaprunner: Move common development.cfg parts into a
 stack.

---
 software/kvm/common.cfg             |  7 +++-
 software/kvm/development.cfg        | 57 +++++-----------------------
 software/slaprunner/development.cfg | 57 +---------------------------
 stack/slapos-dev.cfg                | 58 +++++++++++++++++++++++++++++
 4 files changed, 75 insertions(+), 104 deletions(-)
 create mode 100644 stack/slapos-dev.cfg

diff --git a/software/kvm/common.cfg b/software/kvm/common.cfg
index 1f638e6d6..aaf2d8383 100644
--- a/software/kvm/common.cfg
+++ b/software/kvm/common.cfg
@@ -16,7 +16,9 @@ extends =
 # stacks are listed from most generic to most specific,
 # to avoid versioning issues
 
-parts =
+
+
+common-parts =
   template
   eggs
 
@@ -24,6 +26,9 @@ parts =
   rdiff-backup
   pbs-recipe-egg
 
+
+parts = ${:common-parts}
+
 #XXX-Cedric : Currently, one can only access to KVM using noVNC.
 #             Ideally one should be able to access KVM by using either NoVNC or VNC.
 #             Problem is : no native crypto support in web browsers. So we have to disable ssl
diff --git a/software/kvm/development.cfg b/software/kvm/development.cfg
index 648899789..400c007b3 100644
--- a/software/kvm/development.cfg
+++ b/software/kvm/development.cfg
@@ -1,51 +1,12 @@
+# Development profile of slaprunner.
+# Exactly the same as software.cfg, but fetch the slapos.cookbook and
+# slapos.toolbox from git repository instead of fetching stable version,
+# allowing to play with bleeding edge environment.
+
 [buildout]
-extends =
-  common.cfg
+extends = common.cfg
+  ../../stack/slapos-dev.cfg
 
 parts +=
-  slapos.cookbook-repository
-  slapos.toolbox-repository
-  slapos.core-repository
-  erp5.util-repository
-  check-recipe
-
-develop =
-  ${:parts-directory}/slapos.cookbook-repository
-  ${:parts-directory}/slapos.core-repository
-  ${:parts-directory}/slapos.toolbox-repository
-  ${:parts-directory}/erp5.util-repository
-
-[slapos.core-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/slapos.core.git
-branch = master
-git-executable = ${git:location}/bin/git
-
-[slapos.toolbox-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/slapos.toolbox.git
-branch = master
-git-executable = ${git:location}/bin/git
-
-[erp5.util-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/erp5.git
-branch = master
-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 &&
-  grep parts ${buildout:develop-eggs-directory}/slapos.core.egg-link &&
-  grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link &&
-  grep parts ${buildout:develop-eggs-directory}/erp5.util.egg-link
-
-[versions]
-slapos.cookbook =
-slapos.core =
-slapos.toolbox =
-erp5.util =
-lockfile =
+# Development eggs
+  ${:common-parts}
diff --git a/software/slaprunner/development.cfg b/software/slaprunner/development.cfg
index 6f3c60775..1ab5b4b85 100644
--- a/software/slaprunner/development.cfg
+++ b/software/slaprunner/development.cfg
@@ -5,65 +5,12 @@
 
 [buildout]
 extends = common.cfg
+  ../../stack/slapos-dev.cfg
 
-parts =
+parts +=
 # Development eggs
-  slapos.toolbox-dev
-  slapos.cookbook-dev
-  slapos.core-dev
-  erp5.util-dev
-  slapos-cookbook
   ${:common-parts}
 
-[slapos.toolbox-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/slapos.toolbox.git
-branch = master
-git-executable = ${git:location}/bin/git
-develop = true
-
-[slapos.toolbox-dev]
-recipe = zc.recipe.egg:develop
-egg = slapos.toolbox
-setup = ${slapos.toolbox-repository:location}
-
-[slapos.cookbook-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/slapos.git
-branch = master
-git-executable = ${git:location}/bin/git
-develop = true
-
-[slapos.cookbook-dev]
-recipe = zc.recipe.egg:develop
-egg = slapos.cookbook
-setup = ${slapos.cookbook-repository:location}
-
-# Used for resiliency tests only
-[erp5.util-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/erp5.git
-branch = master
-git-executable = ${git:location}/bin/git
-develop = true
-
-[erp5.util-dev]
-recipe = zc.recipe.egg:develop
-egg = erp5.util
-setup = ${erp5.util-repository:location}
-
-[slapos.core-repository]
-recipe = slapos.recipe.build:gitclone
-repository = https://lab.nexedi.com/nexedi/slapos.core.git
-branch = master
-git-executable = ${git:location}/bin/git
-develop = true
-
-[slapos.core-dev]
-recipe = zc.recipe.egg:develop
-egg = slapos.core
-setup = ${slapos.core-repository:location}
-
 [versions]
 slapos.cookbook =
 slapos.core =
diff --git a/stack/slapos-dev.cfg b/stack/slapos-dev.cfg
new file mode 100644
index 000000000..72ee65783
--- /dev/null
+++ b/stack/slapos-dev.cfg
@@ -0,0 +1,58 @@
+[buildout]
+extends = slapos.cfg
+
+parts =
+# Development eggs
+  slapos.toolbox-dev
+  slapos.cookbook-dev
+  slapos.core-dev
+  erp5.util-dev
+  slapos-cookbook
+
+
+[slapos.toolbox-repository]
+recipe = slapos.recipe.build:gitclone
+repository = https://lab.nexedi.com/nexedi/slapos.toolbox.git
+branch = master
+git-executable = ${git:location}/bin/git
+develop = true
+
+[slapos.toolbox-dev]
+recipe = zc.recipe.egg:develop
+egg = slapos.toolbox
+setup = ${slapos.toolbox-repository:location}
+
+[slapos.cookbook-repository]
+develop = true
+
+# Used for resiliency tests only
+[erp5.util-repository]
+recipe = slapos.recipe.build:gitclone
+repository = https://lab.nexedi.com/nexedi/erp5.git
+branch = master
+git-executable = ${git:location}/bin/git
+develop = true
+
+[erp5.util-dev]
+recipe = zc.recipe.egg:develop
+egg = erp5.util
+setup = ${erp5.util-repository:location}
+
+[slapos.core-repository]
+recipe = slapos.recipe.build:gitclone
+repository = https://lab.nexedi.com/nexedi/slapos.core.git
+branch = master
+git-executable = ${git:location}/bin/git
+develop = true
+
+[slapos.core-dev]
+recipe = zc.recipe.egg:develop
+egg = slapos.core
+setup = ${slapos.core-repository:location}
+
+[versions]
+slapos.cookbook =
+slapos.core =
+slapos.toolbox =
+erp5-util =
+lockfile =
-- 
2.30.9