Bug 49175 - python3-module-magic не дает выполниться утилите rpmlint
Summary: python3-module-magic не дает выполниться утилите rpmlint
Status: CLOSED NOTABUG
Alias: None
Product: Branch p10
Classification: Unclassified
Component: python3-module-magic (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 minor
Assignee: qa-team@altlinux.org
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-24 21:36 MSK by dfpl
Modified: 2024-06-21 17:10 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dfpl 2024-01-24 21:36:35 MSK
Не отрабатывает утилита rpmlint.

$ python3 --version
Python 3.9.16

$ rpm -qf /usr/lib64/python3/site-packages/magic.py
python3-module-magic-0.4.13-alt3.x86_64

$ rpmlint --help
/usr/lib64/python3/site-packages/magic.py:188: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if result is -1:
Traceback (most recent call last):
  File "/usr/bin/rpmlint", line 33, in <module>
    sys.exit(load_entry_point('rpmlint==2.0.0', 'console_scripts', 'rpmlint')())
  File "/usr/bin/rpmlint", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib64/python3.9/importlib/metadata.py", line 86, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3/site-packages/rpmlint/cli.py", line 6, in <module>
    from rpmlint.lint import Lint
  File "/usr/lib/python3/site-packages/rpmlint/lint.py", line 13, in <module>
    from rpmlint.pkg import FakePkg, getInstalledPkgs, Pkg
  File "/usr/lib/python3/site-packages/rpmlint/pkg.py", line 17, in <module>
    _magic = magic.open(magic.MAGIC_NONE)
AttributeError: module 'magic' has no attribute 'open'

$ python3 -c 'import magic; help(magic.open)'
/usr/lib64/python3/site-packages/magic.py:188: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if result is -1:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: module 'magic' has no attribute 'open'
Comment 1 Alexander Makeenkov 2024-06-21 15:46:12 MSK
Не могу воспроизвести:

$ rpm -q python3-module-magic rpmlint 
python3-module-magic-0.4.27-alt1.x86_64
rpmlint-2.0.0-alt1.noarch

$ rpmlint --help
usage: rpmlint [-h] [-V] [-c CONFIG] [-e EXPLAIN [EXPLAIN ...]] [-r RPMLINTRC] [-v] [-p] [-i INSTALLED [INSTALLED ...]] [-t] [-T] [-s | -P] [rpmfile ...]

Check for common problems in rpm packages

positional arguments:
  rpmfile               files to be validated by rpmlint

optional arguments:
  -h, --help            show this help message and exit


$ python3 -c 'import magic; help(magic.open)' | head
Help on function _ in module magic:

_(*args, **kwargs)
Comment 2 dfpl 2024-06-21 17:09:41 MSK
Нашёл причину ошибки.
При инсталлировании стороннего софта подцепился старый python3-module-magic,
$ apt-cache show python3-module-magic | grep -e ^Version
Version: 0.4.27-alt1:p10+341764.3000.10.1@1710341972
Version: 0.4.13-alt3:sisyphus+261331.20.5.3@1604886731

Переустановил python3-module-magic, проблема исправилась.