On Wed, 2014-08-20 at 12:37 +0200, Andreas Jaeger wrote:
Shaun, it is not working in a virtual environment. To reproduce: * Install python virtualenv package * Run "virtualenv its" * Run "source its/bin/activate" to use the virtualenv * Run now in the virtualenv "pip install itstool"
It fails with: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: could not create '/usr/share/itstool': Permission denied
---------------------------------------- Cleaning up... Command /tmp/its/bin/python -c "import setuptools;__file__='/tmp/itstools/build/itstool/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-M39Dm9-record/install-record.txt --single-version-externally-managed --install-headers /tmp/itstools/include/site/python2.7 failed with error code 1 in /tmp/its/build/itstool ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I suggest to not use '/usr/share/itstool/its' in setup.py. Changing this to 'itstool/its' fixed it for me.
It scares me a bit to have different versions of the same package putting files in different places (pypi package vs upstream tarball). But that's probably live-with-able.
But then it failed with a missing dependency on libxml2. It would be great if the tool could live without the dependency and use lxml instead, otherwise it needs to be setup using site-packages (--system-site-packages)
But this is a complete non-starter. itstool does rather intricate things with XML. It's quite a bit more than parse-and-forget. To change it to use lxml would require a complete rewrite, and I'm not even sure it can be done. Most XML libraries don't let you shoot yourself in the foot as easily as libxml2 does.
We cannot move forward unless itstool can be executed in a virtual environment (using site packages is possible but not desired).
Shaun, could you take care of uploading a fixed package, please?
It's unfortunate the servers don't just have >=2.0.1. It's been out for a while now. This isn't high on my list right now, and it's too late in the release cycle to switch anyway. I'll get back to it after Juno. -- Shaun