pipewire recipe plumbing 57/21557/5
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>
Fri, 7 Jun 2019 11:35:14 +0000 (13:35 +0200)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 11 Jun 2019 13:35:25 +0000 (13:35 +0000)
This does enhance the recipes for pipewire and wireplumber in 2 ways:
a) we add a separate package for the configuration and make it replaceable
   w/o recompiling pipewire or wireplumber itself
b) this in turn makes the recipes not AGL specific and upstreamable as-is.

v2: enhanced config recipes
v3 & v4: fix typo

Bug-AGL: SPEC-2473

Change-Id: I1f6f32d7cc64d9424706ca6bc87550f5e2c6d359
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb
meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl/pipewire.conf [moved from meta-pipewire/recipes-multimedia/pipewire/pipewire.conf with 100% similarity]
meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb [new file with mode: 0644]
meta-pipewire/recipes-multimedia/pipewire/pipewire.inc
meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch [moved from meta-pipewire/recipes-multimedia/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch with 100% similarity]
meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-spa-include-install-missing-headers.patch [moved from meta-pipewire/recipes-multimedia/pipewire/0001-spa-include-install-missing-headers.patch with 100% similarity]
meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch [moved from meta-pipewire/recipes-multimedia/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch with 100% similarity]
meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb
meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb

diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb
new file mode 100644 (file)
index 0000000..50b207d
--- /dev/null
@@ -0,0 +1,30 @@
+SUMMARY     = "AGL configuration file for pipewire"
+HOMEPAGE    = "https://pipewire.org"
+BUGTRACKER  = "https://jira.automotivelinux.org"
+AUTHOR      = "George Kiagiadakis <george.kiagiadakis@collabora.com>"
+SECTION     = "multimedia"
+
+LICENSE = "MIT"
+
+SRC_URI = " \
+ file://pipewire.conf \
+ "
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install_append() {
+    # if we are distributing our own configuration file,
+    # replace the one installed by pipewire
+    install -d ${D}/${sysconfdir}/pipewire/
+    install -m 0644 ${WORKDIR}/pipewire.conf ${D}${sysconfdir}/pipewire/pipewire.conf
+}
+
+FILES_${PN} = "\
+    ${sysconfdir}/pipewire/pipewire.conf \
+"
+CONFFILES_${PN} += "\
+    ${sysconfdir}/pipewire/pipewire.conf \
+"
+
+RPROVIDES_${PN} += "virtual/pipewire-config"
index c1916c1..f7a6136 100644 (file)
@@ -49,13 +49,6 @@ PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreame
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
 
 do_install_append() {
-    # if we are distributing our own configuration file,
-    # replace the one installed by pipewire
-    if [ -f ${WORKDIR}/pipewire.conf ]
-    then
-        install -m 0644 ${WORKDIR}/pipewire.conf ${D}${sysconfdir}/pipewire/pipewire.conf
-    fi
-
     # only install the alsa config file if the alsa-lib plugin has been built
     # this avoids creating the pipewire-alsa package when the pipewire-alsa
     # feature is not enabled
@@ -66,24 +59,21 @@ do_install_append() {
     fi
 }
 
-PACKAGES += "\
-    lib${PN} \
-    lib${PN}-modules \
+PACKAGES =+ "\
     ${PN}-spa-plugins \
     ${PN}-alsa \
     ${PN}-pulseaudio \
     ${PN}-jack \
+    ${PN}-config \
     gstreamer${GST_VER}-${PN} \
+    lib${PN} \
+    lib${PN}-modules \
 "
 
 FILES_${PN} = "\
     ${bindir}/pipewire* \
-    ${sysconfdir}/pipewire/pipewire.conf \
     ${systemd_user_unitdir}/* \
 "
-CONFFILES_${PN} += "\
-    ${sysconfdir}/pipewire/pipewire.conf \
-"
 
 FILES_lib${PN} = "\
     ${libdir}/libpipewire-*.so.* \
@@ -112,3 +102,14 @@ FILES_gstreamer${GST_VER}-${PN} = "\
 "
 
 RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
+
+# The default pipewire config.
+# Replace in your own package using
+# "virtual/pipewire-config"
+FILES_${PN}-config = "\
+    ${sysconfdir}/pipewire/pipewire.conf \
+"
+CONFFILES_${PN}-config += "\
+    ${sysconfdir}/pipewire/pipewire.conf \
+"
+RPROVIDES_${PN}-config += "virtual/pipewire-config"
index 65efe21..84e7688 100644 (file)
@@ -1,16 +1,14 @@
 require pipewire.inc
 
-FILESEXTRAPATHS_prepend := "${THISDIR}:"
-
 SRC_URI = "gitsm://github.com/PipeWire/pipewire;protocol=https;branch=work \
     file://0001-spa-include-install-missing-headers.patch \
     file://0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch \
     file://0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch \
-    file://pipewire.conf \
     "
+
 SRCREV = "4be788962e60891237f1f018627bf709ae3981e6"
 
 PV = "0.2.90+git${SRCPV}-1"
 S  = "${WORKDIR}/git"
 
-RDEPENDS_${PN} += "wireplumber"
+RDEPENDS_${PN} += "virtual/pipewire-sessionmanager virtual/pipewire-config"
index daf0a38..df5e93d 100644 (file)
@@ -17,10 +17,20 @@ SRCREV = "36bc1795ca2626cde5cbd5ec6afae50e5496bd08"
 PV = "0.0+git${SRCPV}"
 S  = "${WORKDIR}/git"
 
+PACKAGES =+ "${PN}-config"
+
 FILES_${PN} += "\
     ${libdir}/wireplumber-*/* \
+"
+RPROVIDES_${PN} += "virtual/pipewire-sessionmanager"
+RDEPENDS_${PN} += "virtual/wireplumber-config"
+
+
+FILES_${PN}-config += "\
     ${sysconfdir}/wireplumber/* \
 "
-CONFFILES_${PN} += "\
+CONFFILES_${PN}-config += "\
     ${sysconfdir}/wireplumber/* \
 "
+
+RPROVIDES_${PN}-config += "virtual/wireplumber-config"