[Openstack-i18n] [Openstack-docs] Switch to itstool for docs translation?

Andreas Jaeger aj at suse.com
Wed Aug 20 13:23:44 UTC 2014

On 08/20/2014 03:12 PM, Shaun McCance wrote:
> 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.

If you do this correctly, it will install them the same way! The
difference is installing system wide to /usr/share and installing
locally in a virtual environment. datadir will be set properly if you do
not hardcare /usr/share

>> 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.

Both python-libxml2 and xml use libxml2 - just two different ways.

But if rewriting is too hard, then let's not change it for now. It's not
a ship-stopper.

>> 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.

Since this only affects manuals, we can do it any time, the change
itself is not that huge and would not block us. If you don't have time
right now, this is another issue...

 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter: jaegerandi
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

More information about the Openstack-i18n mailing list