From b95f7aab26e0b48a07e050fefc5be3c6ce5e87b8 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 13 Dec 2024 10:54:56 +0000 Subject: [PATCH 1/6] CI: Use Debian 12 as default container I don't think we use this for anything any more, because all build targets run in some more specific container; but just in case it's used, we should select the current stable release of Debian and not a previous, EOL version. Signed-off-by: Simon McVittie (cherry picked from commit 431c78b5fbd96b930a50e177e1f0d39e730aadae) --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45b8407b..0f24c143 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,7 +34,7 @@ include: - '/templates/freebsd.yml' - '/templates/opensuse.yml' -image: debian:bullseye-slim +image: debian:bookworm-slim stages: - 'build docker' From 7094a4047e44458aff3f8aea465938be9b8e9f94 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 13 Dec 2024 10:48:23 +0000 Subject: [PATCH 2/6] meson: Consistently use boolean defaults for boolean options Meson accepts either booleans or strings as defaults for a boolean option, but recommends booleans, and raises deprecation warnings for strings. Signed-off-by: Simon McVittie (cherry picked from commit dc56afed594c63f3b29d68af33397072a300c310) --- meson_options.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson_options.txt b/meson_options.txt index 1fc8a2ad..ee06cb89 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -139,7 +139,7 @@ option( option( 'message_bus', type: 'boolean', - value: 'true', + value: true, description: 'Enable dbus-daemon' ) @@ -253,7 +253,7 @@ option( option( 'tools', type: 'boolean', - value: 'true', + value: true, description: 'Enable CLI tools such as dbus-send and dbus-monitor' ) From 25e370ce8f1ef9b13b31195bb1050186e6505c36 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 13 Dec 2024 10:53:23 +0000 Subject: [PATCH 3/6] meson: Don't interpolate the result of configure_file() into a format() configure_file() returns a file object, which was not intended to be a valid parameter for format() (even though in practice it works the way we wanted it to), causing newer Meson versions to report deprecation warnings. If the version of Meson is new enough, we can use the full_path() method. Otherwise, we'll have to re-compute the output filename. Signed-off-by: Simon McVittie (cherry picked from commit 872ce4d29a4c34b1ae8bb5d4e02fdc7a600a3075) --- dbus/meson.build | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dbus/meson.build b/dbus/meson.build index 87f18d91..d2acd059 100644 --- a/dbus/meson.build +++ b/dbus/meson.build @@ -184,7 +184,12 @@ if cc.has_link_argument( meson.current_source_dir() / 'test-version-script' ) ) - version_flags = ['-Wl,--version-script,@0@'.format(version_script)] + if meson.version().version_compare('>=1.4.0') + version_script_path = version_script.full_path() + else + version_script_path = meson.current_build_dir() / 'version_script' + endif + version_flags = ['-Wl,--version-script,@0@'.format(version_script_path)] else version_flags = [] endif From f1a4c1c48156fc92a3f9465145a617e66bd047f9 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 16 Dec 2024 10:59:20 +0000 Subject: [PATCH 4/6] INSTALL: Mention how to build as a Meson subproject Signed-off-by: Simon McVittie --- INSTALL | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/INSTALL b/INSTALL index 99ee1b5c..37769eb9 100644 --- a/INSTALL +++ b/INSTALL @@ -96,6 +96,16 @@ detection, is during packaging of binary builds, where a predictable dependancy chain is required. For more details on cmake installation, consult http://www.cmake.org/cmake/help/help.html. +Building as a subproject +======================== + +libdbus can be built as a Meson subproject, allowing larger projects that +require it to default to a system copy if available but fall back to a +vendored or downloaded copy if necessary. When doing this, it is usually +best to disable the shared library, dbus-daemon, tools and tests, leaving +only a static library: please see test/use-as-subproject/meson.build for +sample code and suggested build options. + External software dependencies ============================== From 60d6f41c676fdf522d75c37c6ab96dfee86263c8 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 16 Dec 2024 10:59:36 +0000 Subject: [PATCH 5/6] INSTALL: libexpat is not required if the dbus-daemon is not built Signed-off-by: Simon McVittie --- INSTALL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL b/INSTALL index 37769eb9..cbcb1958 100644 --- a/INSTALL +++ b/INSTALL @@ -109,9 +109,9 @@ sample code and suggested build options. External software dependencies ============================== -Required: +Usually required: - - expat + - expat (not required if dbus-daemon is not built) Optional: From 971060ad732215496ddd64b2e2d15c420da3c5ea Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 16 Dec 2024 11:00:00 +0000 Subject: [PATCH 6/6] NEWS: Update Signed-off-by: Simon McVittie --- NEWS | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index c88abeb6..c70a1ca9 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ Build system and dependencies: • The Meson build system is the recommended way to build dbus on Unix. This requires Meson 0.56 and Python 3.5. · Projects that depend on libdbus can build it as a Meson subproject. + See tests/use-as-subproject/meson.build for suggested build options. • CMake continues to be available as an alternative build system, and is recommended on Windows. This requires CMake 3.10. @@ -59,8 +60,8 @@ New features and significant bug fixes: • Portability to CPU architectures with larger-than-64-bit pointers -dbus 1.15.94 (UNRELEASED) -========================= +Changes since 1.15.92 release candidate +--------------------------------------- Dependencies: @@ -68,6 +69,9 @@ Dependencies: Bug fixes: +• Avoid deprecation warnings with newer Meson versions + (dbus!507, Simon McVittie) + • Avoid deprecation warnings with newer CMake versions (dbus#541, Ralf Habacker) @@ -76,6 +80,9 @@ Tests and CI enhancements: • When building with CMake, set the same environment variables as Meson. This improves test coverage. (dbus#533, Ralf Habacker) +• Remove a remaining reference to Debian 11, which is EOL + (dbus!508, Simon McVittie) + dbus 1.15.92 (2024-12-11) =========================