diff mbox series

[v1] pulseaudio: split pactl into a dedicated client subpackage

Message ID 20260402162109.3523797-1-mohammad.rafi.shaik@oss.qualcomm.com
State New
Headers show
Series [v1] pulseaudio: split pactl into a dedicated client subpackage | expand

Commit Message

Mohammad Rafi Shaik April 2, 2026, 4:21 p.m. UTC
From: Tejas Kanfade <tkanfade@qti.qualcomm.com>

pactl is a client-side control utility and is required on
PipeWire-based systems for audio control. pactl was packaged
as part of pulseaudio-server, making it difficult to use
without also installing and enabling the pulseaudio daemon,
which can conflict with pipewire.

Move the pactl binary into a standalone pulseaudio-pactl subpackage
so it can be installed without pulling in the pulseaudio server.

Signed-off-by: Tejas Kanfade <tkanfade@qti.qualcomm.com>
Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@oss.qualcomm.com>
---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index b9dc8e236f..fe1da6a82b 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -166,6 +166,7 @@  PACKAGES =+ "\
              libpulse-simple \
              libpulsecommon \
              libpulsecore \
+             ${PN}-pactl \
              ${PN}-pa-info \
              ${PN}-server \
              ${PN}-misc \
@@ -194,8 +195,9 @@  FILES:libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
 
 FILES:${PN}-dev += "${datadir}/vala"
 FILES:${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
+FILES:${PN}-pactl = "${bindir}/pactl"
 FILES:${PN}-pa-info = "${bindir}/pa-info"
-FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
+FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
 FILES:${PN}-server += "${datadir}/dbus-1/system.d/pulseaudio-system.conf"
 
 #SYSTEMD_PACKAGES = "${PN}-server"
@@ -227,6 +229,9 @@  python populate_packages:prepend() {
     do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
 }
 
+# pactl is a client tool; it requires libpulse and a PulseAudio-compatible server
+RDEPENDS:${PN}-pactl = "libpulse"
+
 # pa-info is a bash script that collects information about the audio setup.
 # It's primarily useful for attaching an information dump when reporting bugs.
 RDEPENDS:${PN}-pa-info = "\