[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1582: zetuptoolz delenda est

Tahoe-LAFS trac at tahoe-lafs.org
Tue Mar 8 17:54:13 UTC 2016


#1582: zetuptoolz delenda est
----------------------------+--------------------------------------
     Reporter:  davidsarah  |      Owner:  somebody
         Type:  defect      |     Status:  new
     Priority:  major       |  Milestone:  1.10.3
    Component:  packaging   |    Version:  1.9.0b1
   Resolution:              |   Keywords:  setuptools review-needed
Launchpad Bug:              |
----------------------------+--------------------------------------

Comment (by zooko):

 Replying to [comment:28 warner]:
 > It looks like the enthusiastically-long pycryptopp version string is
 causing a `shutil.copy()` call to exceed the windows maximum pathname
 length.

 That's the wrong way to describe this problem. The facts are:

 1. setuptools uses the short-paths Windows API instead of the long-paths
 Windows API. That's the root of the problem, and it is probably easy to
 fix (you just prepend `\\` or something like that to the paths, and then
 Windows handles long paths).

 2. Because of this bug, the build will fail whenever the base directory
 that you're starting in, plus 2 times the name of your package, exceeds
 256 bytes (I think).

 3. Therefore, the build will always fail if the base directory that you're
 starting in has too long of a pathname, and it will always succeed (at
 least with all current package names), if the base directory you're in has
 sufficiently short of a pathname.

 Therefore, reducing the size of pycryptopp's package name would be a
 kludge that would only prevent the error in *some* of the cases. Fixes
 that can fix the problem in all of the cases are:

 1. Build in a directory with a short name, e.g. "C:/build". That is a
 workaround that anybody can do without changing the code.

 2. Fix setuptools to use the correct Windows API, by prepending `\\` or
 whatever it is to the pathnames before calling `shutil.copy()`.

 I'm not going to change the pycryptopp versioning scheme.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1582#comment:38>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list