diff --git a/backport-Do-not-crash-when-reloading-configuration.patch b/backport-Do-not-crash-when-reloading-configuration.patch deleted file mode 100644 index bf4802fbf35c583ec7f009570635ba0e1fa1e230..0000000000000000000000000000000000000000 --- a/backport-Do-not-crash-when-reloading-configuration.patch +++ /dev/null @@ -1,66 +0,0 @@ -From c3b1e4daa5b0ed5729f0f12bc6a3ba50a391f7f6 Mon Sep 17 00:00:00 2001 -From: hongjinghao -Date: Thu, 4 Jan 2024 15:15:53 +0800 -Subject: [PATCH] Do not crash when reloading configuration with > 128 dirs - -When `dbus-daemon` sets more than 128 directories for `XDG_DATA_DIRS`, -none of the elements in `new_dirs` will be `NULL`, which resulted in -these loops reading out-of-bounds (undefined behaviour). In practice -this led to a crash. - -To avoid this, make sure to stop iteration at the end of the array. - -[smcv: Expanded commit message] -Resolves: dbus/dbus#481 ---- - bus/dir-watch-inotify.c | 4 ++-- - bus/dir-watch-kqueue.c | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/bus/dir-watch-inotify.c b/bus/dir-watch-inotify.c -index 77b2d5a92..4f269777f 100644 ---- a/bus/dir-watch-inotify.c -+++ b/bus/dir-watch-inotify.c -@@ -131,7 +131,7 @@ _set_watched_dirs_internal (BusContext *context, - /* Look for directories in both the old and new sets, if - * we find one, move its data into the new set. - */ -- for (i = 0; new_dirs[i]; i++) -+ for (i = 0; i < MAX_DIRS_TO_WATCH && new_dirs[i]; i++) - { - for (j = 0; j < num_wds; j++) - { -@@ -160,7 +160,7 @@ _set_watched_dirs_internal (BusContext *context, - } - } - -- for (i = 0; new_dirs[i]; i++) -+ for (i = 0; i < MAX_DIRS_TO_WATCH && new_dirs[i]; i++) - { - if (new_wds[i] == -1) - { -diff --git a/bus/dir-watch-kqueue.c b/bus/dir-watch-kqueue.c -index b419606e3..07b505c99 100644 ---- a/bus/dir-watch-kqueue.c -+++ b/bus/dir-watch-kqueue.c -@@ -235,7 +235,7 @@ bus_set_watched_dirs (BusContext *context, DBusList **directories) - /* Look for directories in both the old and new sets, if - * we find one, move its data into the new set. - */ -- for (i = 0; new_dirs[i]; i++) -+ for (i = 0; i < MAX_DIRS_TO_WATCH && new_dirs[i]; i++) - { - for (j = 0; j < num_fds; j++) - { -@@ -264,7 +264,7 @@ bus_set_watched_dirs (BusContext *context, DBusList **directories) - } - } - -- for (i = 0; new_dirs[i]; i++) -+ for (i = 0; i < MAX_DIRS_TO_WATCH && new_dirs[i]; i++) - { - if (new_fds[i] == -1) - { --- -GitLab - diff --git a/bugfix-let-systemd-restart-dbus-when-the-it-enters-failed.patch b/bugfix-let-systemd-restart-dbus-when-the-it-enters-failed.patch index ba228924f58bdd979589addc66814a37374067eb..3dde6dac41ce0610f94dfd05122f64bbd6d123a8 100644 --- a/bugfix-let-systemd-restart-dbus-when-the-it-enters-failed.patch +++ b/bugfix-let-systemd-restart-dbus-when-the-it-enters-failed.patch @@ -16,9 +16,9 @@ index ca0b7e9..44c26c8 100644 --- a/bus/dbus.service.in +++ b/bus/dbus.service.in @@ -7,3 +7,5 @@ Requires=dbus.socket - ExecStart=@EXPANDED_BINDIR@/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only - ExecReload=@EXPANDED_BINDIR@/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig - OOMScoreAdjust=-900 + User=@DBUS_USER@ + Group=@DBUS_USER@ + @AMBIENT_CAPS@ +Restart=always +RestartSec=1 -- diff --git a/dbus-1.14.10.tar.xz b/dbus-1.14.10.tar.xz deleted file mode 100644 index 69cfe9c1cb306db816e32dffe0317ad61dad8984..0000000000000000000000000000000000000000 Binary files a/dbus-1.14.10.tar.xz and /dev/null differ diff --git a/dbus-1.16.0.tar.xz b/dbus-1.16.0.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..bbdd96bc19c941602a4ed3104b425bd6d6121b27 Binary files /dev/null and b/dbus-1.16.0.tar.xz differ diff --git a/dbus.spec b/dbus.spec index bd2f0eb21300d810ec2cadeb12066e520ccc4dfc..3384b39d350d8431235af052a1319e7653764195 100644 --- a/dbus.spec +++ b/dbus.spec @@ -1,10 +1,10 @@ Name: dbus Epoch: 1 -Version: 1.14.10 +Version: 1.16.0 Release: 1 Summary: System Message Bus License: (AFL-2.1 OR GPL-2.0-or-later) AND GPL-2.0-or-later -URL: http://www.freedesktop.org/Software/dbus/ +URL: https://www.freedesktop.org/Software/dbus/ Source0: https://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.xz Source1: 00-start-message-bus.sh @@ -12,13 +12,17 @@ Patch0001: bugfix-let-systemd-restart-dbus-when-the-it-enters-failed.patch Patch0002: print-load-average-when-activate-service-timeout.patch Patch6001: backport-tools-Use-Python3-for-GetAllMatchRules.patch -Patch6002: backport-Do-not-crash-when-reloading-configuration.patch BuildRequires: gcc make -BuildRequires: autoconf autoconf-archive automake libtool -BuildRequires: doxygen xmlto +BuildRequires: meson >= 0.56 +BuildRequires: xmlto +BuildRequires: /usr/bin/doxygen +BuildRequires: /usr/bin/ducktype BuildRequires: /usr/bin/xsltproc +BuildRequires: /usr/bin/yelp-build BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.40 BuildRequires: pkgconfig(libselinux) >= 2.0.86 BuildRequires: pkgconfig(libsystemd) >= 209 BuildRequires: pkgconfig(systemd) @@ -103,28 +107,27 @@ Man pages and other related documents for D-Bus. %autosetup -n %{name}-%{version} -p1 %build -# We need to use autoreconf to recreate aclocal.m4, When automake's version mismatch. -autoreconf -vfi - -%configure \ ---disable-static \ ---enable-inotify \ ---enable-libaudit \ ---enable-selinux=yes \ ---enable-systemd \ ---with-system-socket=%{_localstatedir}/run/dbus/system_bus_socket \ ---with-dbus-user=dbus \ ---libexecdir=/%{_libexecdir}/dbus-1 \ ---enable-user-session \ ---docdir=%{_pkgdocdir} \ ---enable-doxygen-docs \ ---disable-asserts - -%make_build V=1 +%meson \ + -Dlibaudit=enabled \ + -Dselinux=enabled \ + -Dsystem_socket=%{_localstatedir}/run/dbus/system_bus_socket \ + -Ddbus_user=dbus \ + -Duser_session=true \ + -Dinstalled_tests=false \ + -Ddoxygen_docs=enabled \ + -Dducktype_docs=enabled \ + -Dxml_docs=enabled \ + -Dasserts=false \ + -Dqt_help=disabled \ + -Dapparmor=disabled \ + -Dkqueue=disabled \ + -Dlaunchd=disabled \ + --libexecdir=%{_libexecdir}/dbus-1 + +%meson_build %install -%make_install -%delete_la +%meson_install install -Dp -m755 %{SOURCE1} %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/00-start-message-bus.sh install -d $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/session.d install -d $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d @@ -132,9 +135,6 @@ install -d $RPM_BUILD_ROOT%{_datadir}/dbus-1/interfaces install -d $RPM_BUILD_ROOT%{_localstatedir}/run/dbus install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/dbus -%check -%make_build check - %pre daemon # Add the "dbus" user and group getent group dbus > /dev/null || groupadd -f -g 81 -r dbus @@ -221,13 +221,20 @@ fi %files help %{_mandir}/man1/dbus-* -%{_pkgdocdir}/* -%exclude %{_pkgdocdir}/AUTHORS -%exclude %{_pkgdocdir}/ChangeLog -%exclude %{_pkgdocdir}/NEWS -%exclude %{_pkgdocdir}/README +%{_docdir}/%{name}/api +%{_docdir}/%{name}/examples +%{_docdir}/%{name}/*.css +%{_docdir}/%{name}/*.devhelp2 +%{_docdir}/%{name}/*.html +%{_docdir}/%{name}/*.js +%{_docdir}/%{name}/*.png +%{_docdir}/%{name}/*.svg +%{_docdir}/%{name}/*.txt %changelog +* Thu Dec 19 2024 Funda Wang - 1:1.16.0-1 +- update to 1.16.0 + * Fri Aug 09 2024 Funda Wang - 1:1.14.10-1 - update to 1.14.10