Extend the PipeWire recipe to add service file to start PipeWire as a
system service with proper socket dependency.

Signed-off-by: Paresh Bhagat <[email protected]>
---
Removed platform specific changes.

 .../pipewire/pipewire-arago.inc               | 14 ++++++++++
 .../pipewire/pipewire/pipewire.service        | 26 +++++++++++++++++++
 .../pipewire/pipewire_%.bbappend              |  4 +++
 3 files changed, 44 insertions(+)
 create mode 100644 
meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
 create mode 100644 
meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
 create mode 100644 
meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend

diff --git a/meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc 
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
new file mode 100644
index 00000000..7d7fc91b
--- /dev/null
+++ b/meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
@@ -0,0 +1,14 @@
+PR:append = ".arago1"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/pipewire:"
+SRC_URI:append = " file://pipewire.service"
+
+do_install:append() {
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', 
d)}; then
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${UNPACKDIR}/pipewire.service 
${D}${systemd_system_unitdir}/
+    fi
+}
+
+PACKAGECONFIG:append = " pipewire-jack"
+PACKAGECONFIG:remove = "jack"
diff --git 
a/meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service 
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
new file mode 100644
index 00000000..d204b15c
--- /dev/null
+++ b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
@@ -0,0 +1,26 @@
+[Unit]
+Description=PipeWire Multimedia Service
+# Ensure kernel modules are loaded and sound-card is ready
+After=systemd-modules-load.service 
sys-devices-platform-sound-sound-card0-controlC0.device
+
+Requires=pipewire.socket
+
+[Service]
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+Type=simple
+AmbientCapabilities=CAP_SYS_NICE
+ExecStart=/usr/bin/pipewire
+Restart=on-failure
+RestartSec=2
+RuntimeDirectory=pipewire
+RuntimeDirectoryPreserve=yes
+User=pipewire
+Environment=PIPEWIRE_RUNTIME_DIR=%t/pipewire
+
+[Install]
+Also=pipewire.socket pipewire-manager.socket
+WantedBy=default.target
diff --git a/meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend 
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend
new file mode 100644
index 00000000..dc32422b
--- /dev/null
+++ b/meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -0,0 +1,4 @@
+PIPEWIRE_ARAGO = ""
+PIPEWIRE_ARAGO:arago = "pipewire-arago.inc"
+
+require ${PIPEWIRE_ARAGO}
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17695): 
https://lists.yoctoproject.org/g/meta-arago/message/17695
Mute This Topic: https://lists.yoctoproject.org/mt/121393919/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to