]> git.ipfire.org Git - thirdparty/dbus.git/log
thirdparty/dbus.git
2 months agoMerge branch 'replace-free-to-g_free' into 'main' main
Simon McVittie [Tue, 26 Aug 2025 12:24:03 +0000 (12:24 +0000)] 
Merge branch 'replace-free-to-g_free' into 'main'

test: replace free to g_free because g_strdup_printf using g_malloc

See merge request dbus/dbus!537

2 months agotest: replace free to g_free because g_strdup_printf using g_malloc
GermanAizek [Fri, 22 Aug 2025 20:29:17 +0000 (23:29 +0300)] 
test: replace free to g_free because g_strdup_printf using g_malloc

2 months agoMerge branch 'rempve-excess-auth-config' into 'main'
Simon McVittie [Fri, 22 Aug 2025 19:55:42 +0000 (19:55 +0000)] 
Merge branch 'rempve-excess-auth-config' into 'main'

config-parser-common: remove duplicate check "auth" config param

See merge request dbus/dbus!536

2 months agoconfig-parser-common: remove duplicate check "auth" config param
GermanAizek [Fri, 22 Aug 2025 19:20:10 +0000 (22:20 +0300)] 
config-parser-common: remove duplicate check "auth" config param

2 months agoUpdate NEWS
Simon McVittie [Tue, 19 Aug 2025 13:35:38 +0000 (14:35 +0100)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
2 months agoRebuild FreeBSD image with space available for some upgrades
Simon McVittie [Tue, 19 Aug 2025 13:30:14 +0000 (14:30 +0100)] 
Rebuild FreeBSD image with space available for some upgrades

Hopefully fixes dbus/dbus#558, but we won't know until some time has
passed.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2 months agoMerge branch 'solaris-illumos' into 'main'
Simon McVittie [Tue, 19 Aug 2025 12:34:16 +0000 (12:34 +0000)] 
Merge branch 'solaris-illumos' into 'main'

meson: fix builds to work on both Solaris and illumos

Closes #557

See merge request dbus/dbus!533

2 months agobuild: add -lsocket -lnsl if needed on illumos and older Solaris
Alan Coopersmith [Sat, 16 Aug 2025 22:32:18 +0000 (15:32 -0700)] 
build: add -lsocket -lnsl if needed on illumos and older Solaris

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2 months agobuild: enable solaris_console_owner_file by default on Solaris & illumos
Alan Coopersmith [Tue, 12 Aug 2025 22:00:14 +0000 (15:00 -0700)] 
build: enable solaris_console_owner_file by default on Solaris & illumos

Makes the meson config match what the autotools config used to do.

v2: include changes suggested by @smcv to allow disabling if desired

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2 months agobuild: test to see which -D flags are needed on Solaris & illumos
Alan Coopersmith [Tue, 12 Aug 2025 22:00:14 +0000 (15:00 -0700)] 
build: test to see which -D flags are needed on Solaris & illumos

Instead of hardcoding these as always needed, test to see, since
they're not needed on Solaris 11.4, but are on older versions & illumos.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2 months agobuild: default to not trying to build epoll on non-Linux systems
Alan Coopersmith [Sat, 16 Aug 2025 23:01:06 +0000 (16:01 -0700)] 
build: default to not trying to build epoll on non-Linux systems

dbus/dbus-pollable-set-epoll.c currently errors out if __linux__ is not
defined.  Allows passing -Depoll=enabled to override.

Based on patch by Jonathan Perkin for pkgsrc on illumos:
https://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/sysutils/dbus/patches/patch-meson.build?rev=1.2
but modified to only change default of 'auto' and check for all non-Linux OSes.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2 months agomeson: host_os needs to check for 'sunos', not 'solaris'
Alan Coopersmith [Sat, 16 Aug 2025 22:37:51 +0000 (15:37 -0700)] 
meson: host_os needs to check for 'sunos', not 'solaris'

https://mesonbuild.com/Reference-tables.html#operating-system-names
documents 'sunos' as the return value from .system() on Solaris & illumos

Based on patch from Jonathan Perkins for pkgsrc in:
https://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/sysutils/dbus/patches/patch-meson.build?rev=1.2
but modified to add a new platform_sunos symbol as suggested by @smcv

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2 months agoMerge branch 'locale' into 'main'
Simon McVittie [Tue, 19 Aug 2025 12:32:27 +0000 (12:32 +0000)] 
Merge branch 'locale' into 'main'

meson: remove duplicate 'locale.h' entry in check_headers

See merge request dbus/dbus!534

2 months agomeson: remove duplicate 'locale.h' entry in check_headers
Alan Coopersmith [Tue, 19 Aug 2025 00:49:11 +0000 (17:49 -0700)] 
meson: remove duplicate 'locale.h' entry in check_headers

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2 months agoUpdate NEWS
Simon McVittie [Mon, 11 Aug 2025 15:30:12 +0000 (16:30 +0100)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
2 months agoMerge branch 'elogind-support' into 'main'
Simon McVittie [Mon, 11 Aug 2025 15:09:54 +0000 (15:09 +0000)] 
Merge branch 'elogind-support' into 'main'

build: add elogind support

See merge request dbus/dbus!509

2 months agobuild: add elogind support
Dudemanguy [Fri, 20 Dec 2024 16:53:28 +0000 (10:53 -0600)] 
build: add elogind support

Checking the uid of the user seat also works if elogind is used. Add
this as an option to the build and make it mutually exclusive with
enabling systemd.

2 months agoMerge branch 'pollhup-fix' into 'main'
Simon McVittie [Mon, 11 Aug 2025 13:55:51 +0000 (13:55 +0000)] 
Merge branch 'pollhup-fix' into 'main'

dbus-transport-socket: Handle _DBUS_POLLHUP case in socket_do_iteration

Closes #553

See merge request dbus/dbus!526

2 months agodbus-transport-socket: Handle _DBUS_POLLHUP case in socket_do_iteration
Gleb Popov [Mon, 19 May 2025 05:39:45 +0000 (08:39 +0300)] 
dbus-transport-socket: Handle _DBUS_POLLHUP case in socket_do_iteration

Without this change the bus-normal-activation test on FreeBSD ends up with
a busy-loop under one of malloc failures.

Fixes #553

2 months agoMerge branch 'wip/issue556' into 'main'
Simon McVittie [Mon, 11 Aug 2025 13:33:41 +0000 (13:33 +0000)] 
Merge branch 'wip/issue556' into 'main'

sysdeps-pthread: Fix timeout overflow adjustment

Closes #556

See merge request dbus/dbus!532

2 months agosysdeps-pthread: Fix timeout overflow adjustment
Johan Bolmsjö [Fri, 11 Jul 2025 20:08:23 +0000 (22:08 +0200)] 
sysdeps-pthread: Fix timeout overflow adjustment

Fix an off by one error which could produce a tv_nsec value of
1'000'000'000. The valid tv_nsec range is [0, 999,999,999], see
https://en.cppreference.com/w/c/chrono/timespec for reference.

Passing a timespec with a tv_nsec value of 1'000'000'000 to
pthread_cond_timedwait has been observed to cause it to return an error
code which in turn makes the DBUS library abort the application when
compiled with asserts enabled (by PTHREAD_CHECK).

Resolves: https://gitlab.freedesktop.org/dbus/dbus/-/issues/556
Reviewed-by: Simon McVittie <smcv@collabora.com>
2 months agoMerge branch 'wip/smcv/ci' into 'main'
Simon McVittie [Fri, 8 Aug 2025 16:36:45 +0000 (16:36 +0000)] 
Merge branch 'wip/smcv/ci' into 'main'

CI: Update FreeBSD image

See merge request dbus/dbus!531

2 months agoCI: Update FreeBSD to 14.3
Simon McVittie [Fri, 8 Aug 2025 16:01:36 +0000 (17:01 +0100)] 
CI: Update FreeBSD to 14.3

14.2 reaches end-of-life in September, and our 14.2-based image has a
sufficiently small amount of space available that it fails to upgrade
now.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2 months agoCI: Update freedesktop.org CI templates
Simon McVittie [Fri, 8 Aug 2025 16:03:34 +0000 (17:03 +0100)] 
CI: Update freedesktop.org CI templates

Signed-off-by: Simon McVittie <smcv@collabora.com>
4 months agoMerge branch 'ci' into 'main'
Simon McVittie [Mon, 9 Jun 2025 14:02:56 +0000 (14:02 +0000)] 
Merge branch 'ci' into 'main'

CI: Use a more accurate URL describing the environ problem on FreeBSD

See merge request dbus/dbus!528

5 months agoCI: Use a more accurate URL describing the environ problem on FreeBSD
Gleb Popov [Sun, 8 Jun 2025 08:31:08 +0000 (11:31 +0300)] 
CI: Use a more accurate URL describing the environ problem on FreeBSD

5 months agoMerge branch 'mr524-followup' into 'main'
Simon McVittie [Fri, 23 May 2025 10:36:45 +0000 (10:36 +0000)] 
Merge branch 'mr524-followup' into 'main'

Make it more obvious that negative timeouts are handled correctly

See merge request dbus/dbus!525

5 months agoconnection, transport: Assert that timeout >= -1 where it matters
Simon McVittie [Fri, 16 May 2025 11:02:52 +0000 (12:02 +0100)] 
connection, transport: Assert that timeout >= -1 where it matters

We recommend that assertions are disabled in production builds of dbus,
which means that they are "cheap" to add to development builds as
"executable documentation" for our assumptions.

Lower-level code assumes that timeouts must be either -1 to block
forever, or non-negative to block for a finite time (but possibly 0,
to poll without blocking).

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agoconnection: Never call _dbus_condvar_wait_timeout() with negative timeout
Simon McVittie [Fri, 16 May 2025 10:33:56 +0000 (11:33 +0100)] 
connection: Never call _dbus_condvar_wait_timeout() with negative timeout

Previously we were checking for -1 as the special-cased "block forever"
value, but as noted on dbus!524 it is a programming error to call
_dbus_condvar_wait_timeout() with any negative timeout.

Throughout DBusConnection the timeout is in fact constrained to be >= -1
(non-negative to have a timeout, or exactly -1 to block forever) but
checking for non-negative is presumably no more expensive than checking
for exactly -1, so let's be a little more defensive here, to make it
more obvious that we're doing this correctly.

This is the only caller of _dbus_condvar_wait_timeout() in our codebase.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agothreads: Assert that timeout is non-negative
Simon McVittie [Fri, 16 May 2025 10:32:35 +0000 (11:32 +0100)] 
threads: Assert that timeout is non-negative

As noted in dbus!524 by source code inspection, the Unix/pthread
implementation assumes that the timeout is non-negative and does not
support a mode where it blocks forever (which we normally represent as
a negative timeout, like POSIX poll(2)).

This means that it would be a programming error if we ever call
this with a negative timeout, so put an equivalent assertion in the
platform-independent layer. We recommend that assertions are disabled in
production builds, so it's "cheap" to have a redundant assertion here.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agotimeout: Assert that the timeout interval is non-negative
Simon McVittie [Fri, 16 May 2025 10:51:36 +0000 (11:51 +0100)] 
timeout: Assert that the timeout interval is non-negative

We should never allocate a DBusTimeout with a negative timeout set:
if we want to wait forever for an event to happen, that's represented
by the absence of a DBusTimeout.

This ensures that code in DBusConnection can safely assume that the
timeout retrieved from a DBusTimeout will always be in its allowed range
(-1 to INT_MAX inclusive).

I've checked that all current callers get this right.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agotimeout: Document fallibility of _dbus_timeout_new()
Simon McVittie [Fri, 16 May 2025 10:52:11 +0000 (11:52 +0100)] 
timeout: Document fallibility of _dbus_timeout_new()

Like all other functions that allocate memory, libdbus assumes that this
can fail on OOM.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agoconnection: Make _dbus_connection_do_iteration_unlocked() static
Simon McVittie [Fri, 16 May 2025 10:46:58 +0000 (11:46 +0100)] 
connection: Make _dbus_connection_do_iteration_unlocked() static

It has no callers outside this translation unit.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agoMerge branch 'asserts' into 'main'
Simon McVittie [Thu, 22 May 2025 10:16:19 +0000 (10:16 +0000)] 
Merge branch 'asserts' into 'main'

Fix building with asserts enabled in FreeBSD

See merge request dbus/dbus!527

5 months agoFix building with asserts enabled in FreeBSD
Gleb Popov [Mon, 19 May 2025 07:15:20 +0000 (10:15 +0300)] 
Fix building with asserts enabled in FreeBSD

The backtrace() function on FreeBSD resides in the libexecinfo library, so
we need to link to it.

5 months agoUpdate NEWS
Simon McVittie [Fri, 16 May 2025 11:18:48 +0000 (12:18 +0100)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agoMerge branch 'dbus-connection-timeout' into 'main'
Simon McVittie [Fri, 16 May 2025 10:26:34 +0000 (10:26 +0000)] 
Merge branch 'dbus-connection-timeout' into 'main'

dbus-connection: Avoid computing a negative timeout

See merge request dbus/dbus!524

5 months agoAssert that timeout >= 0 in _dbus_platform_condvar_wait_timeout
Gleb Popov [Wed, 7 May 2025 21:58:06 +0000 (00:58 +0300)] 
Assert that timeout >= 0 in _dbus_platform_condvar_wait_timeout

5 months agodbus-connection: Avoid computing a negative timeout
Gleb Popov [Sat, 3 May 2025 14:10:23 +0000 (17:10 +0300)] 
dbus-connection: Avoid computing a negative timeout

Getting into the `if (timeout == NULL)` block means that
timeout_milliseconds == -1, so it doesn't make sense to do arithmetic on it.

Pass -1 instead of a nonsensical value in this case

5 months agoMerge branch 'no-hard-coded-tmpdir' into 'main'
Simon McVittie [Fri, 16 May 2025 10:22:18 +0000 (10:22 +0000)] 
Merge branch 'no-hard-coded-tmpdir' into 'main'

build: Don't use build-time TMPDIR, TEMP, TMP as socket directory

Closes #551

See merge request dbus/dbus!522

5 months agocmake: Make DBUS_SESSION_SOCKET_DIR in CMakeCache.txt consistent with config.h
Ralf Habacker [Mon, 28 Apr 2025 14:32:02 +0000 (14:32 +0000)] 
cmake: Make DBUS_SESSION_SOCKET_DIR in CMakeCache.txt consistent with config.h

It's unexpected to have DBUS_SESSION_SOCKET_DIR take different values in
CMakeCache.txt, which lists the variables that are available to be set
by the caller, and in config.h, which makes their final values available
to the C code. If DBUS_SESSION_SOCKET_DIR is empty and we are running
on Unix, set it to its dynamically-chosen fallback before storing it in
the cache.

[smcv: Add commit message]
Co-authored-by: Simon McVittie <smcv@collabora.com>
5 months agobuild: Don't use build-time TMPDIR, TEMP, TMP as socket directory
Simon McVittie [Mon, 28 Apr 2025 13:06:39 +0000 (14:06 +0100)] 
build: Don't use build-time TMPDIR, TEMP, TMP as socket directory

When the ancestor of this code was introduced in 2003 (commit e45e4382),
it was presumably most common to have these variables either unset, or
set to a value that is system-wide and remains valid in the long term,
such as /tmp or /var/tmp.

However, on modern systems they are sometimes set to a value that is
itself temporary, for example /var/folders/${some_long_path}/T on macOS,
or user-specific, for example /tmp/user/$(id -u) on Linux with
libpam-tmpdir. These values are certainly not useful to hard-code into
libdbus and dbus-daemon during installation: they will not be usable
when running dbus-related programs after a reboot or as a different user.

So, instead of assuming TMPDIR, TEMP and TMP remain valid long-term,
we now hard-code /tmp as our default.

As before, system integrators can override this default with
`-Dsession_socket_dir=...` (Meson) or `-DDBUS_SESSION_SOCKET_DIR=...`
(CMake) if a different directory is more appropriate than /tmp.
However, system integrators should note that because AF_UNIX paths have
a relatively short length limit (typically 108 bytes), a short path is
better than a long path in this context.

Resolves: dbus/dbus#551
Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agomeson: Make default directory for test sockets follow session
Simon McVittie [Mon, 28 Apr 2025 12:43:56 +0000 (13:43 +0100)] 
meson: Make default directory for test sockets follow session

This makes it a bit easier to override both temporary directories used
for sockets to the same place. If a directory is suitable for production
use for the session bus' temporary sockets, the same directory is very
likely to be suitable for build-time tests as well, and using that
directory for both purposes makes the tests more realistic.

The non-default CMake build system already did the equivalent of this:
it doesn't have an equivalent of test_socket_dir, and setting its
equivalent of session_socket_dir affects both.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agomeson: Only set session_socket_dir on Unix
Simon McVittie [Mon, 28 Apr 2025 12:36:17 +0000 (13:36 +0100)] 
meson: Only set session_socket_dir on Unix

This makes it a little bit clearer that it's OK for the default value
to be Unix-specific. The CMake build system already has the equivalent
of this.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agobuild: Only define DBUS_SESSION_SOCKET_DIR on Unix
Simon McVittie [Mon, 28 Apr 2025 12:35:08 +0000 (13:35 +0100)] 
build: Only define DBUS_SESSION_SOCKET_DIR on Unix

This is not used on Windows (in fact it's only used in the
dbus-cleanup-sockets(1) tool) so it's OK for it to have a value like /tmp
that would be inappropriate on Windows. Make that more obvious.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agobuild: Only define DBUS_TEST_SOCKET_DIR on Unix platforms
Simon McVittie [Mon, 28 Apr 2025 12:26:56 +0000 (13:26 +0100)] 
build: Only define DBUS_TEST_SOCKET_DIR on Unix platforms

This makes it more obvious that it is currently only used on Unix,
and therefore it's OK for it to have a default that wouldn't work
on Windows.

The non-default CMake build system already didn't set the variable when
building for Windows.

Signed-off-by: Simon McVittie <smcv@collabora.com>
5 months agomeson: Remove a leftover reference to `make check`
Simon McVittie [Mon, 28 Apr 2025 12:27:45 +0000 (13:27 +0100)] 
meson: Remove a leftover reference to `make check`

Meson build-time tests are run with `meson test` instead, but let's
say "automated tests" generically, rather than a specific command.

Signed-off-by: Simon McVittie <smcv@collabora.com>
6 months agoMerge branch 'launchd-not-open-source' into 'main'
Simon McVittie [Thu, 1 May 2025 09:38:28 +0000 (09:38 +0000)] 
Merge branch 'launchd-not-open-source' into 'main'

spec: launchd is no longer open-source

See merge request dbus/dbus!523

6 months agospec: launchd is no longer open-source
Akihiro Suda [Thu, 1 May 2025 00:27:17 +0000 (09:27 +0900)] 
spec: launchd is no longer open-source

launchd is apparently proprietary since OS X Yosemite v10.10 (2014).

The last known open-source version is
https://github.com/apple-oss-distributions/launchd/releases/tag/launchd-842.92.1
(OS X Mavericks v10.9.4).

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
6 months agoUpdate NEWS
Simon McVittie [Mon, 28 Apr 2025 11:51:18 +0000 (12:51 +0100)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
6 months agoMerge branch 'local-peercred' into 'main'
Simon McVittie [Mon, 28 Apr 2025 11:46:14 +0000 (11:46 +0000)] 
Merge branch 'local-peercred' into 'main'

Support LOCAL_PEERCRED found on FreeBSD and MacOS in _dbus_read_credentials_socket()

See merge request dbus/dbus!520

7 months agoSupport LOCAL_PEERCRED found on FreeBSD and MacOS in _dbus_read_credentials_socket()
Alex S [Thu, 13 Mar 2025 08:27:21 +0000 (11:27 +0300)] 
Support LOCAL_PEERCRED found on FreeBSD and MacOS in _dbus_read_credentials_socket()

8 months agoUpdate NEWS
Simon McVittie [Fri, 7 Mar 2025 16:21:50 +0000 (16:21 +0000)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'auth-timeout-comment' into 'main'
Simon McVittie [Fri, 7 Mar 2025 16:03:39 +0000 (16:03 +0000)] 
Merge branch 'auth-timeout-comment' into 'main'

bus: Correct commented-out default auth_timeout in system.conf

See merge request dbus/dbus!519

8 months agobus: Correct commented-out default auth_timeout in system.conf
Simon McVittie [Fri, 7 Mar 2025 15:10:00 +0000 (15:10 +0000)] 
bus: Correct commented-out default auth_timeout in system.conf

Commit 54d26df5 "config: change default auth_timeout to 5 seconds"
reduced the hard-coded default from 30 to 5 seconds, and the
commented-out informational copy of this information in system.conf
reflected that.

Commit 02e1ddf9 'Revert "config: change default auth_timeout to 5 seconds"'
subsequently increased hard-coded default back to 30 seconds, but did
not update the commented-out version in this file.

See also CVE-2014-3639, fd.o #80919, fd.o #86431.

Fixes: 1a36f983 "Document default limits in system.conf.in"
Fixes: 02e1ddf9 'Revert "config: change default auth_timeout to 5 seconds"'
Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'ci-jobs' into 'main'
Simon McVittie [Fri, 28 Feb 2025 15:11:45 +0000 (15:11 +0000)] 
Merge branch 'ci-jobs' into 'main'

CI: Adjust which CI jobs are run by default

See merge request dbus/dbus!518

8 months agoCI: Don't build on FreeBSD with CMake by default
Simon McVittie [Fri, 28 Feb 2025 14:44:19 +0000 (14:44 +0000)] 
CI: Don't build on FreeBSD with CMake by default

We recommend the Meson build system for all target operating systems
other than Windows. We do try to keep CMake builds operational on Linux
to make life easier for developers, but the `opensuse cmake debug` job,
which runs by default, is sufficient for that.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Enable Windows build with Meson, gcc and UCRT64
Simon McVittie [Fri, 28 Feb 2025 14:42:50 +0000 (14:42 +0000)] 
CI: Enable Windows build with Meson, gcc and UCRT64

This was broken for a while (see dbus#462, dbus!426, dbus!429, dbus!512)
but now it works again. Let's not allow it to regress without someone
noticing.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'subprojects' into 'main'
Simon McVittie [Fri, 28 Feb 2025 14:36:56 +0000 (14:36 +0000)] 
Merge branch 'subprojects' into 'main'

build: Improve options used for fallback Meson subprojects

See merge request dbus/dbus!516

8 months agobuild: If GLib is a subproject, disable GObject-Introspection
Simon McVittie [Fri, 28 Feb 2025 12:15:22 +0000 (12:15 +0000)] 
build: If GLib is a subproject, disable GObject-Introspection

We don't need this and it will only slow down the build.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agobuild: Link subprojects statically if built as a subproject
Simon McVittie [Fri, 28 Feb 2025 12:31:01 +0000 (12:31 +0000)] 
build: Link subprojects statically if built as a subproject

If we're building a dependency as a fallback subproject, we don't want
to be responsible for installing it as a shared library. Anyone wanting
shared libraries should install the dependencies separately.

Ideally we'd do this with MSVC too, but that doesn't currently link
successfully (dbus#549).

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agobuild: Never make compiler warnings in subprojects fatal
Simon McVittie [Fri, 28 Feb 2025 12:29:55 +0000 (12:29 +0000)] 
build: Never make compiler warnings in subprojects fatal

If one of our subprojects has compiler warnings, fixing them is
out-of-scope for dbus.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agobuild: Indent GLib subproject options consistently
Simon McVittie [Fri, 28 Feb 2025 12:05:02 +0000 (12:05 +0000)] 
build: Indent GLib subproject options consistently

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agobuild: If expat is a submodule, explicitly disable its unit tests
Simon McVittie [Fri, 28 Feb 2025 12:03:55 +0000 (12:03 +0000)] 
build: If expat is a submodule, explicitly disable its unit tests

If we're falling back to building a local copy of expat, running or
debugging its unit tests is out-of-scope for maintenance of dbus.
In fact this is the default in the meson_options.txt provided by
WrapDB[1], but explicit is better than implicit.

[1] https://github.com/mesonbuild/wrapdb/blob/HEAD/subprojects/packagefiles/expat/meson_options.txt

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'update-wraps' into 'main'
Simon McVittie [Thu, 27 Feb 2025 23:10:31 +0000 (23:10 +0000)] 
Merge branch 'update-wraps' into 'main'

Update GLib fallback subproject to latest stable release

See merge request dbus/dbus!426

8 months agoCI: Never run the test suites of subprojects
Simon McVittie [Thu, 27 Feb 2025 19:16:02 +0000 (19:16 +0000)] 
CI: Never run the test suites of subprojects

Some of them fail when run on Windows, and debugging the test suite
for a subproject is out-of-scope for dbus.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agosubprojects: Update fallback GLib subproject
Simon McVittie [Thu, 27 Feb 2025 17:51:37 +0000 (17:51 +0000)] 
subprojects: Update fallback GLib subproject

Updated with:

    meson wrap update

We need a newer GLib when building on Windows using Meson, because the
removal of distutils in recent versions of Python breaks older GLib.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Install meson from bookworm-backports when using GLib subproject
Simon McVittie [Thu, 27 Feb 2025 19:26:50 +0000 (19:26 +0000)] 
CI: Install meson from bookworm-backports when using GLib subproject

Debian 12 'bookworm' has Meson 1.0.1, which is too old for the current
stable branch of GLib. Use the version from bookworm-backports when
running on Debian and building with a mingw-w64 compiler.

We can stop doing this and put meson back in the normal list of
packages when we update to the Debian 13 stable release, expected to be
released in mid 2025.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Avoid hard-coding the version of Expat and GLib in use
Simon McVittie [Thu, 27 Feb 2025 19:06:46 +0000 (19:06 +0000)] 
CI: Avoid hard-coding the version of Expat and GLib in use

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'update-expat' into 'main'
Simon McVittie [Thu, 27 Feb 2025 18:38:51 +0000 (18:38 +0000)] 
Merge branch 'update-expat' into 'main'

subprojects: Update fallback expat subproject

See merge request dbus/dbus!429

8 months agosubprojects: Update fallback expat subproject
Simon McVittie [Mon, 14 Aug 2023 16:17:27 +0000 (17:17 +0100)] 
subprojects: Update fallback expat subproject

Updated with:

    meson wrap update

expat 2.6.4 contains security fixes. In practice these don't affect
dbus, because we only use expat to parse trusted message bus
configuration, but we might as well use the newest available version.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Bump FreeBSD version to 14.2
Simon McVittie [Thu, 27 Feb 2025 16:44:37 +0000 (16:44 +0000)] 
CI: Bump FreeBSD version to 14.2

FreeBSD 13.1 has been EOL since July 2023, but because there are
apparently no FreeBSD users among the dbus maintainers, nobody noticed.

dbus/dbus#308 is still present in FreeBSD 14.2, so remove the version
check when skipping that particular test.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Use a separate tagged Docker image for each dbus branch
Simon McVittie [Thu, 27 Feb 2025 16:35:16 +0000 (16:35 +0000)] 
CI: Use a separate tagged Docker image for each dbus branch

The image contains build-dependencies from tools/ci-install.sh, so it
can be different for 1.16.x vs. main. Include the upstream branch name
in the tag name, like we already did for the Windows image, so that
an image with the same timestamp but different content can be different.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'issue546'
Simon McVittie [Thu, 27 Feb 2025 16:31:24 +0000 (16:31 +0000)] 
Merge branch 'issue546'

Resolves: dbus#546
Resolves: dbus#547
Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Rebuild openSUSE image to update it to Leap 15.6
Simon McVittie [Thu, 27 Feb 2025 16:03:15 +0000 (16:03 +0000)] 
CI: Rebuild openSUSE image to update it to Leap 15.6

dbus#548

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Build a newer GLib on Windows
Simon McVittie [Thu, 27 Feb 2025 15:30:13 +0000 (15:30 +0000)] 
CI: Build a newer GLib on Windows

GLib 2.70.x has been EOL for years, and is incompatible with newer
versions of Python.

dbus#547

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoCI: Fetch a different URL on sourceforge.net
Simon McVittie [Thu, 27 Feb 2025 15:10:18 +0000 (15:10 +0000)] 
CI: Fetch a different URL on sourceforge.net

Commit a56de468 "CI: Avoid using a no-op download location that gives
a 403 error" changed this, but now the direct URL to the file *also*
gives a 403 error. According to the comments in this file, the only
reason we're fetching these URLs is in an effort to pre-seed the
cache of intermediate certificates, so the specific URL that we're
requesting is uninteresting: we just need to fetch *something*.

dbus#546

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoDocument the change of development branch name to main
Simon McVittie [Tue, 18 Feb 2025 14:38:19 +0000 (14:38 +0000)] 
Document the change of development branch name to main

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoRename the git branch used for development to 'main'
Simon McVittie [Tue, 18 Feb 2025 14:31:28 +0000 (14:31 +0000)] 
Rename the git branch used for development to 'main'

This follows the convention used by many projects and hosting platforms.

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoUpdate NEWS
Simon McVittie [Tue, 18 Feb 2025 14:25:42 +0000 (14:25 +0000)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
8 months agoMerge branch 'debian-1096212' into 'master'
Simon McVittie [Tue, 18 Feb 2025 14:23:05 +0000 (14:23 +0000)] 
Merge branch 'debian-1096212' into 'master'

selinux: Don't include unused reference count in verbose logging

See merge request dbus/dbus!511

8 months agoselinux: Don't include unused reference count in verbose logging
Simon McVittie [Tue, 18 Feb 2025 10:37:28 +0000 (10:37 +0000)] 
selinux: Don't include unused reference count in verbose logging

libselinux 3.8 includes an API break in which the `refcnt` field of
struct security_id_t (originally intended to be a reference count, but
in practice always initialized to 1 and never modified) was renamed and
repurposed as an `id` field. This caused a build failure if dbus was
compiled with both SELinux support and verbose mode, for example in the
instrumented debug build that Debian includes in the `dbus-tests` package.

This particular piece of debug logging has little value, so just
remove it.

Reference: https://github.com/SELinuxProject/selinux/commit/e5fd7b078fb8eb0b15eb5beaccd0e6a07ec26758
Bug-Debian: https://bugs.debian.org/1096212
Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoNEWS: Add notes about Meson behaviour not being identical to Autotools
Simon McVittie [Wed, 18 Dec 2024 14:03:10 +0000 (14:03 +0000)] 
NEWS: Add notes about Meson behaviour not being identical to Autotools

See dbus/dbus#542 for an example of one particularly significant
behaviour change.

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoUpdate NEWS
Simon McVittie [Tue, 17 Dec 2024 12:49:13 +0000 (12:49 +0000)] 
Update NEWS

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoREADME: Mention the -alpha, -beta, -rc tags since 1.17.x
Simon McVittie [Tue, 17 Dec 2024 12:48:18 +0000 (12:48 +0000)] 
README: Mention the -alpha, -beta, -rc tags since 1.17.x

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoREADME: Stop describing odd/even as Linux kernel versioning
Simon McVittie [Tue, 17 Dec 2024 12:48:00 +0000 (12:48 +0000)] 
README: Stop describing odd/even as Linux kernel versioning

The Linux kernel hasn't used this versioning scheme for years
(the last odd-numbered development branch was 2.5).

We are still using the odd/even versioning scheme, and so are some other
library projects. Cite GLib and SDL as better examples of projects that
still use it.

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoREADME.win, README.cygwin: Describe dbus4win, etc. as historical
Simon McVittie [Tue, 17 Dec 2024 12:44:57 +0000 (12:44 +0000)] 
README.win, README.cygwin: Describe dbus4win, etc. as historical

The merge of Windows-specific dbus ports into the same git repository
as the original Unix-only implementation was a long time ago now,
and exists on several stable-branches, not just master.

This also avoids explicitly mentioning the name of the master branch,
which is likely to be renamed to main in future.

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoREADME.win: Capitalize "Windows"
Simon McVittie [Tue, 17 Dec 2024 12:43:37 +0000 (12:43 +0000)] 
README.win: Capitalize "Windows"

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoREADME.win: Mention Meson instead of Autotools
Simon McVittie [Tue, 17 Dec 2024 12:43:25 +0000 (12:43 +0000)] 
README.win: Mention Meson instead of Autotools

The choice of build system is now Meson/CMake rather than Autotools/CMake.

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoINSTALL, README: Simplify Meson vs. CMake recommendation
Simon McVittie [Tue, 17 Dec 2024 12:42:36 +0000 (12:42 +0000)] 
INSTALL, README: Simplify Meson vs. CMake recommendation

Now that 1.16.0 has been released and 1.15.x is EOL, it's misleading
to say that Meson is the recommended build system for Unix only on the
master branch: it's the recommended build system for Unix on the
dbus-1.16 branch, too.

This also avoids explicitly naming the master branch, which is likely
to get renamed to main.

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoCONTRIBUTING: Replace Autotools build options with Meson equivalents
Simon McVittie [Tue, 17 Dec 2024 12:40:48 +0000 (12:40 +0000)] 
CONTRIBUTING: Replace Autotools build options with Meson equivalents

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoCONTRIBUTING: Update details of the current branch
Simon McVittie [Tue, 17 Dec 2024 12:40:10 +0000 (12:40 +0000)] 
CONTRIBUTING: Update details of the current branch

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agotools: Fix a cross-reference to Mesa's master branch
Simon McVittie [Tue, 17 Dec 2024 12:29:37 +0000 (12:29 +0000)] 
tools: Fix a cross-reference to Mesa's master branch

Mesa has renamed its default branch to main.

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agobuild: Bump ABI current and age parameters to distinguish from 1.16.x
Simon McVittie [Mon, 16 Dec 2024 15:29:15 +0000 (15:29 +0000)] 
build: Bump ABI current and age parameters to distinguish from 1.16.x

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoMerge branch 'dbus-1.16'
Simon McVittie [Mon, 16 Dec 2024 15:28:29 +0000 (15:28 +0000)] 
Merge branch 'dbus-1.16'

10 months agoPrepare v1.16.0 dbus-1.16.0
Simon McVittie [Mon, 16 Dec 2024 12:20:50 +0000 (12:20 +0000)] 
Prepare v1.16.0

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoMerge branch 'dbus-1.16'
Simon McVittie [Mon, 16 Dec 2024 11:01:14 +0000 (11:01 +0000)] 
Merge branch 'dbus-1.16'

10 months agoNEWS: Update
Simon McVittie [Mon, 16 Dec 2024 11:00:00 +0000 (11:00 +0000)] 
NEWS: Update

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoINSTALL: libexpat is not required if the dbus-daemon is not built
Simon McVittie [Mon, 16 Dec 2024 10:59:36 +0000 (10:59 +0000)] 
INSTALL: libexpat is not required if the dbus-daemon is not built

Signed-off-by: Simon McVittie <smcv@collabora.com>
10 months agoINSTALL: Mention how to build as a Meson subproject
Simon McVittie [Mon, 16 Dec 2024 10:59:20 +0000 (10:59 +0000)] 
INSTALL: Mention how to build as a Meson subproject

Signed-off-by: Simon McVittie <smcv@collabora.com>