Commit 389ec72f authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent ecbe4013
...@@ -31,6 +31,8 @@ init = ...@@ -31,6 +31,8 @@ init =
# update [versions] from what is needed by ZEO<X> # update [versions] from what is needed by ZEO<X>
for _ in zeo_x['egg_versions'].splitlines(): for _ in zeo_x['egg_versions'].splitlines():
if _.startswith('#'):
continue
egg, eq, version = _.split() # 'transaction = 1.7.0' egg, eq, version = _.split() # 'transaction = 1.7.0'
assert eq == '=' assert eq == '='
self.buildout['versions'][egg] = version self.buildout['versions'][egg] = version
......
...@@ -22,14 +22,24 @@ major = 4 ...@@ -22,14 +22,24 @@ major = 4
init = init =
# link/depend ZODB -> ZODB<X> # link/depend ZODB -> ZODB<X>
zodb_x = 'ZODB'+options['major'] zodb_x = 'ZODB'+options['major']
options['depends'] = '$${%s:egg}' % zodb_x
zodb_x = self.buildout[zodb_x] zodb_x = self.buildout[zodb_x]
options['depends'] = '$${%s:egg}' % zodb_x.name
options['egg'] = zodb_x['egg'] options['egg'] = zodb_x['egg']
options['location'] = zodb_x['setup'] options['location'] = zodb_x['setup']
# for ZODB3 also depend on _ZODB3-{ZODB,persistent,BTrees,ZEO}.
# installing those eggs ensures forward compatibiluty with ZODB4/5 where
# instead of single ZODB3 egg, there are separate ZDOB,persistent,BTrees,... distributions.
if options['major'] == '3':
for egg in ['ZODB','persistent','BTrees','ZEO']:
z3egg = self.buildout['_ZODB3-%s' % egg]
options['depends'] += '\n$${%s:egg}' % z3egg.name
# update [versions] from what is needed by ZODB<X> # update [versions] from what is needed by ZODB<X>
# XXX do not change egg version if it is already speficified in [versions] ?
for _ in zodb_x['egg_versions'].splitlines(): for _ in zodb_x['egg_versions'].splitlines():
if _.startswith('#'):
continue
egg, eq, version = _.split() # 'transaction = 1.7.0' egg, eq, version = _.split() # 'transaction = 1.7.0'
assert eq == '=' assert eq == '='
self.buildout['versions'][egg] = version self.buildout['versions'][egg] = version
...@@ -52,18 +62,32 @@ repository = https://lab.nexedi.com/kirr/ZODB.git ...@@ -52,18 +62,32 @@ repository = https://lab.nexedi.com/kirr/ZODB.git
#location = ${buildout:parts-directory}/ZODB # XXX #location = ${buildout:parts-directory}/ZODB # XXX
git-executable = ${git:location}/bin/git git-executable = ${git:location}/bin/git
# ZODB4: we maintain our own 4-nxd branch with patches for wendelin.core to work [_ZODB45]
# correctly. The patches are backports of what is in ZODB master (ZODB5).
[ZODB4]
recipe = zc.recipe.egg:develop recipe = zc.recipe.egg:develop
setup = ${ZODB4-repository:location}
egg = ZODB egg = ZODB
depends = ${persistent:egg} ${BTrees:egg} depends = ${persistent:egg} ${BTrees:egg}
# eggs versions that are used by all ZODB{4,5}.
egg_versions = egg_versions =
transaction = 1.7.0 # TODO update to 4.7.3 once it is released
Btrees = 4.5.1
persistent = 4.6.4
# TODO update to 2.0.0 once NEO stops doing bytes._pack = ...
# https://lab.nexedi.com/nexedi/slapos/commit/27f574bc
zodbpickle = 1.0.4
# XXX explain about ZODB3
ZODB3 = 3.11.0 ZODB3 = 3.11.0
# XXX explain about ZODB3
# ZODB4: we maintain our own 4-nxd branch with patches for wendelin.core to work
# correctly. The patches are backports of what is in ZODB master (ZODB5).
[ZODB4]
<= _ZODB45
setup = ${ZODB4-repository:location}
egg_versions +=
transaction = 1.7.0
[ZODB4-repository] [ZODB4-repository]
<= _ZODB-git-repository <= _ZODB-git-repository
...@@ -90,18 +114,36 @@ location = ${buildout:parts-directory}/ZODB3 ...@@ -90,18 +114,36 @@ location = ${buildout:parts-directory}/ZODB3
branch = 3.10-nxd--t branch = 3.10-nxd--t
#revision= ... XXX pin #revision= ... XXX pin
# Stub eggs for ZODB3 to be forward-compatible with ZODB4/5.
[_ZODB3-ZODB45-compat-egg]
recipe = zc.recipe.egg:develop
setup = ${ZODB3-repository:location}/ZODB45-compat/${:egg}/setup.py
depends = ${ZODB3:recipe}
[_ZODB3-ZODB]
<= _ZODB3-ZODB45-compat-egg
egg = ZODB
[_ZODB3-persistent]
<= _ZODB3-ZODB45-compat-egg
egg = persistent
[_ZODB3-BTrees]
<= _ZODB3-ZODB45-compat-egg
egg = BTrees
[_ZODB3-ZEO]
<= _ZODB3-ZODB45-compat-egg
egg = ZEO
# ZODB5: pristine upstream # ZODB5: pristine upstream
[ZODB5] [ZODB5]
recipe = zc.recipe.egg:develop <= _ZODB45
setup = ${ZODB5-repository:location} setup = ${ZODB5-repository:location}
egg = ZODB
depends = ${persistent:egg} ${BTrees:egg}
egg_versions = egg_versions =
transaction = 2.4.0 transaction = 2.4.0
ZODB3 = 3.11.0
# XXX explain about ZODB3
[ZODB5-repository] [ZODB5-repository]
<= _ZODB-git-repository <= _ZODB-git-repository
...@@ -109,6 +151,7 @@ location = ${buildout:parts-directory}/ZODB5 ...@@ -109,6 +151,7 @@ location = ${buildout:parts-directory}/ZODB5
branch = master branch = master
#revision= ... XXX pin #revision= ... XXX pin
# XXX: buildout fails to install properly eggs with setup_requires # XXX: buildout fails to install properly eggs with setup_requires
[BTrees] [BTrees]
recipe = zc.recipe.egg:custom recipe = zc.recipe.egg:custom
...@@ -120,13 +163,3 @@ recipe = zc.recipe.egg:custom ...@@ -120,13 +163,3 @@ recipe = zc.recipe.egg:custom
egg = ${:_buildout_section_name_} egg = ${:_buildout_section_name_}
setup-eggs = ${python-cffi:egg} setup-eggs = ${python-cffi:egg}
### ###
# eggs versions that are used by all all ZODB<X>.
[versions]
# TODO update to 4.7.3 once it is released
Btrees = 4.5.1
persistent = 4.6.4
# TODO update to 2.0.0 once NEO stops doing bytes._pack = ...
# https://lab.nexedi.com/nexedi/slapos/commit/27f574bc
zodbpickle = 1.0.4
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment