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.
$ cat >> $HGRCPATH <<EOF
> [extensions]
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
Test outputting version number
$ hg version -v
Mercurial Distributed SCM (version *) (glob)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-* Matt Mackall and others (glob)
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Enabled extensions:
evolve external * (glob)
Test install
#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(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