meson: Some files are unnecessarily installed executable
In a Meson build, /usr/share/bash-completion/completions/gio
, /usr/lib/glib2.0/installed-tests/glib/desktop-files/usr/applications/org.gnome.clocks.desktop
and /usr/share/glib-2.0/codegen/codegen_main.py
are installed with permissions 0755 (u+rwx,a+rx), rather than the 0644 (u+rw,a+r) permissions that they are given by Autotools. Debian's Lintian tool warns about this, because they are not ELF executables and do not start with a #!
line. This means that if you try to run them, they will be run via /bin/sh
, which is presumably not intended.
bash completions are sourced, not run as independent programs, so gio/completion/gio
should be chmod'd non-executable like the other completions.
gio/gdbus-2.0/codegen/codegen_main.py
should either be chmod'd non-executable, or start with #!/usr/bin/env python
or similar. The primary entry point for gdbus-codegen is gio/gdbus-2.0/codegen/gbdus-codegen.in
so chmod -x
is probably correct.
/usr/lib/glib2.0/installed-tests/glib/desktop-files/usr/applications/org.gnome.clocks.desktop
probably doesn't need to be executable either? If it was intended to be exercising some code path where desktop files are executable, then it should start with #!/usr/bin/xdg-open
, but looking at the bug where it was introduced (https://bugzilla.gnome.org/show_bug.cgi?id=795488) it doesn't seem to have been intentional that it was executable.