I'm working on update to net-mgmt/py-snmp4 and i faced with interesting issue with easy_install. Right now we have -N switch in our PYEASYINSTALL_INSTALLARGS, that prevents checking for dependencies that set in distribution's setup.py with requires() calls. But the same thing should be applied to PYEASYINSTALL_UNINSTALLARGS, because the deps checking happens on this stage too and effectively polluting filesystem. See this buildlogs:
With current Mk/bsd.python.mk:
With patched Mk.bsd.python.mk:
There is the patch to net-mgmt/py-snmp4 which let you reproduce the problem:
As you can see, at deinstall it fetches and installs pyasn1-0.0.13-py2.7.egg into PYTHON_SITELIBDIR (i checked this also in my live system - this file isn't created on build stage when requires() run, but on deinstall stage).
Technically, we can avoid this on port level with two options:
1. Define PYEASYINSTALL_UNINSTALLARGS= -q -N in port's Makefile
2. Patch setup.py to eliminate all the requires() calls.
3. Define dependencies set in RUN_DEPENDS also in BUILD_DEPENDS,
so the port will find it on requires() checks, but this is wrong
logically - we actually need this dependency only on run-time.
So, i'd prefer to apply this patch to bsd.python.mk
PS. We also may add "-H None" or "--allow-hosts=None" to prevent it download and install anything, as suggested in setuptools manual:
but this may be overkill.
Fix: Patch attached with submission follows:
Over to maintainer(s).
pav 2011-11-07 12:40:53 UTC
FreeBSD ports repository
- Stop resolving dependencies on deinstall when juggling python eggs
Submitted by: Ruslan Mahmatkhanov <email@example.com>
Revision Changes Path
1.142 +2 -2 ports/Mk/bsd.python.mk
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to "email@example.com"