#455 closed defect (fixed)

setuptools sandbox isn't tight enough to hold Twisted's sand in so that it doesn't get in Nevow's eyes

Reported by: zooko Owned by: zooko
Priority: major Milestone: 1.3.0
Component: packaging Version: 1.0.0
Keywords: Cc: cgalvan
Launchpad Bug:

Description

http://bugs.python.org/setuptools/issue20 # package required at build time seems to be not fully present at install time?

This makes it impossible to install both Twisted and Nevow in one invocation of a setuptools process. However, if you do two successive invocations of a setuptools process then the second one works. Brian is committing a patch to our Makefile so that make build does ./setup.py develop ; setup.py develop instead of just setup.py develop, which will make the etch builder start working again. This ticket is to remind me how I don't like that kludge and to be sure and take it out as soon as we have a setuptools that can install Twisted and Nevow in one pass.

Change History (11)

comment:1 Changed at 2008-08-26T04:41:13Z by cgalvan

  • Resolution set to fixed
  • Status changed from new to closed

As noted on the setuptools tracker, this issue has been fixed in the setuptools trunk as of r65949 :)

comment:2 Changed at 2008-08-26T05:27:33Z by cgalvan

  • Resolution fixed deleted
  • Status changed from closed to reopened

It turns out that the current fix in the trunk only half-fixes this issue :/ But, since PJE has been very responsive lately, hopefully he will have it fully fixed soon :)

comment:3 Changed at 2008-09-17T05:33:36Z by warner

This problem just got worse with the changes to #249 that removed the pyutil tarball from misc/dependencies/ . It looks like one of the dependent libraries (probably zfec or pycryptopp, something that depends upon and contains a copy of pyutil internally) is causing an old version of pyutil to be imported, which then breaks the subsequent requirement on a newer version.

After that change, it requires *three* invocations of 'setup.py develop' to make the errors go away. I'm updating the Makefile to do this (make build-once || make build-once || make build-once, so it will only do it once if it works the first time).

comment:4 Changed at 2008-09-17T17:13:44Z by zooko

Hm... Is the problem that when a too-old version of pyutil is installed, then the requirement that we need a newer version cannot be satisfied? If so, then this is not part of this ticket, but is instead part of a new ticket that we should probably create to investigate how to use setuptools's "multi-version" feature, so that both older and newer versions of a library can be installed and the packages that require that library will use the version that they require:

http://peak.telecommunity.com/DevCenter/setuptools#develop-deploy-the-project-source-in-development-mode

comment:5 Changed at 2008-09-17T17:14:12Z by zooko

  • Cc cgalvan added

adding Cc: Chris Galvan in the hopes that he can explain the multi-version feature to us...

comment:6 Changed at 2008-09-17T17:33:16Z by warner

it might be, I remember seeing unusual versions of pyutil in the logs. I'll investigate more closely. For reference, it was the dapper and edgy buildslave that had the problem, and they should still be having it, so just check their logs.

It might also suffice to not ship a copy of pyutil inside zfec/pycryptopp, perhaps by using the same approach as we're doing with tahoe (ship both sumo and normal tarballs, provide a -deps.tar.gz package, etc)

comment:7 Changed at 2008-09-17T18:15:06Z by zooko

Yes, that sounds like a good change to make to zfec (pycryptopp does not require pyutil). http://allmydata.org/trac/zfec/ticket/2 (offer unbundled "slim" version of zfec without pyutil)

comment:8 Changed at 2008-10-22T02:27:35Z by zooko

  • Resolution set to fixed
  • Status changed from reopened to closed

Okay, the original problem was fixed in http://bugs.python.org/setuptools/issue20 , which is in setuptools-0.6c9, which is bundled with Tahoe as of 0bc116b3a2580d89, 3cfc00f5cff1452d, 2e35648901ede7bd. I confirmed that this fixed the original problem when installing Tahoe on Windows.

The next problem is that zfec came with a version of pyutil bundled -- that has been fixed (http://allmydata.org/trac/zfec/ticket/2 (offer unbundled "slim" version of zfec without pyutil) has been closed).

But there is another problem that is deserving of a new ticket -- #530 (use setuptools's --multi-version mode).

comment:9 Changed at 2009-03-09T16:55:27Z by zooko

  • Milestone changed from 1.3.1 to 1.3.0

This was actually fixed for tahoe-1.3.0.

comment:10 Changed at 2011-01-22T02:01:23Z by davidsarah

Does this mean that the comment at Makefile@4966#L52 should be removed?

comment:11 Changed at 2011-01-22T03:42:31Z by david-sarah@…

In 8f4ae53f391429ed:

Makefile: remove a stale comment about a bug fixed in Tahoe v1.3.0. refs #455

Note: See TracTickets for help on using tickets.