Splux Linux

source-based Linux using SPS

sps-extra · log · files · refs · tags · releases · people · languages · GitHub · commit

f2ec401


extra: ship systemd and OpenRC units for display and network extras

Date
Commitf2ec4015f6c60cb670e0a6d17790664278aaff85
GitHubmirror

Parents

Stat

 desktop/sddm/files/openrc-sddm                  | 12 ++++++++++++
 desktop/sddm/files/sddm.service                 | 12 ++++++++++++
 desktop/sddm/hooks/post-install                 |  5 +++++
 desktop/sddm/recipe                             |  9 +++++++--
 net/bluez/files/bluetooth.service               | 10 ++++++++++
 net/bluez/files/openrc-bluetooth                | 10 ++++++++++
 net/bluez/hooks/post-install                    |  5 +++++
 net/bluez/recipe                                |  5 ++++-
 net/iwd/files/iwd.service                       | 10 ++++++++++
 net/iwd/files/openrc-iwd                        | 11 +++++++++++
 net/iwd/hooks/post-install                      |  5 +++++
 net/iwd/recipe                                  |  5 ++++-
 net/networkmanager/files/NetworkManager.service | 12 ++++++++++++
 net/networkmanager/files/openrc-NetworkManager  | 12 ++++++++++++
 net/networkmanager/hooks/post-install           |  5 +++++
 net/networkmanager/recipe                       |  5 ++++-
 print/cups/files/cups.service                   | 10 ++++++++++
 print/cups/files/openrc-cupsd                   | 11 +++++++++++
 print/cups/hooks/post-install                   |  5 +++++
 print/cups/recipe                               |  5 ++++-
 sys/power-profiles-daemon/hooks/post-install    |  5 +++++
 sys/power-profiles-daemon/recipe                |  2 +-
 sys/seatd/files/openrc-seatd                    | 10 ++++++++++
 sys/seatd/files/seatd.service                   | 10 ++++++++++
 sys/seatd/hooks/post-install                    |  5 +++++
 sys/seatd/recipe                                |  5 ++++-
 26 files changed, 193 insertions(+), 8 deletions(-)

Diff

diff --git a/desktop/sddm/files/openrc-sddm b/desktop/sddm/files/openrc-sddm
new file mode 100644
index 0000000..fe44593
--- /dev/null
+++ b/desktop/sddm/files/openrc-sddm
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+# OpenRC unit for SDDM. systemd installs sddm.service from files/.
+
+description="Simple Desktop Display Manager"
+command="/usr/bin/sddm"
+command_background="yes"
+pidfile="/run/sddm.pid"
+
+depend() {
+	need dbus
+	after dbus
+}
diff --git a/desktop/sddm/files/sddm.service b/desktop/sddm/files/sddm.service
new file mode 100644
index 0000000..e5187f7
--- /dev/null
+++ b/desktop/sddm/files/sddm.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Simple Desktop Display Manager
+Documentation=man:sddm(1)
+After=local-fs.target systemd-user-sessions.service
+After=dbus.service
+
+[Service]
+ExecStart=/usr/bin/sddm
+Restart=always
+
+[Install]
+WantedBy=graphical.target
diff --git a/desktop/sddm/hooks/post-install b/desktop/sddm/hooks/post-install
new file mode 100644
index 0000000..541b0e0
--- /dev/null
+++ b/desktop/sddm/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable SDDM for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/desktop/sddm/recipe b/desktop/sddm/recipe
index cb3e32c..81a15e5 100644
--- a/desktop/sddm/recipe
+++ b/desktop/sddm/recipe
@@ -1,6 +1,6 @@
 name        sddm
 version     0.21.0
-release     1
+release     2
 description sddm: display manager
 
 source      https://github.com/sddm/sddm/archive/refs/tags/v0.21.0.tar.gz
@@ -8,8 +8,13 @@ hash        sha256:f895de2683627e969e4849dbfbbb2b500787481ca5ba0de6d6dfdae5f1549
 
 depend      filesystem
 depend      qt6
-depend      elogind
+depend      dbus
+optional    elogind
+optional    systemd
 
 configure   cmake -S . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DENABLE_JOURNALD=OFF -DNO_SYSTEMD=ON
 build       cmake --build build --parallel "$MAKEJOBS"
 install     DESTDIR="$PKG" cmake --install build
+install     mkdir -p "$PKG/usr/lib/systemd/system" "$PKG/etc/init.d"
+install     install -m 0644 "$SRC/files/sddm.service" "$PKG/usr/lib/systemd/system/sddm.service"
+install     install -m 0755 "$SRC/files/openrc-sddm" "$PKG/etc/init.d/sddm"
diff --git a/net/bluez/files/bluetooth.service b/net/bluez/files/bluetooth.service
new file mode 100644
index 0000000..b57004e
--- /dev/null
+++ b/net/bluez/files/bluetooth.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Bluetooth service
+After=dbus.service
+
+[Service]
+ExecStart=/usr/libexec/bluetooth/bluetoothd
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net/bluez/files/openrc-bluetooth b/net/bluez/files/openrc-bluetooth
new file mode 100644
index 0000000..28a6cf9
--- /dev/null
+++ b/net/bluez/files/openrc-bluetooth
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+description="Bluetooth daemon"
+command="/usr/libexec/bluetooth/bluetoothd"
+command_background="yes"
+pidfile="/run/bluetoothd.pid"
+
+depend() {
+	need dbus
+	after dbus
+}
diff --git a/net/bluez/hooks/post-install b/net/bluez/hooks/post-install
new file mode 100644
index 0000000..537437f
--- /dev/null
+++ b/net/bluez/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable this package's service for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/net/bluez/recipe b/net/bluez/recipe
index ba40019..2fab5f2 100644
--- a/net/bluez/recipe
+++ b/net/bluez/recipe
@@ -1,6 +1,6 @@
 name        bluez
 version     5.84
-release     1
+release     2
 description bluez: Bluetooth protocol stack
 
 source      https://mirrors.edge.kernel.org/pub/linux/bluetooth/bluez-5.84.tar.xz
@@ -15,3 +15,6 @@ depend      readline
 configure   ./configure --prefix=/usr --enable-library --disable-systemd --disable-manpages
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
+install     mkdir -p "$PKG/usr/lib/systemd/system" "$PKG/etc/init.d"
+install     install -m 0644 "$SRC/files/bluetooth.service" "$PKG/usr/lib/systemd/system/bluetooth.service"
+install     install -m 0755 "$SRC/files/openrc-bluetooth" "$PKG/etc/init.d/bluetooth"
diff --git a/net/iwd/files/iwd.service b/net/iwd/files/iwd.service
new file mode 100644
index 0000000..25663af
--- /dev/null
+++ b/net/iwd/files/iwd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Internet Wireless Daemon
+After=dbus.service
+
+[Service]
+ExecStart=/usr/libexec/iwd
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net/iwd/files/openrc-iwd b/net/iwd/files/openrc-iwd
new file mode 100644
index 0000000..b7bb685
--- /dev/null
+++ b/net/iwd/files/openrc-iwd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+description="iNet wireless daemon"
+command="/usr/libexec/iwd"
+command_background="yes"
+pidfile="/run/iwd.pid"
+
+depend() {
+	need dbus
+	after dbus
+	provide net
+}
diff --git a/net/iwd/hooks/post-install b/net/iwd/hooks/post-install
new file mode 100644
index 0000000..537437f
--- /dev/null
+++ b/net/iwd/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable this package's service for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/net/iwd/recipe b/net/iwd/recipe
index c65f5a6..0c929a3 100644
--- a/net/iwd/recipe
+++ b/net/iwd/recipe
@@ -1,6 +1,6 @@
 name        iwd
 version     3.9
-release     1
+release     2
 description iwd: iNet wireless daemon
 
 source      https://cdn.kernel.org/pub/linux/network/wireless/iwd-3.9.tar.xz
@@ -13,3 +13,6 @@ depend      dbus
 configure   ./configure --prefix=/usr --disable-systemd-service
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
+install     mkdir -p "$PKG/usr/lib/systemd/system" "$PKG/etc/init.d"
+install     install -m 0644 "$SRC/files/iwd.service" "$PKG/usr/lib/systemd/system/iwd.service"
+install     install -m 0755 "$SRC/files/openrc-iwd" "$PKG/etc/init.d/iwd"
diff --git a/net/networkmanager/files/NetworkManager.service b/net/networkmanager/files/NetworkManager.service
new file mode 100644
index 0000000..f8c0cc6
--- /dev/null
+++ b/net/networkmanager/files/NetworkManager.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Network Manager
+Wants=network.target
+After=dbus.service
+Before=network.target
+
+[Service]
+ExecStart=/usr/sbin/NetworkManager --no-daemon
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net/networkmanager/files/openrc-NetworkManager b/net/networkmanager/files/openrc-NetworkManager
new file mode 100644
index 0000000..f0a0c00
--- /dev/null
+++ b/net/networkmanager/files/openrc-NetworkManager
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+description="NetworkManager"
+command="/usr/sbin/NetworkManager"
+command_args="--no-daemon"
+command_background="yes"
+pidfile="/run/NetworkManager.pid"
+
+depend() {
+	need dbus
+	after dbus
+	provide net
+}
diff --git a/net/networkmanager/hooks/post-install b/net/networkmanager/hooks/post-install
new file mode 100644
index 0000000..537437f
--- /dev/null
+++ b/net/networkmanager/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable this package's service for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/net/networkmanager/recipe b/net/networkmanager/recipe
index 5f6be9a..0f516c2 100644
--- a/net/networkmanager/recipe
+++ b/net/networkmanager/recipe
@@ -1,6 +1,6 @@
 name        networkmanager
 version     1.54.0
-release     1
+release     2
 description networkmanager: network configuration
 
 source      https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/archive/1.54.0/NetworkManager-1.54.0.tar.gz
@@ -15,3 +15,6 @@ depend      jansson
 configure   meson setup build --prefix=/usr --buildtype=release -Dsystemd=false -Dsession_tracking=elogind -Dtests=no
 build       meson compile -C build
 install     DESTDIR="$PKG" meson install -C build --no-rebuild
+install     mkdir -p "$PKG/usr/lib/systemd/system" "$PKG/etc/init.d"
+install     install -m 0644 "$SRC/files/NetworkManager.service" "$PKG/usr/lib/systemd/system/NetworkManager.service"
+install     install -m 0755 "$SRC/files/openrc-NetworkManager" "$PKG/etc/init.d/NetworkManager"
diff --git a/print/cups/files/cups.service b/print/cups/files/cups.service
new file mode 100644
index 0000000..0a8be5b
--- /dev/null
+++ b/print/cups/files/cups.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=CUPS Scheduler
+After=dbus.service
+
+[Service]
+ExecStart=/usr/sbin/cupsd -f
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/print/cups/files/openrc-cupsd b/print/cups/files/openrc-cupsd
new file mode 100644
index 0000000..df9b651
--- /dev/null
+++ b/print/cups/files/openrc-cupsd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+description="CUPS printing service"
+command="/usr/sbin/cupsd"
+command_args="-f"
+command_background="yes"
+pidfile="/run/cupsd.pid"
+
+depend() {
+	use dbus
+	after dbus
+}
diff --git a/print/cups/hooks/post-install b/print/cups/hooks/post-install
new file mode 100644
index 0000000..537437f
--- /dev/null
+++ b/print/cups/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable this package's service for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/print/cups/recipe b/print/cups/recipe
index ede9219..cf2b203 100644
--- a/print/cups/recipe
+++ b/print/cups/recipe
@@ -1,6 +1,6 @@
 name        cups
 version     2.4.14
