Debian packaging improvements - #851
Draft
Fantu wants to merge 6 commits into
Draft
Conversation
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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