From 447b27e634673ab95b95c02877ba03364c41d72c Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Mon, 2 May 2016 20:34:10 +0200
Subject: [PATCH] Switch from ZODB3 (3.10.7) to ZODB (4.4.4)

---
 software/neoppod/software-common.cfg | 16 ++++++++++++----
 software/neoppod/software-zodb3.cfg  | 16 ++++++++++++++++
 software/neoppod/software-zodb4.cfg  | 14 --------------
 software/neoppod/software.cfg        | 11 ++---------
 stack/erp5/buildout.cfg              |  7 +++----
 5 files changed, 33 insertions(+), 31 deletions(-)
 create mode 100644 software/neoppod/software-zodb3.cfg
 delete mode 100644 software/neoppod/software-zodb4.cfg

diff --git a/software/neoppod/software-common.cfg b/software/neoppod/software-common.cfg
index e473df41d..2efa274d1 100644
--- a/software/neoppod/software-common.cfg
+++ b/software/neoppod/software-common.cfg
@@ -17,7 +17,7 @@ extends =
     ../../component/pycurl/buildout.cfg
 
 parts =
-# keep neoppod first so that ZODB3 is built correctly,
+# keep neoppod first so that ZODB is built correctly,
 # before any other section that would depend on it
     neoppod-develop
     neoppod
@@ -40,9 +40,12 @@ environment = neoppod-setup-env
 
 [neoppod]
 recipe = zc.recipe.egg
-eggs = neoppod[admin, ctl, master, storage-importer, storage-mysqldb, tests]
+eggs = neoppod[admin, ctl, master, storage-mysqldb]
   ${python-mysqlclient:egg}
-  ZODB3
+  psutil
+  BTrees
+  ZODB
+  zope.testing
 
 [slapos-deps-eggs]
 recipe = zc.recipe.egg
@@ -102,7 +105,12 @@ md5sum = 81ab5e842ecf8385b12d735585497cc8
 
 [versions]
 slapos.recipe.template = 2.9
-ZODB3 = 3.10.7
+ZODB = 4.4.4
+BTrees = 4.3.1
+persistent = 4.2.2
+transaction = 1.7.0
+zdaemon = 4.1.0
+zodbpickle = 0.6.0
 # Required by slapos.toolbox = 0.61
 slapos.toolbox = 0.61
 PyRSS2Gen = 1.1
diff --git a/software/neoppod/software-zodb3.cfg b/software/neoppod/software-zodb3.cfg
new file mode 100644
index 000000000..84ba7fed7
--- /dev/null
+++ b/software/neoppod/software-zodb3.cfg
@@ -0,0 +1,16 @@
+[buildout]
+extends = software.cfg
+
+[neoppod]
+eggs = neoppod[admin, ctl, master, storage-importer, storage-mysqldb, tests]
+  ${python-mysqlclient:egg}
+  ZODB3
+patch-binary = ${patch:location}/bin/patch
+ZODB3-patch-options = -p1
+ZODB3-patches =
+  ${neoppod-repository:location}/ZODB3.patch
+
+[versions]
+ZODB3 = 3.10.7+SlapOSPatched001
+transaction = 1.1.1
+zdaemon = 2.0.7
diff --git a/software/neoppod/software-zodb4.cfg b/software/neoppod/software-zodb4.cfg
deleted file mode 100644
index ce62fbf5f..000000000
--- a/software/neoppod/software-zodb4.cfg
+++ /dev/null
@@ -1,14 +0,0 @@
-[buildout]
-extends = software.cfg
-
-[neoppod]
-eggs = neoppod
-  ${python-mysqlclient:egg}
-  psutil
-  ZODB
-  zope.testing
-
-[versions]
-ZODB = 4.4.4
-transaction = 1.7.0
-zdaemon =
diff --git a/software/neoppod/software.cfg b/software/neoppod/software.cfg
index e8e4c7ea7..036378051 100644
--- a/software/neoppod/software.cfg
+++ b/software/neoppod/software.cfg
@@ -33,19 +33,12 @@ recipe = zc.recipe.egg
 eggs = erp5.util
 interpreter = ${:_buildout_section_name_}
 
-[neoppod]
-patch-binary = ${patch:location}/bin/patch
-ZODB3-patch-options = -p1
-ZODB3-patches +=
-  ${neoppod-repository:location}/ZODB3.patch
-
 [versions]
-ZODB3 = 3.10.7+SlapOSPatched001
 erp5.util = 0.4.46
 # To match ERP5
-transaction = 1.1.1
 ZConfig = 2.9.3
 zc.lockfile = 1.0.2
-zdaemon = 2.0.7
 zope.event = 3.5.2
+zope.exceptions = 3.6.2
+zope.testing = 3.9.7
 ##
diff --git a/stack/erp5/buildout.cfg b/stack/erp5/buildout.cfg
index c3eb1d9fb..c8b58f555 100644
--- a/stack/erp5/buildout.cfg
+++ b/stack/erp5/buildout.cfg
@@ -466,10 +466,9 @@ initialization =
 
 [eggs]
 <= neoppod
-eggs =
+eggs = ${neoppod:eggs}
   ${numpy:egg}
   ${matplotlib:egg}
-  ${python-mysqlclient:egg}
   ${lxml-python:egg}
   ${pandas:egg}
   ${pillow-python:egg}
@@ -524,9 +523,7 @@ eggs =
   pylint
   pytracemalloc
 
-  neoppod[client]
 # Zope
-  ZODB3
   Zope2
 # Zope acquisition patch
   Acquisition
@@ -683,6 +680,8 @@ PyXML = 0.8.5
 Pympler = 0.4.3
 StructuredText = 2.11.1
 WSGIUtils = 0.7
+ZEO = 4.2.1
+ZODB3 = 3.11.0
 Zope2 = 2.13.24
 astor = 0.5
 # astroid 1.4.1 breaks testDynamicClassGeneration
-- 
2.30.9