[Python-apps-team] Bug#920977: Breaks loading of db backends in Trac

Andras Korn korn-debbugs at elan.rulez.org
Thu Jan 31 08:11:42 GMT 2019


Package: mercurial-common
Version: 4.8.2-1
Severity: important

Hi,

as long as mercurial-common is installed, the postgres and sqlite db backend driver of Trac won't load:

2019-01-31 08:58:49,372 Trac[loader] ERROR: Skipping "trac.db.postgres = trac.db.postgres_backend": 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/loader.py", line 77, in _load_eggs
    entry.load(require=True)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2346, in load
    return self.resolve()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2352, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 172, in _demandimport
    return _hgextimport(_origimport, name, globals, locals, fromlist, level)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 43, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/trac/db/postgres_backend.py", line 46, in <module>
    psycopg2_version = get_pkginfo(psycopg).get('version',
  File "/usr/lib/python2.7/dist-packages/trac/util/__init__.py", line 806, in get_pkginfo
    metadata = 'METADATA' if dist.has_metadata('METADATA') else 'PKG-INFO'
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 151, in __getattr__
    return getattr(self._module, attr)
AttributeError: 'module' object has no attribute 'has_metadata'
2019-01-31 08:58:49,372 Trac[loader] DEBUG: Loading plugin "trac.db.sqlite" from "/usr/lib/python2.7/dist-packages"
2019-01-31 08:58:49,374 Trac[loader] ERROR: Skipping "trac.db.sqlite = trac.db.sqlite_backend": 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/trac/loader.py", line 77, in _load_eggs
    entry.load(require=True)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2346, in load
    return self.resolve()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2352, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 172, in _demandimport
    return _hgextimport(_origimport, name, globals, locals, fromlist, level)
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 43, in _hgextimport
    return importfunc(name, globals, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/trac/db/sqlite_backend.py", line 45, in <module>
    pysqlite_version_string = get_pkginfo(sqlite).get('version',
  File "/usr/lib/python2.7/dist-packages/trac/util/__init__.py", line 806, in get_pkginfo
    metadata = 'METADATA' if dist.has_metadata('METADATA') else 'PKG-INFO'
  File "/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py", line 151, in __getattr__
    return getattr(self._module, attr)
AttributeError: 'module' object has no attribute 'has_metadata'

I don't understand what the connection is, but removing mercurial-common
(which ships
/usr/lib/python2.7/dist-packages/hgdemandimport/demandimportpy2.py) helps.

Justification for severity important: breaks unrelated packages.

AndrĂ¡s

-- System Information:
Debian Release: 10
  APT prefers unstable
  APT policy: (350, 'unstable'), (350, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.169-vs2.3.9.8-caeeng (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=hu_HU.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: runit (via /run/runit.stopit)

Versions of packages mercurial-common depends on:
ii  python  2.7.15-4

Versions of packages mercurial-common recommends:
ii  ca-certificates  20190110
ii  mercurial        4.8.2-1
ii  sensible-utils   0.0.12

Versions of packages mercurial-common suggests:
pn  python-mysqldb   <none>
pn  python-openssl   <none>
ii  python-pygments  2.3.1+dfsg-1
pn  tk [wish]        <none>

-- debconf-show failed

-- 
        With my luck, even suicide would only be a temporary solution.



More information about the Python-apps-team mailing list