From 6b333009458240568ab2e569ee2b323e58a16b3f Mon Sep 17 00:00:00 2001 From: Caleb Connolly <caleb@postmarketos.org> Date: Wed, 6 Mar 2024 23:27:29 +0000 Subject: [PATCH] systemd/dbus: new aport Fork dbus and rebuild it with systemd support. Signed-off-by: Caleb Connolly <caleb@postmarketos.org> --- systemd/dbus/APKBUILD | 109 +++++++++++++++++++++++++++++++++ systemd/dbus/dbus.post-install | 4 ++ systemd/dbus/dbus.pre-install | 6 ++ systemd/dbus/dbus.trigger | 4 ++ 4 files changed, 123 insertions(+) create mode 100644 systemd/dbus/APKBUILD create mode 100644 systemd/dbus/dbus.post-install create mode 100644 systemd/dbus/dbus.pre-install create mode 100644 systemd/dbus/dbus.trigger diff --git a/systemd/dbus/APKBUILD b/systemd/dbus/APKBUILD new file mode 100644 index 00000000000..d3f783a6681 --- /dev/null +++ b/systemd/dbus/APKBUILD @@ -0,0 +1,109 @@ +# Forked from Alpine to enable systemd + +pkgname=dbus +pkgver=9991.14.10 +_pkgver=1.14.10 +pkgrel=1 +pkgdesc="Freedesktop.org message bus system" +url="https://www.freedesktop.org/Software/dbus" +arch="all" +license="AFL-2.1 OR GPL-2.0-or-later" +depends_dev="util-linux-dev" +makedepends=" + $depends_dev + expat-dev + glib-dev + libsm-dev + libx11-dev + meson + systemd-dev + xmlto + libcap-getcap + " +pkggroups="messagebus" +provider_priority=1 +install="$pkgname.pre-install $pkgname.post-install" +triggers="$pkgname.trigger=/usr/share/dbus-1/system.d" +options="!check" # Borked in pmbootstrap... +subpackages=" + $pkgname-daemon-launch-helper:launchhelper + $pkgname-dev + $pkgname-doc + $pkgname-libs + $pkgname-x11 + $pkgname-service + " +source="https://dbus.freedesktop.org/releases/dbus/dbus-$_pkgver.tar.xz" +builddir="$srcdir/dbus-$_pkgver" + +# secfixes: +# 1.14.4-r0: +# - CVE-2022-42010 +# - CVE-2022-42011 +# - CVE-2022-42012 +# 1.12.18-r0: +# - CVE-2020-12049 +# 1.12.16-r0: +# - CVE-2019-12749 + +build() { + CFLAGS="$CFLAGS -flto=auto" \ + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-system-pid-file=/run/dbus/dbus.pid \ + --enable-checks \ + --disable-assertions \ + --enable-systemd \ + --enable-inotify \ + --enable-libaudit \ + --enable-user-session \ + --disable-static + + make +} + +check() { + make check +} + +package() { + depends="$pkgname-libs=$pkgver-r$pkgrel" + + make DESTDIR="$pkgdir" install + + # can't install tmpfs + rm -r "$pkgdir"/var/run +} + +libs() { + pkgdesc="D-BUS access libraries" + depends="systemd-libs" + + amove usr/lib/lib*.so.* +} + +x11() { + pkgdesc="X11 add-ons for D-BUS" + depends="$pkgname=$pkgver-r$pkgrel" + + amove usr/bin/dbus-launch +} + +launchhelper() { + pkgdesc="DBus SUID launch helper for autospawning" + install_if="$pkgname=$pkgver-r$pkgrel" + + amove usr/libexec/dbus-daemon-launch-helper +} + +dev() { + default_dev +} + +sha512sums=" +775b708326059692937acb69d4ce1a89e69878501166655b5d1b1628ac31b50dd53d979d93c84e57f95e90b15e25aa33893e51a7421d3537e9c2f02b1b91bfae dbus-1.14.10.tar.xz +" diff --git a/systemd/dbus/dbus.post-install b/systemd/dbus/dbus.post-install new file mode 100644 index 00000000000..57f25927d2d --- /dev/null +++ b/systemd/dbus/dbus.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +# Don't populate this, we want systemd-firstboot to do it instead. +exec dbus-uuidgen --ensure=/etc/machine-id diff --git a/systemd/dbus/dbus.pre-install b/systemd/dbus/dbus.pre-install new file mode 100644 index 00000000000..2623d00c565 --- /dev/null +++ b/systemd/dbus/dbus.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S messagebus 2>/dev/null +adduser -S -D -H -h /dev/null -s /sbin/nologin -G messagebus -g messagebus messagebus 2>/dev/null + +exit 0 diff --git a/systemd/dbus/dbus.trigger b/systemd/dbus/dbus.trigger new file mode 100644 index 00000000000..a537bd8dfcc --- /dev/null +++ b/systemd/dbus/dbus.trigger @@ -0,0 +1,4 @@ +#!/bin/sh + +dbus-send --system --type=method_call --dest=org.freedesktop.DBus / \ + org.freedesktop.DBUS.ReloadConfig >/dev/null 2>&1 || : -- GitLab