]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
06dbus: consider dbus-broker
authorDaniel Molkentin <dmolkentin@suse.com>
Tue, 24 Nov 2020 19:46:47 +0000 (20:46 +0100)
committerDaniel Molkentin <daniel@molkentin.de>
Wed, 25 Nov 2020 17:21:39 +0000 (18:21 +0100)
modules.d/06dbus/dbus-cleanup.sh [deleted file]
modules.d/06dbus/module-setup.sh

diff --git a/modules.d/06dbus/dbus-cleanup.sh b/modules.d/06dbus/dbus-cleanup.sh
deleted file mode 100755 (executable)
index 4c84324..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-systemctl stop dbus.service dbus.socket
-rm -rf /run/dbus
index abf7e77fd99ac4a84e667634ab4c82209eeefaf4..b1d0c7a20a2c91028fdd80f4d5c65d8631df21de 100755 (executable)
@@ -12,30 +12,36 @@ depends() {
   return 0
 }
 
+adjust_dependencies() {
+  sed -i -e \
+'/^\[Unit\]/aDefaultDependencies=no\
+Conflicts=shutdown.target\
+Before=shutdown.target' \
+    "$initdir"${1}
+
+}
+
 install() {
-  local DBUS_SERVICE=/usr/lib/systemd/system/dbus.service
-  if [[ -e $DBUS_SERVICE ]]; then
-    if [[ -L $DBUS_SERVICE ]]; then
-      DBUS_SERVICE=$(readlink $DBUS_SERVICE)
-    fi
-  else
-    DBUS_SERVICE=/etc/systemd/system/dbus.service
-    if [[ -e $DBUS_SERVICE ]]; then
-      if [[ -L $DBUS_SERVICE ]]; then
-        DBUS_SERVICE=$(readlink $DBUS_SERVICE)
-      fi
-    else
-      echo "Could not find dbus.service";
-      exit 1
-    fi
-  fi
 
   inst_multiple \
-    $DBUS_SERVICE \
-    /usr/lib/systemd/system/dbus.socket \
-    /usr/bin/dbus-daemon \
+    $systemdsystemunitdir/dbus.service \
+    $systemdsystemunitdir/dbus.socket \
     /usr/bin/dbus-send \
     /usr/bin/busctl
+  adjust_dependencies $systemdsystemunitdir/dbus.service
+
+  if [[ -e /usr/bin/dbus-daemon ]]; then
+    inst_multiple \
+      /usr/bin/dbus-daemon
+  fi
+
+  if [[ -e /usr/bin/dbus-broker ]]; then
+    inst_multiple \
+      $systemdsystemunitdir/dbus-broker.service \
+      /usr/bin/dbus-broker \
+      /usr/bin/dbus-broker-launch
+    adjust_dependencies $systemdsystemunitdir/dbus-broker.service
+  fi
 
   inst_dir      /etc/dbus-1/system.d
   inst_dir      /usr/share/dbus-1/services
@@ -45,20 +51,9 @@ install() {
                 /usr/share/dbus-1/services/org.freedesktop.systemd1.service
   inst_multiple $(find /var/lib/dbus)
 
-  inst_hook cleanup 99 "$moddir/dbus-cleanup.sh"
-
   grep '^\(d\|message\)bus:' /etc/passwd >> "$initdir/etc/passwd"
   grep '^\(d\|message\)bus:' /etc/group >> "$initdir/etc/group"
 
-  # do not enable -- this is a static service
-  #systemctl --root "$initdir" enable $DBUS_SERVICE > /dev/null 2>&1
-
-  sed -i -e \
-'/^\[Unit\]/aDefaultDependencies=no\
-Conflicts=shutdown.target\
-Before=shutdown.target' \
-    "$initdir"$DBUS_SERVICE
-
   sed -i -e \
 '/^\[Unit\]/aDefaultDependencies=no\
 Conflicts=shutdown.target\