From: Jan-Simon Möller Date: Fri, 7 Jun 2019 11:35:14 +0000 (+0200) Subject: pipewire recipe plumbing X-Git-Tag: 7.99.2~23 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=5e28b182790ce38cb769949a5f2f9c649b6978c6;p=AGL%2Fmeta-agl-devel.git pipewire recipe plumbing 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 --- diff --git a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb index b831ef38..7958c732 100644 --- a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb +++ b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb @@ -11,5 +11,4 @@ PACKAGES = "\ RDEPENDS_${PN} += "\ pipewire \ pipewire-alsa \ - wireplumber \ " diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire.conf b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl/pipewire.conf similarity index 100% rename from meta-pipewire/recipes-multimedia/pipewire/pipewire.conf rename to meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl/pipewire.conf 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 index 00000000..50b207df --- /dev/null +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire-conf-agl_git.bb @@ -0,0 +1,30 @@ +SUMMARY = "AGL configuration file for pipewire" +HOMEPAGE = "https://pipewire.org" +BUGTRACKER = "https://jira.automotivelinux.org" +AUTHOR = "George Kiagiadakis " +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" diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc b/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc index c1916c10..f7a6136d 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire.inc @@ -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" diff --git a/meta-pipewire/recipes-multimedia/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch similarity index 100% rename from meta-pipewire/recipes-multimedia/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch rename to meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-extensions-implement-Endpoint-ClientEndpoint-interfa.patch diff --git a/meta-pipewire/recipes-multimedia/pipewire/0001-spa-include-install-missing-headers.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-spa-include-install-missing-headers.patch similarity index 100% rename from meta-pipewire/recipes-multimedia/pipewire/0001-spa-include-install-missing-headers.patch rename to meta-pipewire/recipes-multimedia/pipewire/pipewire/0001-spa-include-install-missing-headers.patch diff --git a/meta-pipewire/recipes-multimedia/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch similarity index 100% rename from meta-pipewire/recipes-multimedia/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch rename to meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewire-cli-add-support-for-printing-endpoint-info-.patch diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb index 65efe214..84e76883 100644 --- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb +++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_git.bb @@ -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" diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb index daf0a38a..df5e93df 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb @@ -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"