-release     1
+release     2
 description cups: Common UNIX Printing System
 
 source      https://github.com/OpenPrinting/cups/releases/download/v2.4.14/cups-2.4.14-source.tar.gz
@@ -13,3 +13,6 @@ depend      zlib
 configure   ./configure --prefix=/usr --with-rcdir=no --with-systemd=no --with-components=all
 build       make -j"$MAKEJOBS"
 install     make install DESTDIR="$PKG"
+install     mkdir -p "$PKG/usr/lib/systemd/system" "$PKG/etc/init.d"
+install     install -m 0644 "$SRC/files/cups.service" "$PKG/usr/lib/systemd/system/cups.service"
+install     install -m 0755 "$SRC/files/openrc-cupsd" "$PKG/etc/init.d/cupsd"
diff --git a/sys/power-profiles-daemon/hooks/post-install b/sys/power-profiles-daemon/hooks/post-install
new file mode 100644
index 0000000..537437f
--- /dev/null
+++ b/sys/power-profiles-daemon/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable this package's service for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/sys/power-profiles-daemon/recipe b/sys/power-profiles-daemon/recipe
index 33d09ee..eee5e43 100644
--- a/sys/power-profiles-daemon/recipe
+++ b/sys/power-profiles-daemon/recipe
@@ -1,6 +1,6 @@
 name        power-profiles-daemon
 version     0.23
-release     2
+release     3
 description power-profiles-daemon: power profiles
 
 source      https://gitlab.freedesktop.org/upower/power-profiles-daemon/-/archive/0.23/power-profiles-daemon-0.23.tar.gz
diff --git a/sys/seatd/files/openrc-seatd b/sys/seatd/files/openrc-seatd
new file mode 100644
index 0000000..84c45cc
--- /dev/null
+++ b/sys/seatd/files/openrc-seatd
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+description="seat management daemon"
+command="/usr/bin/seatd"
+command_args="-g video"
+command_background="yes"
+pidfile="/run/seatd.pid"
+
+depend() {
+	need localmount
+}
diff --git a/sys/seatd/files/seatd.service b/sys/seatd/files/seatd.service
new file mode 100644
index 0000000..19d87d5
--- /dev/null
+++ b/sys/seatd/files/seatd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Seat management daemon
+Before=graphical.target
+
+[Service]
+ExecStart=/usr/bin/seatd -g video
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys/seatd/hooks/post-install b/sys/seatd/hooks/post-install
new file mode 100644
index 0000000..537437f
--- /dev/null
+++ b/sys/seatd/hooks/post-install
@@ -0,0 +1,5 @@
+# Enable this package's service for the init recorded in $SPS_ROOT/etc/sps/init.
+[ -n "${SPS_LIBDIR-}" ] && [ -f "$SPS_LIBDIR/setup/service.sh" ] || exit 0
+# shellcheck disable=SC1091
+. "$SPS_LIBDIR/setup/service.sh"
+setup_service_hook_enable || :
diff --git a/sys/seatd/recipe b/sys/seatd/recipe
index 583a547..2772a1d 100644
--- a/sys/seatd/recipe
+++ b/sys/seatd/recipe
@@ -1,6 +1,6 @@
 name        seatd
 version     0.9.1
-release     1
+release     2
 description seatd: seat management daemon
 
 source      https://git.sr.ht/~kennylevinsen/seatd/archive/0.9.1.tar.gz
@@ -11,3 +11,6 @@ depend      filesystem
 configure   meson setup build --prefix=/usr --buildtype=release
 build       meson compile -C build
 install     DESTDIR="$PKG" meson install -C build --no-rebuild
+install     mkdir -p "$PKG/usr/lib/systemd/system" "$PKG/etc/init.d"
+install     install -m 0644 "$SRC/files/seatd.service" "$PKG/usr/lib/systemd/system/seatd.service"
+install     install -m 0755 "$SRC/files/openrc-seatd" "$PKG/etc/init.d/seatd"