Skip to content

Debian packaging improvements - #851

Draft
Fantu wants to merge 6 commits into
linuxmint:masterfrom
Fantu:debian-packaging-improvements
Draft

Debian packaging improvements#851
Fantu wants to merge 6 commits into
linuxmint:masterfrom
Fantu:debian-packaging-improvements

Conversation

@Fantu

@Fantu Fantu commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

I don't have time to complete merging improvements from Debian (if compatible with mint 22 and lmde 7) and test today, so I open as draft for now

Fantu added 6 commits August 12, 2026 22:04
The build dependency was still at 1.23 while meson.build has required
wayland-protocols >= 1.38 since xdg-system-bell-v1 was added, so the
build dependency could be satisfied by apt and then fail at configure
time.

1.38 is also the exact minimum for the protocols and interface versions
currently used: xdg-system-bell-v1 first appeared in wayland-protocols
1.38, followed by xdg-dialog-v1 (1.34) and the stable linux-dmabuf-v1
bound at interface version 5 (1.33); every other protocol taken from
wayland-protocols is older, xdg_wm_base 5 (1.26) and
wp_single_pixel_buffer_manager_v1 (1.26) being the next ones.

libwayland is left at 1.20 in both meson.build and debian/control
because that is still the exact minimum: the newest core protocol
interfaces bound are wl_output version 4 (name/description events) and
wl_compositor/wl_surface version 5 (offset request), both introduced in
wayland 1.20, and no libwayland function used by muffin is newer than
that. The deprecated-since attribute used by the linux-dmabuf and
xdg-output XML files since wayland-protocols 1.38 does not raise the
requirement either, as older wayland-scanner releases silently ignore
unknown attributes.

Assisted-by: Claude Code:claude-opus-5
The source stanza has no Homepage field, so the project URL is missing
from the binary packages and from anything reading the package metadata.
Point it at the upstream repository, as the Debian packaging already
does.

Assisted-by: Claude Code:claude-opus-5
libmuffin-dev ships the .gir files (usr/lib/*/muffin/*.gir) but never
declares them, which lintian reports as gir-package-name-does-not-match
because the package name does not follow the gir1.2-* convention. Only
the field was missing: the substitution is filled in by dh_girepository,
already run through dh-sequence-gir and the override in debian/rules.
Same as the Debian packaging.

Assisted-by: Claude Code:claude-opus-5
The only thing the build needs from dbus is dbus-run-session, used to
run the test suite in debian/rules, and that binary is shipped by
dbus-daemon. Build-Depending on the dbus metapackage instead drags in
the session and system bus setup as well, which is what the Debian
packaging stopped doing to avoid blocking dbus-broker adoption (Debian
bug #1122680).

The package is available on every currently supported target: Ubuntu
24.04 (Linux Mint 22.x) already ships dbus-daemon 1.14.10, with both
/usr/bin/dbus-daemon and /usr/bin/dbus-run-session in it.

Assisted-by: Claude Code:claude-opus-5
pkg-config is only a transitional package depending on pkgconf, so
build-depending on it adds an indirection for nothing. The
/usr/bin/pkg-config symlink meson looks for is shipped by pkgconf
itself, so nothing changes for the build. Already the case on the oldest
supported target: Ubuntu 24.04 (Linux Mint 22.x) has pkgconf 1.8.1 with
pkg-config as a transitional package on top of it.

The old >= 0.22 constraint goes away with the rename, being older than
anything shipped anywhere by now. Same as the Debian packaging (commit
1e96ded1).

Assisted-by: Claude Code:claude-opus-5
…ally used

libgirepository1.0-dev is a non multi-arch metapackage pulling in the
whole introspection stack, while the build only needs three parts of it:

- libgirepository-1.0-dev (multi-arch) for girepository.h, included by
src/core/main.c for g_irepository_prepend_search_path()
- gir1.2-freedesktop-dev for the cairo-1.0, GL-1.0, xlib-2.0 and
xfixes-4.0 GIR XML listed in the generate_gir() calls of src/, cogl/ and
clutter/
- gir1.2-glib-2.0-dev for GObject-2.0

The gobject-introspection-1.0.pc used by meson comes from
gobject-introspection, which is already a build dependency. All three
packages are available on the oldest supported target, Ubuntu 24.04
(Linux Mint 22.x), where libgirepository1.0-dev is already nothing but a
metapackage depending on them. The >= 0.9.12 constraint goes away as
meaningless, libgirepository-1.0-dev existing only since 1.80.

Same change as the Debian packaging (commit baa4cad6, Debian bug
#1118900).

Assisted-by: Claude Code:claude-opus-5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant