[Python-bugs-list] [ python-Bugs-511055 ] bdist_wininst fails on StandaloneZODB

noreply@sourceforge.net noreply@sourceforge.net
Fri, 01 Feb 2002 01:47:30 -0800


Bugs item #511055, was opened at 2002-01-30 21:41
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=511055&group_id=5470

Category: Distutils
Group: Python 2.2
>Status: Closed
Resolution: Invalid
Priority: 5
Submitted By: Tim Peters (tim_one)
Assigned to: Thomas Heller (theller)
Summary: bdist_wininst fails on StandaloneZODB

Initial Comment:
I don't know what I'm doing (never tried anything like 
this before), so scream if this is stupid.  From a 
vanilla CVS checkout of Zope Corp's StandaloneZODB, I 
tried (this is with Python 2.2 final):

\python22\python setup.py bdist_wininst

This was on Win98SE, with MSVC 6 installed.  It seemed 
to run fine for awhile, but eventually barfed.  Here's 
the tail end:

...
LIB\BTrees
copying build\lib.win32-2.2\BTrees\OIBTree.pyc -> 
build\bdist.win32\wininst\PLATLIB\BTrees
warning: install: modules installed 
to 'build\bdist.win32\wininst\PLATLIB\', which is not 
in Python's module search path (sys.path) -- you'll 
have to change the  search path yourself
changing into 'build\bdist.win32\wininst'
zip -rq c:\windows\TEMP\~-1370033-3.zip .
creating 'c:\windows\TEMP\~-1370033-3.zip' and 
adding '.' to it
changing back to 'C:\Code\StandaloneZODB'
creating dist\BTrees-?.win32-py2.2.exe
error: dist\BTrees-?.win32-py2.2.exe: No such file or 
directory

C:\Code\StandaloneZODB>

FYI, "setup.py install" and "setup.py build" work fine 
from this directory.

----------------------------------------------------------------------

>Comment By: Thomas Heller (theller)
Date: 2002-02-01 01:47

Message:
Logged In: YES 
user_id=11105

Ok. Clsed again.

----------------------------------------------------------------------

Comment By: Tim Peters (tim_one)
Date: 2002-01-31 12:48

Message:
Logged In: YES 
user_id=31435

I wouldn't bother, Thomas.  All OSes have *some* disallowed 
characters (e.g., the platform path separator character is 
always disallowed, else a path would be ambiguous).  The 
problem here was using "?" instead of the universally 
recognized <wink> "XXX" to mean "this needs more 
attention", and that quirk is unlikely to be common.

----------------------------------------------------------------------

Comment By: Thomas Heller (theller)
Date: 2002-01-31 12:27

Message:
Logged In: YES 
user_id=11105

Maybe the right branch of StandaloneZODB fixes this 
particular problem, the branch did at least reproduce the 
problem;-)

The question is: should distutils check if the version 
number contains characters disallowed in filenames (on 
windows, are there any for *nix or Mac?), and construct a 
filename without embedded version number in these cases?

I have reopened the bug, please comment.

----------------------------------------------------------------------

Comment By: Barry Warsaw (bwarsaw)
Date: 2002-01-31 11:17

Message:
Logged In: YES 
user_id=12800

I don't think you're using the right cvs branch on your
checkout.  You should be using StandaloneZODB-1_0-branch. 
On that branch, setup.py will have a revision 1.9.4.4 which
should have the correct values.

----------------------------------------------------------------------

Comment By: Thomas Heller (theller)
Date: 2002-01-31 07:54

Message:
Logged In: YES 
user_id=11105

Ok, I found it.
Yup, I was right. The distutils-bug *is* fixed, here's the 
patch for Standalone's setup.py:

RCS file: /cvs-repository/StandaloneZODB/setup.py,v
retrieving revision 1.10
diff -c -r1.10 setup.py
*** setup.py	21 Jan 2002 16:47:01 -0000	1.10
--- setup.py	31 Jan 2002 15:51:00 -0000
***************
*** 115,121 ****
                  )
  
  setup(name="BTrees",
!       version="?",
        packages=["BTrees", "BTrees.tests"],
        ext_modules = [oob, oib, iib, iob],
        author = zope_corp,
--- 115,121 ----
                  )
  
  setup(name="BTrees",
!       version="XXX",
        packages=["BTrees", "BTrees.tests"],
        ext_modules = [oob, oib, iib, iob],
        author = zope_corp,

I'll mark the bug as invalid.

----------------------------------------------------------------------

Comment By: Thomas Heller (theller)
Date: 2002-01-31 07:46

Message:
Logged In: YES 
user_id=11105

I thought this bug was fixed before 2.2 final...
Where can I check out StandaloneZODB so that I can look 
into it?

----------------------------------------------------------------------

Comment By: M.-A. Lemburg (lemburg)
Date: 2002-01-31 01:32

Message:
Logged In: YES 
user_id=38388

This is a distutils sort of bug: if you don't specify a package 
version number, distutils uses '?' instead. Unfortunately,
some OSes don't handle '?' in filenames too well and this
is probably what you are seeing here.

The fix is simple: define a version number in setup.py.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=511055&group_id=5470