Accepting request 731255 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/731255 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pulseaudio?expand=0&rev=163
This commit is contained in:
commit
02c93d3923
@ -1,113 +0,0 @@
|
||||
From: Tanu Kaskinen <tanuk@iki.fi>
|
||||
Subject: [PATCH] set exit-idle-time to 0 when we detect a session
|
||||
Date: Wed, 28 Feb 2018 18:16:03 +0200
|
||||
Message-Id: <20180228161603.30746-1-tanuk@iki.fi>
|
||||
|
||||
As the comments explain, this fixes relogin problems on some systems
|
||||
that remove our sockets on logout without terminating the daemon.
|
||||
---
|
||||
|
||||
src/modules/module-console-kit.c | 13 +++++++++++++
|
||||
src/modules/module-systemd-login.c | 14 ++++++++++++++
|
||||
src/modules/x11/module-x11-xsmp.c | 13 +++++++++++++
|
||||
src/pulsecore/core.c | 10 ++++++++++
|
||||
src/pulsecore/core.h | 2 ++
|
||||
5 files changed, 52 insertions(+)
|
||||
|
||||
--- a/src/modules/module-console-kit.c
|
||||
+++ b/src/modules/module-console-kit.c
|
||||
@@ -120,6 +120,19 @@ static void add_session(struct userdata
|
||||
|
||||
pa_log_debug("Added new session %s", id);
|
||||
|
||||
+ /* Positive exit_idle_time is only useful when we have no session tracking
|
||||
+ * capability, so we can set it to 0 now that we have detected a session.
|
||||
+ * The benefit of setting exit_idle_time to 0 is that pulseaudio will exit
|
||||
+ * immediately when the session ends. That in turn is useful, because some
|
||||
+ * systems (those that use pam_systemd but don't use systemd for managing
|
||||
+ * pulseaudio) clean $XDG_RUNTIME_DIR on logout, but fail to terminate all
|
||||
+ * services that depend on the files in $XDG_RUNTIME_DIR. The directory
|
||||
+ * contains our sockets, and if the sockets are removed without terminating
|
||||
+ * pulseaudio, a quick relogin will likely cause trouble, because a new
|
||||
+ * instance will be spawned while the old instance is still running. */
|
||||
+ if (u->core->exit_idle_time > 0)
|
||||
+ pa_core_set_exit_idle_time(u->core, 0);
|
||||
+
|
||||
fail:
|
||||
|
||||
if (m)
|
||||
--- a/src/modules/module-systemd-login.c
|
||||
+++ b/src/modules/module-systemd-login.c
|
||||
@@ -86,6 +86,20 @@ static int add_session(struct userdata *
|
||||
pa_hashmap_put(u->sessions, session->id, session);
|
||||
|
||||
pa_log_debug("Added new session %s", id);
|
||||
+
|
||||
+ /* Positive exit_idle_time is only useful when we have no session tracking
|
||||
+ * capability, so we can set it to 0 now that we have detected a session.
|
||||
+ * The benefit of setting exit_idle_time to 0 is that pulseaudio will exit
|
||||
+ * immediately when the session ends. That in turn is useful, because some
|
||||
+ * systems (those that use pam_systemd but don't use systemd for managing
|
||||
+ * pulseaudio) clean $XDG_RUNTIME_DIR on logout, but fail to terminate all
|
||||
+ * services that depend on the files in $XDG_RUNTIME_DIR. The directory
|
||||
+ * contains our sockets, and if the sockets are removed without terminating
|
||||
+ * pulseaudio, a quick relogin will likely cause trouble, because a new
|
||||
+ * instance will be spawned while the old instance is still running. */
|
||||
+ if (u->core->exit_idle_time > 0)
|
||||
+ pa_core_set_exit_idle_time(u->core, 0);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--- a/src/modules/x11/module-x11-xsmp.c
|
||||
+++ b/src/modules/x11/module-x11-xsmp.c
|
||||
@@ -208,6 +208,19 @@ int pa__init(pa_module*m) {
|
||||
if (!u->client)
|
||||
goto fail;
|
||||
|
||||
+ /* Positive exit_idle_time is only useful when we have no session tracking
|
||||
+ * capability, so we can set it to 0 now that we have detected a session.
|
||||
+ * The benefit of setting exit_idle_time to 0 is that pulseaudio will exit
|
||||
+ * immediately when the session ends. That in turn is useful, because some
|
||||
+ * systems (those that use pam_systemd but don't use systemd for managing
|
||||
+ * pulseaudio) clean $XDG_RUNTIME_DIR on logout, but fail to terminate all
|
||||
+ * services that depend on the files in $XDG_RUNTIME_DIR. The directory
|
||||
+ * contains our sockets, and if the sockets are removed without terminating
|
||||
+ * pulseaudio, a quick relogin will likely cause trouble, because a new
|
||||
+ * instance will be spawned while the old instance is still running. */
|
||||
+ if (u->core->exit_idle_time > 0)
|
||||
+ pa_core_set_exit_idle_time(u->core, 0);
|
||||
+
|
||||
pa_modargs_free(ma);
|
||||
|
||||
return 0;
|
||||
--- a/src/pulsecore/core.c
|
||||
+++ b/src/pulsecore/core.c
|
||||
@@ -426,6 +426,16 @@ void pa_core_update_default_source(pa_co
|
||||
pa_hook_fire(&core->hooks[PA_CORE_HOOK_DEFAULT_SOURCE_CHANGED], core->default_source);
|
||||
}
|
||||
|
||||
+void pa_core_set_exit_idle_time(pa_core *core, int time) {
|
||||
+ pa_assert(core);
|
||||
+
|
||||
+ if (time == core->exit_idle_time)
|
||||
+ return;
|
||||
+
|
||||
+ pa_log_info("exit_idle_time: %i -> %i", core->exit_idle_time, time);
|
||||
+ core->exit_idle_time = time;
|
||||
+}
|
||||
+
|
||||
static void exit_callback(pa_mainloop_api *m, pa_time_event *e, const struct timeval *t, void *userdata) {
|
||||
pa_core *c = userdata;
|
||||
pa_assert(c->exit_event == e);
|
||||
--- a/src/pulsecore/core.h
|
||||
+++ b/src/pulsecore/core.h
|
||||
@@ -254,6 +254,8 @@ void pa_core_set_configured_default_sour
|
||||
void pa_core_update_default_sink(pa_core *core);
|
||||
void pa_core_update_default_source(pa_core *core);
|
||||
|
||||
+void pa_core_set_exit_idle_time(pa_core *core, int time);
|
||||
+
|
||||
/* Check whether no one is connected to this core */
|
||||
void pa_core_check_idle(pa_core *c);
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055
|
||||
size 1665092
|
3
pulseaudio-13.0.tar.xz
Normal file
3
pulseaudio-13.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057
|
||||
size 1901768
|
@ -1,123 +0,0 @@
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
src/modules/alsa/alsa-mixer.c | 2 +-
|
||||
src/modules/alsa/alsa-mixer.h | 2 +-
|
||||
src/modules/alsa/alsa-sink.c | 2 +-
|
||||
src/modules/alsa/alsa-source.c | 2 +-
|
||||
src/modules/alsa/alsa-ucm.c | 2 +-
|
||||
src/modules/alsa/alsa-ucm.h | 2 +-
|
||||
src/modules/alsa/alsa-util.c | 2 +-
|
||||
src/modules/alsa/alsa-util.h | 2 +-
|
||||
src/modules/alsa/module-alsa-source.c | 2 +-
|
||||
10 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
--- a/src/modules/alsa/alsa-mixer.c
|
||||
+++ b/src/modules/alsa/alsa-mixer.c
|
||||
@@ -23,7 +23,7 @@
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef HAVE_VALGRIND_MEMCHECK_H
|
||||
--- a/src/modules/alsa/alsa-mixer.h
|
||||
+++ b/src/modules/alsa/alsa-mixer.h
|
||||
@@ -21,7 +21,7 @@
|
||||
along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#include <pulse/sample.h>
|
||||
#include <pulse/mainloop-api.h>
|
||||
--- a/src/modules/alsa/alsa-sink.c
|
||||
+++ b/src/modules/alsa/alsa-sink.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#ifdef HAVE_VALGRIND_MEMCHECK_H
|
||||
#include <valgrind/memcheck.h>
|
||||
--- a/src/modules/alsa/alsa-source.c
|
||||
+++ b/src/modules/alsa/alsa-source.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#include <pulse/rtclock.h>
|
||||
#include <pulse/timeval.h>
|
||||
--- a/src/modules/alsa/alsa-ucm.c
|
||||
+++ b/src/modules/alsa/alsa-ucm.c
|
||||
@@ -27,7 +27,7 @@
|
||||
#include <ctype.h>
|
||||
#include <sys/types.h>
|
||||
#include <limits.h>
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#ifdef HAVE_VALGRIND_MEMCHECK_H
|
||||
#include <valgrind/memcheck.h>
|
||||
--- a/src/modules/alsa/alsa-util.c
|
||||
+++ b/src/modules/alsa/alsa-util.c
|
||||
@@ -23,7 +23,7 @@
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#include <pulse/sample.h>
|
||||
#include <pulse/xmalloc.h>
|
||||
--- a/src/modules/alsa/alsa-util.h
|
||||
+++ b/src/modules/alsa/alsa-util.h
|
||||
@@ -21,7 +21,7 @@
|
||||
along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
***/
|
||||
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#include <pulse/sample.h>
|
||||
#include <pulse/channelmap.h>
|
||||
--- a/src/modules/alsa/module-alsa-source.c
|
||||
+++ b/src/modules/alsa/module-alsa-source.c
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
-#include <asoundlib.h>
|
||||
+#include <alsa/asoundlib.h>
|
||||
|
||||
#ifdef HAVE_VALGRIND_MEMCHECK_H
|
||||
#include <valgrind/memcheck.h>
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -833,7 +833,7 @@ AS_IF([test "x$enable_alsa" = "xyes" &&
|
||||
AS_IF([test "x$HAVE_ALSA" = "x1"],
|
||||
[
|
||||
save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
|
||||
- AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
|
||||
+ AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
],
|
||||
HAVE_ALSA_UCM=0)
|
||||
--- a/src/modules/alsa/alsa-ucm.h
|
||||
+++ b/src/modules/alsa/alsa-ucm.h
|
||||
@@ -23,7 +23,7 @@
|
||||
***/
|
||||
|
||||
#ifdef HAVE_ALSA_UCM
|
||||
-#include <use-case.h>
|
||||
+#include <alsa/use-case.h>
|
||||
#else
|
||||
typedef void snd_use_case_mgr_t;
|
||||
#endif
|
15
pulseaudio-old-systemd-workaround.patch
Normal file
15
pulseaudio-old-systemd-workaround.patch
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
src/daemon/systemd/user/pulseaudio.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/src/daemon/systemd/user/pulseaudio.service.in
|
||||
+++ b/src/daemon/systemd/user/pulseaudio.service.in
|
||||
@@ -24,7 +24,7 @@ NoNewPrivileges=yes
|
||||
Restart=on-failure
|
||||
RestrictNamespaces=yes
|
||||
SystemCallArchitectures=native
|
||||
-SystemCallFilter=@system-service
|
||||
+# SystemCallFilter=@system-service
|
||||
# Note that notify will only work if --daemonize=no
|
||||
Type=notify
|
||||
UMask=0077
|
@ -1,3 +1,64 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 16 08:42:14 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 13.0:
|
||||
* Added support for Dolby TrueHD and DTS-HD Master Audio
|
||||
* Improved initial card profile selection for ALSA cards
|
||||
* Bluetooth card profile choices aren't persistent any more by
|
||||
default.
|
||||
* Added support for SteelSeries Arctis 5 USB headset.
|
||||
* New "max_latency_msec" module argument for module-loopback.
|
||||
* New "stream_name" module argument for module-rtp-send.
|
||||
* Fixed S/PDIF for CMEDIA USB2.0 High-Speed True HD Audio.
|
||||
* Use source sample spec and channel map by default in
|
||||
module-loopback.
|
||||
* New "avoid_resampling" module argument for module-udev-detect
|
||||
and module-alsa-card.
|
||||
* "avoid_resampling" also tries to avoid format conversion if the
|
||||
ALSA device supports it.
|
||||
* New function to enable realtime scheduling for client threads.
|
||||
* Removed BlueZ 4 support.
|
||||
* Dropped intltool.
|
||||
* Introduction of the Meson build system.
|
||||
* Const-ification of parameters across headers.
|
||||
* Minor bug-fixes, bindings updates.
|
||||
* Updated translations.
|
||||
- Update drvver to 13.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 7 23:14:50 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Use make_build macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 27 15:43:10 CEST 2019 - tiwai@suse.de
|
||||
|
||||
- Workaround for old systemd on Leap 15.x, as the recent hardening
|
||||
relies on the new systemd:
|
||||
pulseaudio-old-systemd-workaround.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 6 20:18:24 UTC 2019 - Ondrej Holecek <oholecek@suse.com>
|
||||
|
||||
- Update to 13 RC2 (12.99.2)
|
||||
* Added support for Dolby TrueHD and DTS-HD Master Audio
|
||||
* Improved initial card profile selection for ALSA cards
|
||||
* Bluetooth card profile choices aren't persistent any more by default
|
||||
* Added support for SteelSeries Arctis 5 USB headset
|
||||
* New "max_latency_msec" module argument for module-loopback
|
||||
* New "stream_name" module argument for module-rtp-send
|
||||
* Fixed S/PDIF for CMEDIA USB2.0 High-Speed True HD Audio
|
||||
* Use source sample spec and channel map by default in module-loopback
|
||||
* New "avoid_resampling" module argument for module-udev-detect and module-alsa-card
|
||||
* New function to enable realtime scheduling for client threads
|
||||
* Removed BlueZ 4 support
|
||||
* Dropped intltool
|
||||
* Some initial work on a Meson build system
|
||||
* https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/
|
||||
- Removed patches already included in the source:
|
||||
pulseaudio-alsa.patch
|
||||
pa-set-exit-idle-time-to-0-when-we-detect-a-session.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 11 17:50:21 UTC 2019 - Antoine Belvire <antoine.belvire@opensuse.org>
|
||||
|
||||
|
@ -21,12 +21,12 @@
|
||||
%define _fillupdir /var/adm/fillup-templates
|
||||
%endif
|
||||
|
||||
%define drvver 12.2
|
||||
%define drvver 13.0
|
||||
%define soname 0
|
||||
%define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
|
||||
%define _bashcompletionsdir %{_datadir}/bash-completion/completions
|
||||
Name: pulseaudio
|
||||
Version: 12.2
|
||||
Version: 13.0
|
||||
Release: 0
|
||||
Summary: A Networked Sound Server
|
||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||
@ -45,17 +45,16 @@ Source99: baselibs.conf
|
||||
Patch0: disabled-start.diff
|
||||
Patch1: suppress-socket-error-msg.diff
|
||||
Patch2: pulseaudio-wrong-memset.patch
|
||||
Patch3: pulseaudio-alsa.patch
|
||||
Patch4: pa-set-exit-idle-time-to-0-when-we-detect-a-session.patch
|
||||
# PATCH-FIX-OPENSUSE qpaeq-shebang.patch Avoid rpmlint error due to using env python shebang
|
||||
Patch5: qpaeq-shebang.patch
|
||||
# PATCH-FIX-OPENSUSE Workaround for old systemd on Leap 15.x
|
||||
Patch6: pulseaudio-old-systemd-workaround.patch
|
||||
BuildRequires: alsa-devel >= 1.0.19
|
||||
BuildRequires: bluez-devel >= 5
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: fftw3-devel >= 3.0
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: intltool
|
||||
BuildRequires: jack-devel
|
||||
BuildRequires: libatomic_ops-devel >= 1.2
|
||||
BuildRequires: libavahi-devel
|
||||
@ -88,6 +87,7 @@ BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(x11-xcb)
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
BuildRequires: pkgconfig(xtst)
|
||||
|
||||
Requires: rtkit
|
||||
Requires: udev >= 146
|
||||
## needs the same liborc version which was used to build against
|
||||
@ -95,7 +95,6 @@ Requires: udev >= 146
|
||||
Requires(post): %fillup_prereq
|
||||
Requires(pre): group(audio)
|
||||
Requires(pre): shadow
|
||||
Recommends: %{name}-bash-completion
|
||||
Recommends: %{name}-lang
|
||||
Recommends: alsa-plugins-pulse
|
||||
Suggests: libsoxr0 >= 0.1.1
|
||||
@ -319,6 +318,7 @@ Summary: PulseAudio Bash completion
|
||||
Group: System/Shells
|
||||
Requires: %{name}-utils = %{version}
|
||||
Requires: bash-completion
|
||||
Supplements: packageand(pulseaudio:bash)
|
||||
|
||||
%description bash-completion
|
||||
Optional dependency offering bash completion for various PulseAudio utilities
|
||||
@ -328,6 +328,7 @@ Summary: PulseAudio zsh completion
|
||||
Group: System/Shells
|
||||
Requires: %{name}-utils = %{version}
|
||||
Requires: zsh
|
||||
Supplements: packageand(pulseaudio:zsh)
|
||||
|
||||
%description zsh-completion
|
||||
Optional dependency offering zsh completion for various PulseAudio utilities
|
||||
@ -339,9 +340,11 @@ Optional dependency offering zsh completion for various PulseAudio utilities
|
||||
%patch0
|
||||
%patch1 -p1
|
||||
%patch2
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5
|
||||
# workaround for Leap 15.x
|
||||
%if 0%{?suse_version} < 1550
|
||||
%patch6 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
%define _lto_cflags %{nil}
|
||||
@ -366,10 +369,10 @@ export CFLAGS="%{optflags} -fPIE"
|
||||
--enable-gsettings \
|
||||
--with-udev-rules-dir=%{_udevrulesdir} \
|
||||
--with-pulsedsp-location='%{_prefix}/\\$$LIB/pulseaudio' \
|
||||
--with-systemduserunitdir=%{_userunitdir}
|
||||
|
||||
make %{?_smp_mflags} V=1
|
||||
make %{?_smp_mflags} doxygen
|
||||
--with-systemduserunitdir=%{_userunitdir} \
|
||||
%{nil}
|
||||
%make_build
|
||||
%make_build doxygen
|
||||
|
||||
%install
|
||||
%make_install
|
||||
@ -690,6 +693,7 @@ exit 0
|
||||
%{_libdir}/pulse-%{drvver}/modules/module-zeroconf-publish.so
|
||||
|
||||
%files utils
|
||||
%{_bindir}/pa-info
|
||||
%{_bindir}/pacat
|
||||
%{_bindir}/pacmd
|
||||
%{_bindir}/pactl
|
||||
|
Loading…
x
Reference in New Issue
Block a user