summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Iorga <cristian.iorga@intel.com>2015-02-17 17:10:18 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-02-23 08:08:14 +0000
commit3c2f5fd0c7894b3c0da494ffdd87bd13bf33c3e7 (patch)
tree97cdb13fa328c77382306c66240adab43e482d62
parent172606338757d0b788e3382bf413102647307e1d (diff)
downloadpoky-3c2f5fd0c7894b3c0da494ffdd87bd13bf33c3e7.tar.gz
pulseaudio: upgrade to 6.0
Changes: - BlueZ 5 native HSP (headset) support; - BlueZ 5 HFP (hands-free) profile support via oFono; - systemd socket activation support; - Better support for multichannel and 2.1 profiles; - Remap optimisations; - Many minor improvements, bug fixes, and i18n updates. - Switched to ${BP} variable. - Patch 0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch removed, no longer necessary. - Patch CVE-2014-3970.patch included upstrem, removed. - Slightly changed copyright notice, only a clarification. libsamplerate based resamplers are now deprecated, because they offer no particular advantage over speex. Dependency to libsamplerate0 dropped. [ RB: disable systemd until systemd.bbclass can handle user units ] (From OE-Core rev: c4de42aadd4c8a4a8f16c25e7dcdefef79daf030) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio.inc18
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch30
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch52
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb14
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb12
5 files changed, 24 insertions, 102 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index b73576e38c..3569752974 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -5,14 +5,14 @@ SECTION = "libs/multimedia"
5LICENSE = "GPLv2+ & LGPLv2.1" 5LICENSE = "GPLv2+ & LGPLv2.1"
6LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \ 6LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \
7 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ 7 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
8 file://src/pulsecore/resampler.h;beginline=4;endline=23;md5=c3d539b93f8c82a1780bfa3cfa544a95" 8 file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84"
9 9
10DEPENDS = "libatomics-ops liboil libsamplerate0 libsndfile1 libtool" 10DEPENDS = "libatomics-ops liboil libsndfile1 libtool"
11# optional 11# optional
12DEPENDS += "udev alsa-lib glib-2.0 dbus gconf" 12DEPENDS += "udev alsa-lib glib-2.0 dbus gconf"
13DEPENDS += "json-c gdbm speex libxml-parser-perl-native libcap" 13DEPENDS += "json-c gdbm speex libxml-parser-perl-native libcap"
14 14
15inherit autotools pkgconfig useradd gettext perlnative bluetooth 15inherit autotools pkgconfig useradd gettext perlnative bluetooth systemd
16 16
17# *.desktop rules wont be generated during configure and build will fail 17# *.desktop rules wont be generated during configure and build will fail
18# if using --disable-nls 18# if using --disable-nls
@@ -27,18 +27,20 @@ EXTRA_OECONF = "\
27 --disable-xen \ 27 --disable-xen \
28 --with-database=simple \ 28 --with-database=simple \
29 --without-fftw \ 29 --without-fftw \
30 --without-zsh-completion-dir \
30 --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ 31 --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \
31 ac_cv_header_valgrind_memcheck_h=no \ 32 ac_cv_header_valgrind_memcheck_h=no \
32" 33"
33 34
34PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ 35PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
35 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
36 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ 36 ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" 37 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
38 ${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)}"
38PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc" 39PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc"
39PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" 40PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
41PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono"
40PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" 42PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
41PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" 43PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal,--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
42PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" 44PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb"
43PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" 45PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
44PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" 46PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
@@ -93,6 +95,10 @@ FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}
93FILES_${PN}-conf = "${sysconfdir}" 95FILES_${PN}-conf = "${sysconfdir}"
94FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" 96FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse"
95FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules" 97FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules"
98
99#SYSTEMD_PACKAGES = "${PN}-server"
100SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service"
101
96FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" 102FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
97 103
98# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) 104# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch
deleted file mode 100644
index 467cd2cbd0..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 002b16f0f2176b4c685e210e335bf69c02563ede Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 22 Feb 2014 18:03:10 +0100
4Subject: [PATCH] configure.ac: Check only for libsystemd not libsystemd-login
5
6* they were merged into libsystemd in systemd-209
7
8Upstream-Status: Pending (it would need to be conditional on systemd version for upstream to accept this)
9
10Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
11---
12 configure.ac | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/configure.ac b/configure.ac
16index 388fae2..fff7a83 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -1160,7 +1160,7 @@ AC_ARG_ENABLE([systemd],
20 AS_HELP_STRING([--disable-systemd],[Disable optional systemd support]))
21
22 AS_IF([test "x$enable_systemd" != "xno"],
23- [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
24+ [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
25 HAVE_SYSTEMD=0)
26
27 AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"],
28--
291.8.5.3
30
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch
deleted file mode 100644
index d5f33dc42e..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/CVE-2014-3970.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1Upstream-Status: Backport
2
3commit 26b9d22dd24c17eb118d0205bf7b02b75d435e3c upstream
4
5rtp-recv: fix crash on empty UDP packets (CVE-2014-3970)
6
7On FIONREAD returning 0 bytes, we cannot return success, as the caller
8(rtpoll_work_cb in module-rtp-recv.c) would then try to
9pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger
10an assertion.
11
12Also we have to read out the possible empty packet from the socket, so
13that the kernel doesn't tell us again and again about it.
14
15Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
16
17diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c
18index 9195493..c45981e 100644
19--- a/src/modules/rtp/rtp.c
20+++ b/src/modules/rtp/rtp.c
21@@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct
22 goto fail;
23 }
24
25- if (size <= 0)
26- return 0;
27+ if (size <= 0) {
28+ /* size can be 0 due to any of the following reasons:
29+ *
30+ * 1. Somebody sent us a perfectly valid zero-length UDP packet.
31+ * 2. Somebody sent us a UDP packet with a bad CRC.
32+ *
33+ * It is unknown whether size can actually be less than zero.
34+ *
35+ * In the first case, the packet has to be read out, otherwise the
36+ * kernel will tell us again and again about it, thus preventing
37+ * reception of any further packets. So let's just read it out
38+ * now and discard it later, when comparing the number of bytes
39+ * received (0) with the number of bytes wanted (1, see below).
40+ *
41+ * In the second case, recvmsg() will fail, thus allowing us to
42+ * return the error.
43+ *
44+ * Just to avoid passing zero-sized memchunks and NULL pointers to
45+ * recvmsg(), let's force allocation of at least one byte by setting
46+ * size to 1.
47+ */
48+ size = 1;
49+ }
50
51 if (c->memchunk.length < (unsigned) size) {
52 size_t l;
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb
deleted file mode 100644
index 99f0ef3a46..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_5.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1require pulseaudio.inc
2
3SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \
4 file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \
5 file://volatiles.04_pulse \
6 file://CVE-2014-3970.patch \
7"
8SRC_URI[md5sum] = "c43749838612f4860465e83ed62ca38e"
9SRC_URI[sha256sum] = "99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939"
10
11do_compile_prepend() {
12 mkdir -p ${S}/libltdl
13 cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
14}
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
new file mode 100644
index 0000000000..91027bf654
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
@@ -0,0 +1,12 @@
1require pulseaudio.inc
2
3SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
4 file://volatiles.04_pulse \
5"
6SRC_URI[md5sum] = "b691e83b7434c678dffacfa3a027750e"
7SRC_URI[sha256sum] = "b50640e0b80b1607600accfad2e45aabb79d379bf6354c9671efa2065477f6f6"
8
9do_compile_prepend() {
10 mkdir -p ${S}/libltdl
11 cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
12}