Package: meson
Version: 0.60.0-1
Severity: serious
Justification: Makes gedit FTBFS

Hello,

In addition to the issue raised in #997936, we have this happening when
building the gedit package:

dh_auto_configure -- -Dgtk_doc=true
        cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 meson .. 
--wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc 
--localstatedir=/var --libdir=lib/x86_64-linux-gnu -Dgtk_doc=true
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/mesonbuild/mesonmain.py", line 138, in 
run
    return options.run_func(options)
  File "/usr/lib/python3/dist-packages/mesonbuild/msetup.py", line 294, in run
    app.generate()
  File "/usr/lib/python3/dist-packages/mesonbuild/msetup.py", line 185, in 
generate
    self._generate(env)
  File "/usr/lib/python3/dist-packages/mesonbuild/msetup.py", line 229, in 
_generate
    intr.run()
  File "/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreter.py", 
line 2484, in run
    super().run()
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 150, in run
    self.evaluate_codeblock(self.ast, start=1)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 175, in evaluate_codeblock
    raise e
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 168, in evaluate_codeblock
    self.evaluate_statement(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 181, in evaluate_statement
    return self.function_call(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 456, in function_call
    res = func(node, func_args, kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
713, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
115, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
276, in wrapper
    return f(*nargs, **wrapped_kwargs)
  File "/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreter.py", 
line 1969, in func_subdir
    self.evaluate_codeblock(codeblock)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 175, in evaluate_codeblock
    raise e
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 168, in evaluate_codeblock
    self.evaluate_statement(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 181, in evaluate_statement
    return self.function_call(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 456, in function_call
    res = func(node, func_args, kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
713, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
115, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
276, in wrapper
    return f(*nargs, **wrapped_kwargs)
  File "/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreter.py", 
line 1969, in func_subdir
    self.evaluate_codeblock(codeblock)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 175, in evaluate_codeblock
    raise e
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 168, in evaluate_codeblock
    self.evaluate_statement(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 183, in evaluate_statement
    self.assignment(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 568, in assignment
    value = self.evaluate_statement(node.value)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 185, in evaluate_statement
    return self.method_call(cur)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/interpreterbase.py", 
line 484, in method_call
    res = obj.method_call(method_name, args, kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreter/interpreterobjects.py", 
line 754, in method_call
    ret = method(state, args, kwargs)
  File 
"/usr/lib/python3/dist-packages/mesonbuild/interpreterbase/decorators.py", line 
115, in wrapped
    return f(*wrapped_args, **wrapped_kwargs)
  File "/usr/lib/python3/dist-packages/mesonbuild/modules/gnome.py", line 1459, 
in mkenums
    c_target = self._make_mkenum_custom_target(state, c_sources,
  File "/usr/lib/python3/dist-packages/mesonbuild/modules/gnome.py", line 1596, 
in _make_mkenum_custom_target
    return build.CustomTarget(output, state.subdir, state.subproject, 
custom_kwargs,
  File "/usr/lib/python3/dist-packages/mesonbuild/build.py", line 2330, in 
__init__
    self.process_kwargs(kwargs, backend)
  File "/usr/lib/python3/dist-packages/mesonbuild/build.py", line 2441, in 
process_kwargs
    if isinstance(kwargs['install_dir'], list):
KeyError: 'install_dir'

And indeed in /usr/lib/python3/dist-packages/mesonbuild/modules/gnome.py
we see mkenums add an install_dir in the h_template case, but not
in the c_template case, since there is nothing to install in that
case ('install' is set to False). Probably the issue is actually in
/usr/lib/python3/dist-packages/mesonbuild/build.py's process_kwargs,
which raises an InvalidArguments if install_dir is not set while
install is set to True, but then it uses install_dir even if install
is set to False. Probably it's the whole block that should have an if
self.install?


Samuel

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 
'proposed-updates-debug'), (500, 'proposed-updates'), (500, 
'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 
'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), 
(500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.14.0-2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages meson depends on:
ii  ninja-build            1.10.1-1
ii  python3                3.9.2-3
ii  python3-distutils      3.9.7-1
ii  python3-pkg-resources  58.2.0-1

Versions of packages meson recommends:
ii  dpkg-dev  1.20.9

meson suggests no packages.

-- no debconf information

-- 
Samuel
 La carte réseau fournie par cybercable (sn2000) ne va-t-elle que sur
 bus isa ou peut-on aussi la mettre sur bus PCI.
 Merci de m'éclairer.
 -+- JP in le Neuneu Pète un Câble : Une carte dans chaque port -+-

Reply via email to