* [PATCH 1/5] pulseaudio: fix multilib packaging
@ 2019-01-10 13:52 Ross Burton
2019-01-10 13:52 ` [PATCH 2/5] pulseaudio: enforce empty PN Ross Burton
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Ross Burton @ 2019-01-10 13:52 UTC (permalink / raw)
To: openembedded-core
The magic multilibisation doesn't quite catch every instance, so replace
'pulseaudio' with ${PN} where needed to ensure the packaging is as intended.
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index f526690390f..82b31580b7c 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -210,11 +210,9 @@ pkg_postinst_${PN}-server() {
}
python populate_packages_prepend() {
- #d.setVar('PKG_pulseaudio', 'pulseaudio')
-
plugindir = d.expand('${libdir}/pulse-${PV}/modules/')
- do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
- do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
+ do_split_packages(d, plugindir, '^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
+ do_split_packages(d, plugindir, '^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
}
RDEPENDS_pulseaudio-server = " \
@@ -250,8 +248,8 @@ RDEPENDS_pulseaudio-server += "alsa-plugins-pulseaudio-conf"
RDEPENDS_pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
-FILES_pulseaudio-module-gconf += "${libexecdir}/pulse/gconf-helper"
-FILES_pulseaudio-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
+FILES_${PN}-module-gconf += "${libexecdir}/pulse/gconf-helper"
+FILES_${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
# The console-kit module is good to have on X11 systems (it keeps PulseAudio
# running for the duration of the user login session). The device-manager and
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/5] pulseaudio: enforce empty PN
2019-01-10 13:52 [PATCH 1/5] pulseaudio: fix multilib packaging Ross Burton
@ 2019-01-10 13:52 ` Ross Burton
2019-01-10 13:52 ` [PATCH 3/5] gsettings: allow the schemas to be in any package Ross Burton
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2019-01-10 13:52 UTC (permalink / raw)
To: openembedded-core
The intention is that PN is empty, enforce that so new files don't end up in PN
silently.
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 82b31580b7c..f81027e655d 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -193,6 +193,7 @@ SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service"
FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
+FILES_${PN} = ""
ALLOW_EMPTY_${PN} = "1"
CONFFILES_libpulse = "${sysconfdir}/pulse/client.conf"
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/5] gsettings: allow the schemas to be in any package
2019-01-10 13:52 [PATCH 1/5] pulseaudio: fix multilib packaging Ross Burton
2019-01-10 13:52 ` [PATCH 2/5] pulseaudio: enforce empty PN Ross Burton
@ 2019-01-10 13:52 ` Ross Burton
2019-01-10 13:53 ` [PATCH 4/5] pulseaudio: add PACKAGECONFIGs for GConf and GSettings Ross Burton
2019-01-10 13:53 ` [PATCH 5/5] pulseaudio: switch configuration module from GConf to GSettings Ross Burton
3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2019-01-10 13:52 UTC (permalink / raw)
To: openembedded-core
Instead of assuming that the schemas are located in ${PN}, add a
GSETTINGS_PACKAGE variable for the package name and default it to ${PN}.
For recipe that can conditionally ship schemas, support GSETTINGS_PACKAGE being
empty gracefully by doing nothing.
(From OE-Core rev: 28e84a07dd74636554bdf7622da167a1fe1af963)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/classes/gsettings.bbclass | 48 +++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 22 deletions(-)
diff --git a/meta/classes/gsettings.bbclass b/meta/classes/gsettings.bbclass
index eae3dc7999f..33afc96a9ce 100644
--- a/meta/classes/gsettings.bbclass
+++ b/meta/classes/gsettings.bbclass
@@ -7,32 +7,36 @@
# TODO use a trigger so that this runs once per package operation run
-
-RDEPENDS_${PN} += "glib-2.0-utils"
-
-FILES_${PN} += "${datadir}/glib-2.0/schemas"
-
-PACKAGE_WRITE_DEPS += "glib-2.0-native"
+GSETTINGS_PACKAGE ?= "${PN}"
+
+python __anonymous() {
+ pkg = d.getVar("GSETTINGS_PACKAGE")
+ if pkg:
+ d.appendVar("PACKAGE_WRITE_DEPS", " glib-2.0-native")
+ d.appendVar("RDEPENDS_" + pkg, " ${MLPREFIX}glib-2.0-utils")
+ d.appendVar("FILES_" + pkg, " ${datadir}/glib-2.0/schemas")
+}
gsettings_postinstrm () {
glib-compile-schemas $D${datadir}/glib-2.0/schemas
}
python populate_packages_append () {
- pkg = d.getVar('PN')
- bb.note("adding gsettings postinst scripts to %s" % pkg)
-
- postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
- if not postinst:
- postinst = '#!/bin/sh\n'
- postinst += d.getVar('gsettings_postinstrm')
- d.setVar('pkg_postinst_%s' % pkg, postinst)
-
- bb.note("adding gsettings postrm scripts to %s" % pkg)
-
- postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
- if not postrm:
- postrm = '#!/bin/sh\n'
- postrm += d.getVar('gsettings_postinstrm')
- d.setVar('pkg_postrm_%s' % pkg, postrm)
+ pkg = d.getVar('GSETTINGS_PACKAGE')
+ if pkg:
+ bb.note("adding gsettings postinst scripts to %s" % pkg)
+
+ postinst = d.getVar('pkg_postinst_%s' % pkg) or d.getVar('pkg_postinst')
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += d.getVar('gsettings_postinstrm')
+ d.setVar('pkg_postinst_%s' % pkg, postinst)
+
+ bb.note("adding gsettings postrm scripts to %s" % pkg)
+
+ postrm = d.getVar('pkg_postrm_%s' % pkg) or d.getVar('pkg_postrm')
+ if not postrm:
+ postrm = '#!/bin/sh\n'
+ postrm += d.getVar('gsettings_postinstrm')
+ d.setVar('pkg_postrm_%s' % pkg, postrm)
}
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/5] pulseaudio: add PACKAGECONFIGs for GConf and GSettings
2019-01-10 13:52 [PATCH 1/5] pulseaudio: fix multilib packaging Ross Burton
2019-01-10 13:52 ` [PATCH 2/5] pulseaudio: enforce empty PN Ross Burton
2019-01-10 13:52 ` [PATCH 3/5] gsettings: allow the schemas to be in any package Ross Burton
@ 2019-01-10 13:53 ` Ross Burton
2019-01-10 13:53 ` [PATCH 5/5] pulseaudio: switch configuration module from GConf to GSettings Ross Burton
3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2019-01-10 13:53 UTC (permalink / raw)
To: openembedded-core
Behaviour is kept the same.
(From OE-Core rev: 577ce3462b9f37f6c73f07aaf53f68b8dee1887a)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index f81027e655d..9093010c8d9 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -58,10 +58,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
DEPENDS = "libatomic-ops libsndfile1 libtool intltool-native"
# optional
-DEPENDS += "udev alsa-lib glib-2.0 gconf"
+DEPENDS += "udev alsa-lib glib-2.0"
DEPENDS += "speexdsp libxml-parser-perl-native libcap"
-inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages
+inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages gsettings
# *.desktop rules wont be generated during configure and build will fail
# if using --disable-nls
@@ -97,20 +97,18 @@ EXTRA_OECONF += "--without-fftw"
# very good anyway, better alternatives exist (such as the webrtc canceller).
EXTRA_OECONF += "--disable-adrian-aec"
-# FIXME: The gsettings module is temporarily disabled, because adding support
-# for it is a bit complicated.
-EXTRA_OECONF += "--disable-gsettings"
-
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd x11', d)} \
- dbus \
+ dbus gconf \
"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc"
PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
+PACKAGECONFIG[gconf] = "--enable-gconf,--disable-gconf,gconf"
+PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0"
PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono"
PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal --with-systemduserunitdir=${systemd_user_unitdir},--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
@@ -249,8 +247,11 @@ RDEPENDS_pulseaudio-server += "alsa-plugins-pulseaudio-conf"
RDEPENDS_pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
-FILES_${PN}-module-gconf += "${libexecdir}/pulse/gconf-helper"
FILES_${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
+FILES_${PN}-module-gconf += "${libexecdir}/pulse/gconf-helper"
+
+GSETTINGS_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'gsettings', '${PN}-module-gsettings', '', d)}"
+FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
# The console-kit module is good to have on X11 systems (it keeps PulseAudio
# running for the duration of the user login session). The device-manager and
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 5/5] pulseaudio: switch configuration module from GConf to GSettings
2019-01-10 13:52 [PATCH 1/5] pulseaudio: fix multilib packaging Ross Burton
` (2 preceding siblings ...)
2019-01-10 13:53 ` [PATCH 4/5] pulseaudio: add PACKAGECONFIGs for GConf and GSettings Ross Burton
@ 2019-01-10 13:53 ` Ross Burton
3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2019-01-10 13:53 UTC (permalink / raw)
To: openembedded-core
The only user of the configuration module is paprefs, which as of 1.0 uses GSettings not GConf.
Also GConf is unmaintained, so one less recipe using it is good.
(From OE-Core rev: 4825ae198aedcd09c60559cb6233c0f8b6ecce32)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 9093010c8d9..16b5e6b5697 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -101,7 +101,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd x11', d)} \
- dbus gconf \
+ dbus gsettings \
"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-01-10 13:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-10 13:52 [PATCH 1/5] pulseaudio: fix multilib packaging Ross Burton
2019-01-10 13:52 ` [PATCH 2/5] pulseaudio: enforce empty PN Ross Burton
2019-01-10 13:52 ` [PATCH 3/5] gsettings: allow the schemas to be in any package Ross Burton
2019-01-10 13:53 ` [PATCH 4/5] pulseaudio: add PACKAGECONFIGs for GConf and GSettings Ross Burton
2019-01-10 13:53 ` [PATCH 5/5] pulseaudio: switch configuration module from GConf to GSettings Ross Burton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox