Mercurial > evolve
changeset 4876:1a47cc2728ff stable
setup: make runnable from other dirs
Currently it fails when run in that way for two reasons:
- the description is loaded from the README file but with a path relative to
the working directory
- module references have the same issue, which is fixed with package_dir.
author | Ian Moody <moz-ian@perix.co.uk> |
---|---|
date | Thu, 03 Oct 2019 23:20:47 +0100 |
parents | 164543ac3277 |
children | 77e5c733200a |
files | setup.py tests/test-version-install.t |
diffstat | 2 files changed, 17 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/setup.py Thu Oct 03 23:17:13 2019 +0100 +++ b/setup.py Thu Oct 03 23:20:47 2019 +0100 @@ -28,6 +28,9 @@ 'hgext3rd.evolve.thirdparty', 'hgext3rd.topic', ] +py_packagedir = { + 'hgext3rd': join(dirname(__file__), 'hgext3rd') +} py_versions = '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4' @@ -44,10 +47,11 @@ maintainer_email='pierre-yves.david@ens-lyon.org', url='https://www.mercurial-scm.org/doc/evolution/', description='Flexible evolution of Mercurial history.', - long_description=open('README').read(), + long_description=open(join(dirname(__file__), 'README')).read(), keywords='hg mercurial', license='GPLv2+', py_modules=py_modules, packages=py_packages, + package_dir=py_packagedir, python_requires=py_versions )
--- a/tests/test-version-install.t Thu Oct 03 23:17:13 2019 +0100 +++ b/tests/test-version-install.t Thu Oct 03 23:20:47 2019 +0100 @@ -18,11 +18,19 @@ evolve external * (glob) Test install -BROKEN: can't call setup.py from a different dir +#if py3 +BROKEN: unicode errors opening the README $ "$PYTHON" "$TESTDIR/../setup.py" install --root "$TESTTMP/installtest" > /dev/null Traceback (most recent call last): File "*/../setup.py", line *, in <module> (glob) - long_description=open('README').read(), - IOError: [Errno 2] No such file or directory: 'README' (no-py3 !) - FileNotFoundError: [Errno 2] No such file or directory: 'README' (py3 !) + long_description=open(join(dirname(__file__), 'README')).read(), + File "*/encodings/ascii.py", line *, in decode (glob) + return codecs.ascii_decode(input, self.errors)[0] + UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 460: ordinal not in range(128) [1] +#else +TODO: fix warning + $ "$PYTHON" "$TESTDIR/../setup.py" install --root "$TESTTMP/installtest" > /dev/null + */distutils/dist.py:*: UserWarning: Unknown distribution option: 'python_requires' (glob) + warnings.warn(msg) +#endif