Package: ognibuild
Version: 0.0.18+git20230208.1.9b890a2-1
Severity: normal
Usertags: crash

With hexchat, `ogni build` crashes because meson prints a warning
to stderr and that gets parsed as JSON by ognibuild/buildsystem.py.

https://github.com/hexchat/hexchat/

Probably the right fix would be to not parse meson stderror as JSON
and instead direct stderr to the terminal ogni is running on.

   hexchat (master =) $ ogni build
   Preparing directory .
   Using requirement resolver: [cpan, ctan, pypi, npm, go, hackage, cran, 
bioconductor, octave-forge]
   Detected buildsystems: meson
   Checking that declared requirements are present
   Running ['meson', 'introspect', '--scan-dependencies', './meson.build']
   Trying to enter misc which has already been visited --> Skipping
   [{"name": "gio-2.0", "required": true, "version": [">= 2.36.0"], 
"has_fallback": false, "conditional": false}, {"name": "gmodule-2.0", 
"required": true, "version": [], "has_fallback": false, "conditional": false}, 
{"name": "libcanberra", "required": true, "version": [">= 0.22"], 
"has_fallback": false, "conditional": false}, {"name": "dbus-glib-1", 
"required": true, "version": [], "has_fallback": false, "conditional": false}, 
{"name": "openssl", "required": true, "version": [">= 0.9.8"], "has_fallback": 
false, "conditional": true}, {"name": "gtk+-2.0", "required": true, "version": 
[">= 2.24.0"], "has_fallback": false, "conditional": false}, {"name": "x11", 
"required": true, "version": [], "has_fallback": false, "conditional": true}, 
{"name": "iso-codes", "required": false, "version": [], "has_fallback": false, 
"conditional": false}, {"name": "-embed", "required": false, "version": [">= 
3.3"], "has_fallback": false, "conditional": true}, {"name": "libpci", 
"required": false, "version": [], "has_fallback": false, "conditional": true}]
   Traceback (most recent call last):
     File "/usr/bin/ogni", line 33, in <module>
       sys.exit(load_entry_point('ognibuild==0.0.18', 'console_scripts', 
'ogni')())
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/bin/ogni", line 25, in importlib_load_entry_point
       return next(matches).load()
              ^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 202, in 
load
       module = import_module(match.group('module'))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3.11/importlib/__init__.py", line 126, in 
import_module
       return _bootstrap._gcd_import(name[level:], package, level)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
     File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
     File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
     File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
     File "<frozen importlib._bootstrap_external>", line 940, in exec_module
     File "<frozen importlib._bootstrap>", line 241, in 
_call_with_frames_removed
     File "/usr/lib/python3/dist-packages/ognibuild/__main__.py", line 329, in 
<module>
       sys.exit(main())
                ^^^^^^
     File "/usr/lib/python3/dist-packages/ognibuild/__main__.py", line 233, in 
main
       install_necessary_declared_requirements(
     File "/usr/lib/python3/dist-packages/ognibuild/__main__.py", line 65, in 
install_necessary_declared_requirements
       buildsystem.install_declared_requirements(
     File "/usr/lib/python3/dist-packages/ognibuild/buildsystem.py", line 98, 
in install_declared_requirements
       relevant = get_necessary_declared_requirements(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3/dist-packages/ognibuild/buildsystem.py", line 76, 
in get_necessary_declared_requirements
       for stage, req in requirements:
     File "/usr/lib/python3/dist-packages/ognibuild/buildsystem.py", line 943, 
in get_declared_dependencies
       resp = self._introspect(session, fixers, ["--scan-dependencies"])
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3/dist-packages/ognibuild/buildsystem.py", line 940, 
in _introspect
       return json.loads(''.join(ret))
              ^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
       return _default_decoder.decode(s)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
       obj, end = self.raw_decode(s, idx=_w(s, 0).end())
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
       raise JSONDecodeError("Expecting value", s, err.value) from None
   json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
   
   hexchat (master =) $ meson introspect --scan-dependencies ./meson.build > 
/dev/null 
   Trying to enter misc which has already been visited --> Skipping
   
   hexchat (master =) $ meson introspect --scan-dependencies ./meson.build 2> 
/dev/null 
   [{"name": "gio-2.0", "required": true, "version": [">= 2.36.0"], 
"has_fallback": false, "conditional": false}, {"name": "gmodule-2.0", 
"required": true, "version": [], "has_fallback": false, "conditional": false}, 
{"name": "libcanberra", "required": true, "version": [">= 0.22"], 
"has_fallback": false, "conditional": false}, {"name": "dbus-glib-1", 
"required": true, "version": [], "has_fallback": false, "conditional": false}, 
{"name": "openssl", "required": true, "version": [">= 0.9.8"], "has_fallback": 
false, "conditional": true}, {"name": "gtk+-2.0", "required": true, "version": 
[">= 2.24.0"], "has_fallback": false, "conditional": false}, {"name": "x11", 
"required": true, "version": [], "has_fallback": false, "conditional": true}, 
{"name": "iso-codes", "required": false, "version": [], "has_fallback": false, 
"conditional": false}, {"name": "-embed", "required": false, "version": [">= 
3.3"], "has_fallback": false, "conditional": true}, {"name": "libpci", 
"required": false, "version": [], "has_fallback": false, "conditional": true}]
      
-- System Information:
Debian Release: trixie/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 
'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 
'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.6.13-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_DIE
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ognibuild depends on:
ii  python3                      3.11.6-1
ii  python3-apt                  2.7.5
ii  python3-breezy               3.3.4-1.1
ii  python3-buildlog-consultant  0.0.34-1
ii  python3-lz4                  4.0.2+dfsg-1+b3
ii  python3-pkg-resources        68.1.2-2
ii  python3-requirement-parser   0.2.0-1.1
ii  python3-ruamel.yaml          0.17.21-1
ii  python3-toml                 0.10.2-1

Versions of packages ognibuild recommends:
ii  brz-debian         2.8.78
ii  python3-build      1.0.3-2
ii  python3-debmutate  0.68

ognibuild suggests no packages.

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to