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]] -=-=-=-=-=-=-=-=-=-=-=-
