Opened 6 years ago

Closed 5 years ago

#2111 closed defect (fixed)

SetupTools version number "normalisation" breaks bundle_builder

Reported by: Tristan Croll Owned by: Greg Couch
Priority: minor Milestone:
Component: Tool Shed Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

PEP 440 does some (annoying, IMO) second-guessing of version numbering (see https://www.python.org/dev/peps/pep-0440/#development-release-separators):

evelopment releases allow a ., -, or a _ separator as well as omitting the separator all together. The normal form of this is with the . separator. This allows versions such as 1.2-dev2 or 1.2dev2 which normalize to 1.2.dev2

Bundle Builder doesn't know about this, so (for example) Clipper builds with version name "0.9.4-dev1" or "0.9.4dev1" fail mysteriously at the very last lap with:

Traceback (most recent call last):
  File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/chimerax/core/commands/devel.py", line 151, in _run
    unbound_method(bb, *args, **kw)
  File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/chimerax/bundle_builder/bundle_builder.py", line 87, in make_install
    self.make_wheel(test=test, debug=debug)
  File "/opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/chimerax/bundle_builder/bundle_builder.py", line 82, in make_wheel
    raise RuntimeError("Building wheel failed")
RuntimeError: Building wheel failed

... because it's expecting the wheel path to use the *original* version string.

To make life easier I think I'll stick to "numerical-only" version numbering for Clipper, but I'd still like to use "dev" versioning for ISOLDE. Easy enough to work around the above now I know what the problem is.

Change History (3)

comment:1 by Greg Couch, 6 years ago

Owner: changed from Conrad Huang to Greg Couch

Will check if latest PEP 440 support fixes this.

comment:2 by Greg Couch, 5 years ago

Status: assignedaccepted

comment:3 by Greg Couch, 5 years ago

Resolution: fixed
Status: acceptedclosed

Bundle builder now canonicalizes the version number to match setuptools.

Note: See TracTickets for help on using tickets.