From 5c7706597581dfb9a4d0c305762700e1293f029a Mon Sep 17 00:00:00 2001 From: xdavidwu Date: Sat, 8 Jul 2023 22:59:29 +0800 Subject: [PATCH] dbus: hack to make more activations work use SystemdService only when Exec looks fake, to avoid the need of service unit file on every activation-using package. --- dbus/APKBUILD | 5 +++-- dbus/hack-systemd-activation-must-only.patch | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 dbus/hack-systemd-activation-must-only.patch diff --git a/dbus/APKBUILD b/dbus/APKBUILD index ed66052..0155ecc 100644 --- a/dbus/APKBUILD +++ b/dbus/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: xdavidwu pkgname=dbus pkgver=1.15.0 -pkgrel=0 +pkgrel=2 pkgdesc="Freedesktop.org message bus system" url="https://www.freedesktop.org/Software/dbus" arch="all" @@ -23,7 +23,7 @@ install="$pkgname.pre-install $pkgname.post-install" triggers="$pkgname.trigger=/usr/share/dbus-1/system.d" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-x11" source="https://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.xz - " + hack-systemd-activation-must-only.patch" options="!check" # Introduces circular dependency with xorg-server (xvfb-run -> xvfb) # secfixes: @@ -69,4 +69,5 @@ x11() { sha512sums=" 6f7e1d4ff525ce13c5f671f1b045a089c379cbfb777662ce7a55ffe4893a8ab2aaf38877a7b8f261823067a20f3b336437449eb353a97d30699496375e00bf1a dbus-1.15.0.tar.xz +5b7d3fc1d0ea62e48a882fa7eb940c9c19d71a74b4a6aff776f34f56219a385f6aaf255f9f1ec92757eb61159b28519fd30a6e2b54ea6b610f1bc6236ddd2af9 hack-systemd-activation-must-only.patch " diff --git a/dbus/hack-systemd-activation-must-only.patch b/dbus/hack-systemd-activation-must-only.patch new file mode 100644 index 0000000..e4ba771 --- /dev/null +++ b/dbus/hack-systemd-activation-must-only.patch @@ -0,0 +1,13 @@ +diff --git a/bus/activation.c b/bus/activation.c +index 48a44a30..f0ad8620 100644 +--- a/bus/activation.c ++++ b/bus/activation.c +@@ -2084,7 +2084,7 @@ bus_activation_activate_service (BusActivation *activation, + connects to us and do nothing. */ + return TRUE; + +- if (entry->systemd_service) ++ if (entry->systemd_service && !strcmp(entry->exec, "/bin/false")) + { + BusTransaction *activation_transaction; + DBusString service_string; -- 2.45.2