summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorPeter Bergin <peter@berginkonsult.se>2021-10-07 08:26:20 +0200
committerKhem Raj <raj.khem@gmail.com>2021-10-07 06:56:40 -0700
commit3b0458715178a0e0f4d8d0255d1ad2cd71f90041 (patch)
treea7bd248b3a6d98ab3998f88ce23a831c78af5c47 /meta-multimedia
parentc87e19f8710f4affa4161a73614feb917f46864f (diff)
downloadmeta-openembedded-3b0458715178a0e0f4d8d0255d1ad2cd71f90041.tar.gz
pipewire: rework PACKAGECONFIG for systemd service files
pipewire project have config option to enable installation of systemd user and/or system services. Before update of pipewire to current version (02de7746) only system service files was added, after update both user and system service files was added. This commit will make it possible to configure which service files that is wanted. Default PACKAGECONFIG is to add systemd service files as it was before version upgrade. Yocto systemd class currently does not handle user service files during package and those files are only installed in rootfs but user service is not enabled as a system service is. Another use case is where you want your own service files and can disable the default ones from pipewire and add your own in a bbappend. Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb20
1 files changed, 10 insertions, 10 deletions
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb
index fe1de6221b..2abc64efb2 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb
@@ -39,11 +39,6 @@ SYSTEMD_PACKAGES = "${PN} ${PN}-media-session"
39# 39#
40# libcamera support currently does not build successfully. 40# libcamera support currently does not build successfully.
41# 41#
42# systemd user service files are disabled because per-user
43# PipeWire instances aren't really something that makes
44# much sense in an embedded environment. A system-wide
45# instance does.
46#
47# manpage generation requires xmltoman, which is not available. 42# manpage generation requires xmltoman, which is not available.
48EXTRA_OEMESON += " \ 43EXTRA_OEMESON += " \
49 -Daudiotestsrc=enabled \ 44 -Daudiotestsrc=enabled \
@@ -59,7 +54,8 @@ EXTRA_OEMESON += " \
59 54
60PACKAGECONFIG ??= "\ 55PACKAGECONFIG ??= "\
61 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ 56 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
62 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \ 57 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \
58 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)} \
63 gstreamer jack sndfile pw-cat v4l2 \ 59 gstreamer jack sndfile pw-cat v4l2 \
64" 60"
65 61
@@ -68,7 +64,6 @@ PACKAGECONFIG ??= "\
68# libjack.so* files, thus colliding with the libpack package. This 64# libjack.so* files, thus colliding with the libpack package. This
69# is why these two are marked in their respective packageconfigs 65# is why these two are marked in their respective packageconfigs
70# as being in conflict. 66# as being in conflict.
71
72PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev" 67PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev"
73PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" 68PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
74PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native" 69PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native"
@@ -76,7 +71,12 @@ PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gs
76PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" 71PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
77PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" 72PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
78PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" 73PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
79PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled -Dsystemd-user-service=enabled,-Dsystemd=disabled -Dsystemd-system-service=disabled -Dsystemd-user-service=disabled,systemd" 74PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
75PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
76# "systemd-user-service" packageconfig will only install service
77# files to rootfs but not enable them as systemd.bbclass
78# currently lacks the feature of enabling user services.
79PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
80# pw-cat needs sndfile packageconfig to be enabled 80# pw-cat needs sndfile packageconfig to be enabled
81PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" 81PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
82PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" 82PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
@@ -191,7 +191,7 @@ PACKAGES =+ "\
191 191
192PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" 192PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
193 193
194SYSTEMD_SERVICE:${PN} = "pipewire.service" 194SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}"
195CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" 195CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
196FILES:${PN} = " \ 196FILES:${PN} = " \
197 ${datadir}/pipewire/pipewire.conf \ 197 ${datadir}/pipewire/pipewire.conf \
@@ -248,7 +248,7 @@ FILES:${PN}-jack = "\
248 248
249# Example session manager. Not intended for use in production. 249# Example session manager. Not intended for use in production.
250CONFFILES:${PN}-media-session = "${datadir}/pipewire/media-session.d/*" 250CONFFILES:${PN}-media-session = "${datadir}/pipewire/media-session.d/*"
251SYSTEMD_SERVICE:${PN}-media-session = "pipewire-media-session.service" 251SYSTEMD_SERVICE:${PN}-media-session = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire-media-session.service', '', d)}"
252FILES:${PN}-media-session = " \ 252FILES:${PN}-media-session = " \
253 ${bindir}/pipewire-media-session \ 253 ${bindir}/pipewire-media-session \
254 ${datadir}/pipewire/media-session.d/* \ 254 ${datadir}/pipewire/media-session.d/* \