[Pkg-bazaar-maint] Bug#845335: bzr: Broken with python2.7 2.7.12-7
Dmitry Shachnev
mitya57 at debian.org
Tue Nov 22 15:40:03 UTC 2016
Package: bzr
Version: 2.7.0+bzr6619-2
Severity: grave
After the latest python2.7 update, I get this:
$ bzr pull
bzr: ERROR: exceptions.TypeError: first argument must be string or compiled pattern
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 930, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 1121, in run_bzr
ret = run(*run_argv)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 673, in run_argv_aliases
return self.run(**all_cmd_args)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 697, in run
return self._operation.run_simple(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 136, in run_simple
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 166, in _do_with_cleanups
result = func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/builtins.py", line 1210, in run
self.outf.write(gettext("Using saved parent location: %s\n") % display_url)
File "/usr/lib/python2.7/dist-packages/bzrlib/lazy_import.py", line 117, in __call__
return obj(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/i18n.py", line 40, in gettext
install()
File "/usr/lib/python2.7/dist-packages/bzrlib/i18n.py", line 92, in install
_translations = install_translations(lang)
File "/usr/lib/python2.7/dist-packages/bzrlib/i18n.py", line 114, in install_translations
fallback=True)
File "/usr/lib/python2.7/gettext.py", line 554, in translation
t = _translations.setdefault(key, class_(fp))
File "/usr/lib/python2.7/gettext.py", line 255, in __init__
self._parse(fp)
File "/usr/lib/python2.7/gettext.py", line 391, in _parse
self.plural = c2py(plural)
File "/usr/lib/python2.7/gettext.py", line 177, in c2py
result, nexttok = _parse(_tokenize(plural))
File "/usr/lib/python2.7/gettext.py", line 114, in _parse
nexttok = next(tokens)
File "/usr/lib/python2.7/gettext.py", line 85, in _tokenize
for mo in re.finditer(_token_pattern, plural):
File "/usr/lib/python2.7/re.py", line 190, in finditer
return _compile(pattern, flags).finditer(string)
File "/usr/lib/python2.7/re.py", line 247, in _compile
raise TypeError, "first argument must be string or compiled pattern"
TypeError: first argument must be string or compiled pattern
bzr 2.8.0dev1 on python 2.7.12 (Linux-4.8.0-1-amd64-x86_64-with-debian-
stretch-sid)
arguments: ['/usr/bin/bzr', 'pull']
plugins: bash_completion[2.8.0dev1], changelog_merge[2.8.0dev1],
grep[2.8.0dev1], launchpad[2.8.0dev1], netrc_credential_store[2.8.0dev1],
news_merge[2.8.0dev1], po_merge[2.8.0dev1], weave_fmt[2.8.0dev1]
encoding: 'utf-8', fsenc: 'UTF-8', lang: 'de_DE.UTF-8'
It seems that bzrlib tries to replace re.compile with its own function
(see reset_compile() in bzrlib/lazy_regex.py), and new Python 2 does not like
that.
In particular, _token_pattern in gettext is an instance of LazyRegex class,
and that does not pass the sre_compile.isstring() check (and so re._compile
raises an exception when it gets that as an argument).
A workaround is downgrading python2.7 to the previous version (i.e. 2.7.12-3
from testing), or running Bzr with LC_ALL=C.UTF-8.
--
Dmitry Shachnev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-bazaar-maint/attachments/20161122/7f6999cd/attachment.sig>
More information about the Pkg-bazaar-maint
mailing list