Fwd: Re: About zope and plone

Ruslan Mahmatkhanov cvs-src at yandex.ru
Wed Oct 19 10:30:28 UTC 2011


Good day, gentlemen.

Please tell what do you think about message bellow and this pr:
http://bugs.freebsd.org/159962

Message bellow is somewhat complements this pr. Please also note that 
Wen agree with this pr, but he is busy for this right now. Also note 
that this pr is a stopper wrt importing of new zope and plone.

Thanks in advance.

-------- Исходное сообщение --------
Тема: Re: About zope and plone
Дата: Sun, 16 Oct 2011 23:03:41 +0400
От: Ruslan Mahmatkhanov <cvs-src at yandex.ru>
Кому: wen heping <wenheping at gmail.com>

wen heping wrote on 14.10.2011 13:15:

> Today I tested devel/py-zope.minmax in Tinderbox, it has the same plist error.
> Now I need such a port exist in current FreeBSD portstree to be a demo
> to python at .
>
> If python@ does not disagree I would ask portmgr@ for an exprun to test it.
> Then I would commit it.

Hi Wen,

i'm finally get it.
While seeking an example for you i took some broken/outdated ports, that 
i just can't left in this state :), so i apologize for delay.

You was right, it's a kind of upstream problem, but bsd.python.mk still
contains a problem too, because this error still exists on deinstall of
such silly ports (that may potentially exist in future).

Here is how to reproduce:
Pick any port, that
   a) using setuptools for installing
   b) has non-empty install_requires[] list in it's setup.py
   c) does not define BUILD or RUN DEPENDS for deps, that are listed
      in it's setup.py

Ok, i wasn't able to find such port in the tree. But you can take, say,
devel/py-daemon, remove BUILD/RUN_DEPENDS in it's Makefile and try to
build it in tinderbox - it will builds and installs fine, but you'll get 
extra files installed on deinstall.

The only port, that looked promising, was devel/py-Jinja. It defines
this lines:

PYEASYINSTALL_INSTALLARGS=      -N ${PYTHON_SITELIBDIR}/${PYEASYINSTALL_EGG}
PYEASYINSTALL_UNINSTALLARGS=    -q -m -N
${PYTHON_SITELIBDIR}/${PYEASYINSTALL_EGG}

Note adding the -N key on deinstall. But right now they are not needed,
because this port packages successfully without them (it has empty
install_requires[]).

The problem with Products.MailHost, for example, is that if i add zope
as dependency of this port, we well have cyclic deps and broken build.
Resolving this issue with upstream will take much time (i know this
because i already have 3 patches that hanging in zope/plone bugtrackers
more than month).

I can avoid this a different way, by defining
PYEASYINSTALL_UNINSTALLARGS, but i believe that more correct and more
easy is to define this -N in bsd.python.mk, because it's just two bytes
in one file - and this is all, problem solved. Otherwise, i will be
forced to patch many ports with this UNINSTALLARGS line, effectively
littering the tree and making it hard to maintain. We already have it in 
PYEASYINSTALL_INSTALLARGS for some reason anyway, so why to not define 
it in UNINSTALLARGS too for symmetry?

I hope this arguments are sufficient to convince portmgr@ and make this
change.

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.


More information about the freebsd-python mailing list