From 3b771e2999057b5c2f72be9fc00837408f27ebb1e65b3b8065d578c81f7f71d4 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 26 Nov 2014 13:09:32 +0000 Subject: [PATCH] Accepting request 262679 from home:oholecek:branches:multimedia:libs - Update to 6.0 RC1 (5.99.1) + Remove patch pulseaudio-bnc881524-rtp.patch + Update patch disabled-start.diff + Bash&zsh completion split to separate subpackage + json-c >= 0.11 is now required (note: break build on oS 13.1) - Fix %postun for system-wide mode Note this contain patches removed by Takashi, so it may reintroduce boo#905418 at al. Also consider if it is worth forwarding to factory now as (AFAIK) there are no pulseaudio tests in openQA so far and I'll start some tests only later today. OBS-URL: https://build.opensuse.org/request/show/262679 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pulseaudio?expand=0&rev=148 --- disabled-start.diff | 21 +---------- pulseaudio-5.0.tar.xz | 3 -- pulseaudio-5.99.1.tar.xz | 3 ++ pulseaudio-bnc881524-rtp.patch | 52 -------------------------- pulseaudio.changes | 11 ++++++ pulseaudio.spec | 67 ++++++++++++++++++++++++++-------- 6 files changed, 68 insertions(+), 89 deletions(-) delete mode 100644 pulseaudio-5.0.tar.xz create mode 100644 pulseaudio-5.99.1.tar.xz delete mode 100644 pulseaudio-bnc881524-rtp.patch diff --git a/disabled-start.diff b/disabled-start.diff index cdc48cf..e987ae9 100644 --- a/disabled-start.diff +++ b/disabled-start.diff @@ -12,23 +12,6 @@ Index: src/daemon/start-pulseaudio-x11.in + exit 1 +fi + - @PA_BINARY@ --start "$@" - if [ x"$DISPLAY" != x ] ; then -Index: src/daemon/start-pulseaudio-kde.in -=================================================================== ---- src/daemon/start-pulseaudio-kde.in.orig -+++ src/daemon/start-pulseaudio-kde.in -@@ -19,6 +19,12 @@ - - set -e - -+. /etc/sysconfig/sound -+ -+if [ x"$PULSEAUDIO_ENABLE" = x"no" ] || [ x"$PULSEAUDIO_SYSTEM" = x"yes" ]; then -+ exit 1 -+fi -+ - [ -z "$PULSE_SERVER" ] - - @PA_BINARY@ --start "$@" + + @PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY" > /dev/null diff --git a/pulseaudio-5.0.tar.xz b/pulseaudio-5.0.tar.xz deleted file mode 100644 index 755fc2f..0000000 --- a/pulseaudio-5.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939 -size 1455428 diff --git a/pulseaudio-5.99.1.tar.xz b/pulseaudio-5.99.1.tar.xz new file mode 100644 index 0000000..50edcb3 --- /dev/null +++ b/pulseaudio-5.99.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:589d3623c5458b2b831a107c49d16da69afed5b2cfa545353da90df1a3e84fbf +size 1454240 diff --git a/pulseaudio-bnc881524-rtp.patch b/pulseaudio-bnc881524-rtp.patch deleted file mode 100644 index a8037d6..0000000 --- a/pulseaudio-bnc881524-rtp.patch +++ /dev/null @@ -1,52 +0,0 @@ -commit 26b9d22dd24c17eb118d0205bf7b02b75d435e3c -Author: Alexander E. Patrakov -Date: Thu Jun 5 22:29:25 2014 +0600 - - rtp-recv: fix crash on empty UDP packets (CVE-2014-3970) - - On FIONREAD returning 0 bytes, we cannot return success, as the caller - (rtpoll_work_cb in module-rtp-recv.c) would then try to - pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger - an assertion. - - Also we have to read out the possible empty packet from the socket, so - that the kernel doesn't tell us again and again about it. - - Signed-off-by: Alexander E. Patrakov - -diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c -index 570737e..7b75e0e 100644 ---- a/src/modules/rtp/rtp.c -+++ b/src/modules/rtp/rtp.c -@@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct - goto fail; - } - -- if (size <= 0) -- return 0; -+ if (size <= 0) { -+ /* size can be 0 due to any of the following reasons: -+ * -+ * 1. Somebody sent us a perfectly valid zero-length UDP packet. -+ * 2. Somebody sent us a UDP packet with a bad CRC. -+ * -+ * It is unknown whether size can actually be less than zero. -+ * -+ * In the first case, the packet has to be read out, otherwise the -+ * kernel will tell us again and again about it, thus preventing -+ * reception of any further packets. So let's just read it out -+ * now and discard it later, when comparing the number of bytes -+ * received (0) with the number of bytes wanted (1, see below). -+ * -+ * In the second case, recvmsg() will fail, thus allowing us to -+ * return the error. -+ * -+ * Just to avoid passing zero-sized memchunks and NULL pointers to -+ * recvmsg(), let's force allocation of at least one byte by setting -+ * size to 1. -+ */ -+ size = 1; -+ } - - if (c->memchunk.length < (unsigned) size) { - size_t l; diff --git a/pulseaudio.changes b/pulseaudio.changes index 0887324..e7ab755 100644 --- a/pulseaudio.changes +++ b/pulseaudio.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Nov 21 22:26:55 UTC 2014 - oholecek@suse.com + +- Update to 6.0 RC1 (5.99.1) +- Remove patch pulseaudio-bnc881524-rtp.patch +- Update patch disabled-start.diff +- Bash&zsh completion split to separate subpackage +- Fix %postun for system-wide mode +- json-c >= 0.11 is now required + (break build on oS 13.1) + ------------------------------------------------------------------- Thu Nov 20 18:26:27 CET 2014 - tiwai@suse.de diff --git a/pulseaudio.spec b/pulseaudio.spec index 3e3dc9d..ac9026d 100644 --- a/pulseaudio.spec +++ b/pulseaudio.spec @@ -17,9 +17,9 @@ Name: pulseaudio -Version: 5.0 +Version: 5.99.1 Release: 0 -%define drvver 5.0 +%define drvver 5.99 %define soname 0 %define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d %define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services @@ -42,8 +42,6 @@ Source99: baselibs.conf Patch0: disabled-start.diff Patch1: suppress-socket-error-msg.diff Patch2: pulseaudio-wrong-memset.patch -# PATCH-FIX-UPSTREAM pulseaudio-bnc881524-rtp.patch sreeves@suse.com -Patch3: pulseaudio-bnc881524-rtp.patch BuildRequires: alsa-devel >= 1.0.19 # require only minimal bluez, if we are on bluez 5 we will determine in %build phase BuildRequires: bluez-devel >= 4.99 @@ -76,7 +74,7 @@ BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(ice) -BuildRequires: pkgconfig(json) >= 0.9 +BuildRequires: pkgconfig(json) >= 0.11 BuildRequires: pkgconfig(sbc) >= 1.0 BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(x11) @@ -90,6 +88,7 @@ Requires: udev >= 146 ## needs the same liborc version which was used to build against %requires_eq liborc-0_4-0 Recommends: %{name}-lang +Recommends: %{name}-bash-completion Recommends: alsa-plugins-pulse Obsoletes: libpulsecore9 < 0.9.15 Provides: libpulsecore9 = 0.9.15 @@ -291,13 +290,30 @@ improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). This package contains GDM integration hooks for the PulseAudio sound server. +%package bash-completion +Summary: PulseAudio Bash completion +Group: System/Shells +Requires: %{name} = %{version} +Requires: bash + +%description bash-completion +Optional dependency offering bash completion for various PulseAudio utilities + +%package zsh-completion +Summary: PulseAudio zsh completion +Group: System/Shells +Requires: %{name} = %{version} +Requires: zsh + +%description zsh-completion +Optional dependency offering zsh completion for various PulseAudio utilities + %lang_package %prep %setup -q -T -b0 %patch0 %patch1 -p1 %patch2 -%patch3 -p1 %build echo 'HTML_TIMESTAMP=NO' >> doxygen/doxygen.conf.in @@ -337,7 +353,6 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} # openSUSE 11.3 cannot find the .desktop files %suse_update_desktop_file pulseaudio -%suse_update_desktop_file pulseaudio-kde %find_lang %{name} install %{SOURCE2} %{buildroot}%{_bindir} chmod 755 %{buildroot}%{_bindir}/setup-pulseaudio @@ -395,7 +410,7 @@ exit 0 exit 0 %postun system-wide -%service_del_preun pulseaudio.service +%service_del_postun pulseaudio.service exit 0 %files @@ -503,7 +518,13 @@ exit 0 %config(noreplace) %{_sysconfdir}/pulse/default.pa %config(noreplace) %{_sysconfdir}/pulse/system.pa %config(noreplace) %{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf -%config(noreplace) %{_sysconfdir}/bash_completion.d/pulseaudio-bash-completion.sh +# init +%dir %{_libexecdir}/systemd +%dir %{_libexecdir}/systemd/user +%{_libexecdir}/systemd/user/%{name}.service +%{_libexecdir}/systemd/user/%{name}.socket + + %if %{defined suse_version} %config(noreplace) %{_fwdefdir}/pulseaudio-server %endif @@ -585,14 +606,11 @@ exit 0 %files module-x11 %defattr(-,root,root) %{_sysconfdir}/xdg/autostart/pulseaudio.desktop -%{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop %{_bindir}/start-pulseaudio-x11 -%{_bindir}/start-pulseaudio-kde %{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so %{_libdir}/pulse-%{drvver}/modules/module-x11-cork-request.so %{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so %{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so -%doc %{_mandir}/man1/start-pulseaudio-kde.1* %doc %{_mandir}/man1/start-pulseaudio-x11.1* %files module-zeroconf @@ -627,9 +645,28 @@ exit 0 %files lang -f %{name}.lang %files system-wide +%defattr(-,root,root) %{_sbindir}/rc%{name} -%dir /usr/lib/systemd -%dir /usr/lib/systemd/system -/usr/lib/systemd/system/%{name}.service +%dir %{_libexecdir}/systemd/system +%{_libexecdir}/systemd/system/%{name}.service + +%files bash-completion +%defattr(-,root,root) +%dir %{_sysconfdir}/bash_completion.d +%config %{_sysconfdir}/bash_completion.d/pulseaudio +%config %{_sysconfdir}/bash_completion.d/pacat +%config %{_sysconfdir}/bash_completion.d/pacmd +%config %{_sysconfdir}/bash_completion.d/pactl +%config %{_sysconfdir}/bash_completion.d/padsp +%config %{_sysconfdir}/bash_completion.d/paplay +%config %{_sysconfdir}/bash_completion.d/parec +%config %{_sysconfdir}/bash_completion.d/parecord +%config %{_sysconfdir}/bash_completion.d/pasuspender + +%files zsh-completion +%defattr(-,root,root) +%dir %{_datarootdir}/zsh +%dir %{_datarootdir}/zsh/site-functions/ +%config %{_datarootdir}/zsh/site-functions/_pulseaudio %changelog