This should also (hopefully) fix the LGTM baseline build, because they appear
to downgrade all dependencies to the lowest declared-acceptable version
before performing their static analysis, and the previous setuptools-11.3 was
too old to support some of the syntax used in zfec's setup.py (specifically
the python clause in `"argparse > 0.8 ; python <= '2.7'"`).
PR 470 updated the declared setuptools requirement, but it broke Travis on
OS-X because that platform had a really old setuptools-18.5, and apparently
upgrading from 18.5 to the current 39.0.1 during the tox process caused
internal consistency problems (probably mixing pieces of the two different
setuptools modules). This branch fixes it by telling travis to upgrade
setuptools before we run tox.
closestahoe-lafs/tahoe-lafs#470
The Travis OS-X worker has a very old setuptools-18.5 in /System. This is too
old to understand several important setup.py keys like `python_requires`, and
crashes when tryung to run the first invocation of tox (`tox -e codechecks`).
I think tox is using the system python (with which `tox` was invoked) to run
`setup.py egg_info` (to learn the dependencies), which gets the old
system-installed setuptools. Ideally it'd use the python from the
newly-created virtualenv, which would use whatever version of setuptools was
bundled with the `virtualenv` package (probably newer, given that
`virtualenv` itself should have been installed a moment earlier as a
dependency of `tox`.
I consider this a bug in Tox (https://github.com/tox-dev/tox/issues/507), but
the workaround is to configure Travis to install the most recent `setuptools`
along with `tox`.
refs tahoe-lafs/tahoe-lafs#470