[tahoe-dev] [tahoe-lafs] #1168: make setup.py more easily patchable by OS packagers

Zooko O'Whielacronx zooko at zooko.com
Wed Aug 11 21:17:54 UTC 2010


On Wed, Aug 11, 2010 at 6:49 AM, Greg Troxel <gdt at ir.bbn.com> wrote:
>
> From the pkgsrc point of view, I also would like to see this.
> Basically, I want to tell the build system: if anything you want isn't
> *already* provided, just fail and tell me.

Currently there is an option to "python setup.py install" named
"--single-version-externally-managed" which gives the behavior of just
not checking dependencies at all.

The behavior you're requesting: check dependencies but stop if they
aren't already satisfied instead of trying to satisfy them, could be
accomplished by first running install with
"--single-version-externally-managed" and then executing the resulting
"tahoe" script, for example, I uninstalled pyasn1 from my system and
then did the following:

$ python setup.py install --single-version-externally-managed
--prefix=targetinstalldir --record=/dev/null 1>/dev/null
$ cd targetinstalldir/
$ PYTHONPATH=lib/python2.6/site-packages ./bin/tahoe --version
Traceback (most recent call last):
  File "./bin/tahoe", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/Library/Python/2.6/site-packages/distribute-0.6.13-py2.6.egg/pkg_resources.py",
line 2671, in <module>
    working_set.require(__requires__)
  File "/Library/Python/2.6/site-packages/distribute-0.6.13-py2.6.egg/pkg_resources.py",
line 654, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/Library/Python/2.6/site-packages/distribute-0.6.13-py2.6.egg/pkg_resources.py",
line 552, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pyasn1>=0.0.8a


Is that sufficient to satisfy the needs of the NetBSD and Ubuntu
packagers (Greg, Paul), or do you want something more?

Regards,

Zooko



More information about the tahoe-dev mailing list