Commit e0c7eabc authored by Łukasz Nowak's avatar Łukasz Nowak

- import new structure of ERP5 buildout


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31851 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 1a33bee7
#
# Used for maintenance of external resources in this svn bundle. Edit
# this file as appropriate and then run the following command from within
# the checkout directory where this file lives on your local machine:
#
# svn propset svn:externals -F ./EXTERNALS.TXT .
#
bootstrap svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap
# svn propset svn:ignore -F ./IGNORE.TXT .
.installed.cfg
bin
develop-eggs
downloads
eggs
fake-eggs
parts
var
- force using locally build python
- merge into:
- https://svn.erp5.org/repos/public/experimental/erp5.buildout
- https://svn.erp5.org/repos/public/experimental/erp5.buildout-zope-2.12/
- https://svn.erp5.org/repos/public/experimental/mysqlsenna.buildout/
[buildout]
extends = development.cfg
[buildout]
extends = minimal.cfg
parts +=
zope-instance
[buildout]
extends = official.cfg
[buildout]
extends = minimal.cfg
[buildout]
extends = official.cfg
parts +=
zope-instance
[buildout]
extends =
profiles/versions.cfg
erp5-bt5/buildout.cfg
erp5-products/buildout.cfg
zope-instance/buildout.cfg
parts =
openoffice
erp5-bt5
erp5-products
[buildout]
# adapt https://svn.erp5.org/repos/public/experimental/mysqlsenna.buildout/
[buildout]
extends =
profiles/versions.cfg
apache/buildout.cfg
erp5-bt5/buildout.cfg
erp5-products/buildout.cfg
haproxy/buildout.cfg
mysql-tritonn-5.0/buildout.cfg
oood/buildout.cfg
openoffice/buildout.cfg
python-2.4/buildout.cfg
varnish/buildout.cfg
zope-2.8/buildout.cfg
zope-instance/buildout.cfg
parts =
python
pythonbin
apache
haproxy
varnish
mysql-tritonn-5.0
zope-2.8
oood
openoffice
erp5-bt5
erp5-products
# taken from https://svn.erp5.org/repos/public/experimental/erp5.buildout/profiles/versions.cfg
[versions]
erp5diff = 0.2
python-memcached = 1.45
PyXML = 0.8.4
ipdb = 0.1dev_r1716
itools = 0.20.8
numpy = 1.3.0
zc.recipe.cmmi = 1.2.1
plone.recipe.zope2instance = 3.6
erp5.recipe.zope2instance = 1.2
pysvn = 1.7.2
[buildout]
# http://bluedynamics.com/articles/jens/build-python-in-buildout
extends = https://svn.plone.org/svn/collective/buildout/bda-naked-python/buildout2.4.cfg
python_version = 2.4
[python]
configure-options =
--prefix=${buildout:directory}/parts/python${buildout:python_version}
executable = ${buildout:directory}/parts/python${buildout:python_version}/bin/python${buildout:python_version}
[pythonbin]
recipe = plone.recipe.command
command = ln -s ${python:executable} ${buildout:bin-directory}/python${buildout:python_version}
[buildout]
# http://bluedynamics.com/articles/jens/build-python-in-buildout
extends = https://svn.plone.org/svn/collective/buildout/bda-naked-python/buildout2.6.cfg
python_version = 2.6
[pythonbin]
recipe = plone.recipe.command
command = ln -s ${python:executable} ${buildout:bin-directory}/python${buildout:python_version}
[buildout]
extends = minimal.cfg
parts +=
zope-instance
[buildout]
extends = official.cfg
parts +=
zope-instance
[buildout]
# adapt https://svn.erp5.org/repos/public/experimental/erp5.buildout/
# creates ZEO cluster with multiple Zopes and ZEOs (directory structure and basic configuration)
[buildout]
# adapt https://svn.erp5.org/repos/public/experimental/erp5.buildout-zope-2.12/
# based on https://svn.erp5.org/repos/public/experimental/erp5.buildout
[buildout]
find-links = http://www.nexedi.org/static/packages/source/
[zope-2.8]
recipe = erp5.recipe.zope2install
url = http://www.zope.org/Products/Zope/2.8.11/Zope-2.8.11-final.tgz
skip-fake-eggs =
pytz
diff -urN Zope-2.8.0-final.orig/lib/python/Acquisition/_Acquisition.c Zope-2.8.0-final/lib/python/Acquisition/_Acquisition.c
--- Zope-2.8.0-final.orig/lib/python/Acquisition/_Acquisition.c 2005-06-11 08:24:02.000000000 +0200
+++ Zope-2.8.0-final/lib/python/Acquisition/_Acquisition.c 2005-06-17 16:26:00.742556205 +0200
@@ -410,6 +410,64 @@
int explicit, int containment);
static PyObject *
+Wrapper_GetAttr(PyObject *self, PyObject *attr_name, PyObject *orig)
+{
+ /* This function retrieves an attribute from an object by PyObject_GetAttr.
+
+ The main difference between Wrapper_GetAttr and PyObject_GetAttr is that
+ Wrapper_GetAttr calls _aq_dynamic to generate an attribute dynamically, if
+ the attribute is not found.
+ */
+ PyObject *r, *v, *tb;
+ PyObject *d, *m;
+ PyObject *o;
+
+ if (isWrapper (self))
+ o = WRAPPER(self)->obj;
+ else
+ o = self;
+
+ /* Try to get an attribute in the normal way first. */
+ r = PyObject_GetAttr(o, attr_name);
+ if (r)
+ return r;
+
+ /* If an unexpected error happens, return immediately. */
+ PyErr_Fetch(&r,&v,&tb);
+ if (r != PyExc_AttributeError)
+ {
+ PyErr_Restore(r,v,tb);
+ return NULL;
+ }
+
+ /* Try to get _aq_dynamic. */
+ m = PyObject_GetAttrString(o, "_aq_dynamic");
+ if (! m) {
+ PyErr_Restore(r,v,tb);
+ return NULL;
+ }
+
+ /* Call _aq_dynamic in the context of the original acquisition wrapper. */
+ if (PyECMethod_Check(m) && PyECMethod_Self(m)==o)
+ ASSIGN(m,PyECMethod_New(m,OBJECT(self)));
+ else if (has__of__(m)) ASSIGN(m,__of__(m,OBJECT(self)));
+ d = PyObject_CallFunction(m, "O", attr_name);
+ Py_DECREF(m);
+
+ /* In the case of None, assume that the attribute is not found. */
+ if (d == Py_None) {
+ Py_DECREF(d);
+ PyErr_Restore(r,v,tb);
+ return NULL;
+ }
+
+ Py_XDECREF(r);
+ Py_XDECREF(v);
+ Py_XDECREF(tb);
+ return d;
+}
+
+static PyObject *
Wrapper_findattr(Wrapper *self, PyObject *oname,
PyObject *filter, PyObject *extra, PyObject *orig,
int sob, int sco, int explicit, int containment)
@@ -476,7 +534,7 @@
Py_XDECREF(r); Py_XDECREF(v); Py_XDECREF(tb);
r=NULL;
}
- else if ((r=PyObject_GetAttr(self->obj,oname)))
+ else if ((r=Wrapper_GetAttr(OBJECT(self),oname,orig)))
{
if (r==Acquired)
{
@@ -550,7 +608,7 @@
}
else
{
- if ((r=PyObject_GetAttr(self->container,oname))) {
+ if ((r=Wrapper_GetAttr(self->container,oname,orig))) {
if (r == Acquired) {
Py_DECREF(r);
}
@@ -587,7 +645,7 @@
Wrapper_getattro(Wrapper *self, PyObject *oname)
{
if (self->obj || self->container)
- return Wrapper_findattr(self, oname, NULL, NULL, NULL, 1, 1, 0, 0);
+ return Wrapper_findattr(self, oname, NULL, NULL, OBJECT(self), 1, 1, 0, 0);
/* Maybe we are getting initialized? */
return Py_FindAttr(OBJECT(self),oname);
@@ -604,7 +662,7 @@
return Py_FindAttr(OBJECT(self),oname);
if (self->obj || self->container)
- return Wrapper_findattr(self, oname, NULL, NULL, NULL, 1, 0, 0, 0);
+ return Wrapper_findattr(self, oname, NULL, NULL, OBJECT(self), 1, 0, 0, 0);
/* Maybe we are getting initialized? */
return Py_FindAttr(OBJECT(self),oname);
# adapt https://svn.erp5.org/repos/public/experimental/erp5.buildout
[zope-instance]
recipe = erp5.recipe.zope2instance
zope2-location = ${zope-2.8:location}
user = zope:zope
http-address = 18080
debug-mode = off
control-script = zopectl
#Only for zope2.8
default-zpublisher-encoding =
zope-conf-additional=
%import timerserver
<timer-server>
interval 5
</timer-server>
eggs =
MySQL-python
python-memcached
PyXML
ply
python-ldap
lxml
pytz
timerserver
erp5diff
mechanize
ClientForm
# ${itools:egg}
numpy
simplejson
#products =
# ${cmf15:location}/CMF/
# ${products-deps:location}
# ${products-erp5:location}
# ${products-other:location}
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