Package init
This commit is contained in:
commit
d02c96ea35
181
0008-set-exit_idle_time-to-0-when-we-detect-a-session.patch
Normal file
181
0008-set-exit_idle_time-to-0-when-we-detect-a-session.patch
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
From de705a0eeaa27a8ac1abdc2625e639340323595a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tanu Kaskinen <tanuk@iki.fi>
|
||||||
|
Date: Tue, 6 Mar 2018 15:09:06 +0200
|
||||||
|
Subject: [PATCH 08/77] set exit_idle_time to 0 when we detect a session
|
||||||
|
|
||||||
|
As the comments explain, this fixes relogin problems on some systems
|
||||||
|
that remove our sockets on logout without terminating the daemon.
|
||||||
|
---
|
||||||
|
man/pulse-daemon.conf.5.xml.in | 15 ++++++++++++---
|
||||||
|
man/pulseaudio.1.xml.in | 17 +++++++++++++++--
|
||||||
|
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 ++
|
||||||
|
7 files changed, 79 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
|
||||||
|
index f0550f3b..f49fa9b0 100644
|
||||||
|
--- a/man/pulse-daemon.conf.5.xml.in
|
||||||
|
+++ b/man/pulse-daemon.conf.5.xml.in
|
||||||
|
@@ -292,9 +292,18 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
<option>
|
||||||
|
<p><opt>exit-idle-time=</opt> Terminate the daemon after the
|
||||||
|
last client quit and this time in seconds passed. Use a negative value to
|
||||||
|
- disable this feature. Defaults to 20. The
|
||||||
|
- <opt>--exit-idle-time</opt> command line option takes
|
||||||
|
- precedence.</p>
|
||||||
|
+ disable this feature. Defaults to 20. The <opt>--exit-idle-time</opt>
|
||||||
|
+ command line option takes precedence.</p>
|
||||||
|
+
|
||||||
|
+ <p>When PulseAudio runs in the per-user mode and detects a login
|
||||||
|
+ session, then any positive value will be reset to 0 so that PulseAudio
|
||||||
|
+ will terminate immediately on logout. A positive value therefore has
|
||||||
|
+ effect only in environments where there's no support for login session
|
||||||
|
+ tracking. A negative value can still be used to disable any automatic
|
||||||
|
+ exit.</p>
|
||||||
|
+
|
||||||
|
+ <p>When PulseAudio runs in the system mode, automatic exit is always
|
||||||
|
+ disabled, so this option does nothing.</p>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option>
|
||||||
|
diff --git a/man/pulseaudio.1.xml.in b/man/pulseaudio.1.xml.in
|
||||||
|
index f732b8ae..824eddb4 100644
|
||||||
|
--- a/man/pulseaudio.1.xml.in
|
||||||
|
+++ b/man/pulseaudio.1.xml.in
|
||||||
|
@@ -189,8 +189,21 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
<option>
|
||||||
|
<p><opt>--exit-idle-time</opt><arg>=SECS</arg></p>
|
||||||
|
|
||||||
|
- <optdesc><p>Terminate the daemon when idle and the specified
|
||||||
|
- number of seconds passed.</p></optdesc>
|
||||||
|
+ <optdesc>
|
||||||
|
+ <p>Terminate the daemon after the last client quit and this time in
|
||||||
|
+ seconds passed. Use a negative value to disable this feature. Defaults
|
||||||
|
+ to 20.</p>
|
||||||
|
+
|
||||||
|
+ <p>When PulseAudio runs in the per-user mode and detects a login
|
||||||
|
+ session, then any positive value will be reset to 0 so that PulseAudio
|
||||||
|
+ will terminate immediately on logout. A positive value therefore has
|
||||||
|
+ effect only in environments where there's no support for login session
|
||||||
|
+ tracking. A negative value can still be used to disable any automatic
|
||||||
|
+ exit.</p>
|
||||||
|
+
|
||||||
|
+ <p>When PulseAudio runs in the system mode, automatic exit is always
|
||||||
|
+ disabled, so this option does nothing.</p>
|
||||||
|
+ </optdesc>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
<option>
|
||||||
|
diff --git a/src/modules/module-console-kit.c b/src/modules/module-console-kit.c
|
||||||
|
index c7938849..c8fe2ed2 100644
|
||||||
|
--- a/src/modules/module-console-kit.c
|
||||||
|
+++ b/src/modules/module-console-kit.c
|
||||||
|
@@ -118,6 +118,19 @@ static void add_session(struct userdata *u, const char *id) {
|
||||||
|
|
||||||
|
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)
|
||||||
|
diff --git a/src/modules/module-systemd-login.c b/src/modules/module-systemd-login.c
|
||||||
|
index 87981592..51401575 100644
|
||||||
|
--- a/src/modules/module-systemd-login.c
|
||||||
|
+++ b/src/modules/module-systemd-login.c
|
||||||
|
@@ -84,6 +84,20 @@ static int add_session(struct userdata *u, const char *id) {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/modules/x11/module-x11-xsmp.c b/src/modules/x11/module-x11-xsmp.c
|
||||||
|
index 0238e516..6f801237 100644
|
||||||
|
--- a/src/modules/x11/module-x11-xsmp.c
|
||||||
|
+++ b/src/modules/x11/module-x11-xsmp.c
|
||||||
|
@@ -206,6 +206,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;
|
||||||
|
diff --git a/src/pulsecore/core.c b/src/pulsecore/core.c
|
||||||
|
index 79abbc04..da42a13e 100644
|
||||||
|
--- a/src/pulsecore/core.c
|
||||||
|
+++ b/src/pulsecore/core.c
|
||||||
|
@@ -426,6 +426,16 @@ void pa_core_update_default_source(pa_core *core) {
|
||||||
|
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);
|
||||||
|
diff --git a/src/pulsecore/core.h b/src/pulsecore/core.h
|
||||||
|
index 213964ce..38622f61 100644
|
||||||
|
--- a/src/pulsecore/core.h
|
||||||
|
+++ b/src/pulsecore/core.h
|
||||||
|
@@ -258,6 +258,8 @@ void pa_core_set_configured_default_source(pa_core *core, const char *source);
|
||||||
|
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);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
10
default.pa-for-gdm
Normal file
10
default.pa-for-gdm
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
load-module module-device-restore
|
||||||
|
load-module module-card-restore
|
||||||
|
load-module module-udev-detect
|
||||||
|
load-module module-native-protocol-unix
|
||||||
|
load-module module-default-device-restore
|
||||||
|
load-module module-rescue-streams
|
||||||
|
load-module module-always-sink
|
||||||
|
load-module module-intended-roles
|
||||||
|
load-module module-suspend-on-idle
|
||||||
|
load-module module-position-event-sounds
|
||||||
BIN
pulseaudio-12.2.tar.xz
Normal file
BIN
pulseaudio-12.2.tar.xz
Normal file
Binary file not shown.
1
pulseaudio-12.2.tar.xz.sha256
Normal file
1
pulseaudio-12.2.tar.xz.sha256
Normal file
@ -0,0 +1 @@
|
|||||||
|
809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055 pulseaudio-12.2.tar.xz
|
||||||
48
pulseaudio-9.0-disable_flat_volumes.patch
Normal file
48
pulseaudio-9.0-disable_flat_volumes.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
diff -up pulseaudio-8.99.2/man/pulse-daemon.conf.5.xml.in.disable_flat_volumes pulseaudio-8.99.2/man/pulse-daemon.conf.5.xml.in
|
||||||
|
--- pulseaudio-8.99.2/man/pulse-daemon.conf.5.xml.in.disable_flat_volumes 2016-05-26 23:21:17.000000000 -0500
|
||||||
|
+++ pulseaudio-8.99.2/man/pulse-daemon.conf.5.xml.in 2016-05-31 10:01:55.679976730 -0500
|
||||||
|
@@ -220,7 +220,7 @@ License along with PulseAudio; if not, s
|
||||||
|
<p><opt>flat-volumes=</opt> Enable 'flat' volumes, i.e. where
|
||||||
|
possible let the sink volume equal the maximum of the volumes of
|
||||||
|
the inputs connected to it. Takes a boolean argument, defaults
|
||||||
|
- to <opt>yes</opt>.</p>
|
||||||
|
+ to <opt>no</opt>.</p>
|
||||||
|
</option>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
diff -up pulseaudio-8.99.2/src/daemon/daemon-conf.c.disable_flat_volumes pulseaudio-8.99.2/src/daemon/daemon-conf.c
|
||||||
|
--- pulseaudio-8.99.2/src/daemon/daemon-conf.c.disable_flat_volumes 2016-05-26 23:21:17.000000000 -0500
|
||||||
|
+++ pulseaudio-8.99.2/src/daemon/daemon-conf.c 2016-05-31 10:01:55.680976735 -0500
|
||||||
|
@@ -68,7 +68,7 @@ static const pa_daemon_conf default_conf
|
||||||
|
.realtime_priority = 5, /* Half of JACK's default rtprio */
|
||||||
|
.disallow_module_loading = false,
|
||||||
|
.disallow_exit = false,
|
||||||
|
- .flat_volumes = true,
|
||||||
|
+ .flat_volumes = false,
|
||||||
|
.exit_idle_time = 20,
|
||||||
|
.scache_idle_time = 20,
|
||||||
|
.script_commands = NULL,
|
||||||
|
diff -up pulseaudio-8.99.2/src/daemon/daemon.conf.in.disable_flat_volumes pulseaudio-8.99.2/src/daemon/daemon.conf.in
|
||||||
|
--- pulseaudio-8.99.2/src/daemon/daemon.conf.in.disable_flat_volumes 2016-05-31 10:01:55.680976735 -0500
|
||||||
|
+++ pulseaudio-8.99.2/src/daemon/daemon.conf.in 2016-05-31 10:02:28.048133267 -0500
|
||||||
|
@@ -57,7 +57,7 @@ ifelse(@HAVE_DBUS@, 1, [dnl
|
||||||
|
; enable-lfe-remixing = no
|
||||||
|
; lfe-crossover-freq = 0
|
||||||
|
|
||||||
|
-; flat-volumes = yes
|
||||||
|
+; flat-volumes = no
|
||||||
|
|
||||||
|
ifelse(@HAVE_SYS_RESOURCE_H@, 1, [dnl
|
||||||
|
; rlimit-fsize = -1
|
||||||
|
diff -up pulseaudio-8.99.2/src/pulsecore/core.c.disable_flat_volumes pulseaudio-8.99.2/src/pulsecore/core.c
|
||||||
|
--- pulseaudio-8.99.2/src/pulsecore/core.c.disable_flat_volumes 2016-05-26 23:21:17.000000000 -0500
|
||||||
|
+++ pulseaudio-8.99.2/src/pulsecore/core.c 2016-05-31 10:01:55.681976740 -0500
|
||||||
|
@@ -135,7 +135,7 @@ pa_core* pa_core_new(pa_mainloop_api *m,
|
||||||
|
c->exit_idle_time = -1;
|
||||||
|
c->scache_idle_time = 20;
|
||||||
|
|
||||||
|
- c->flat_volumes = true;
|
||||||
|
+ c->flat_volumes = false;
|
||||||
|
c->disallow_module_loading = false;
|
||||||
|
c->disallow_exit = false;
|
||||||
|
c->running_as_daemon = false;
|
||||||
13
pulseaudio-autostart.patch
Normal file
13
pulseaudio-autostart.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -up pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in.autostart pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in
|
||||||
|
--- pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in.autostart 2015-02-12 08:10:35.000000000 -0600
|
||||||
|
+++ pulseaudio-6.0/src/daemon/start-pulseaudio-x11.in 2015-06-22 11:24:13.561614127 -0500
|
||||||
|
@@ -17,6 +17,9 @@
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
+# probe to test if autospawn works, else resort to starting manually
|
||||||
|
+@PACTL_BINARY@ info > /dev/null 2>&1 || @PA_BINARY@ --start "$@"
|
||||||
|
+
|
||||||
|
if [ x"$DISPLAY" != x ] ; then
|
||||||
|
|
||||||
|
@PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY" > /dev/null
|
||||||
204
pulseaudio.spec
Normal file
204
pulseaudio.spec
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
%undefine _strict_symbol_defs_build
|
||||||
|
|
||||||
|
%global multilib_archs x86_64 %{ix86}
|
||||||
|
%global bash_completionsdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null || echo '/etc/bash_completion.d')
|
||||||
|
|
||||||
|
Name: pulseaudio
|
||||||
|
Summary: Improved Linux Sound Server
|
||||||
|
Version: 12.2
|
||||||
|
Release: 2
|
||||||
|
License: LGPLv2+
|
||||||
|
URL: https://www.freedesktop.org/wiki/Software/PulseAudio
|
||||||
|
Source0: https://freedesktop.org/software/pulseaudio/releases/pulseaudio-%{version}.tar.xz
|
||||||
|
Source1: https://freedesktop.org/software/pulseaudio/releases/pulseaudio-%{version}.tar.xz.sha256
|
||||||
|
Source5: default.pa-for-gdm
|
||||||
|
|
||||||
|
Patch201: pulseaudio-autostart.patch
|
||||||
|
Patch202: pulseaudio-9.0-disable_flat_volumes.patch
|
||||||
|
#From: Tanu Kaskinen <tanuk@iki.fi>
|
||||||
|
Patch8: 0008-set-exit_idle_time-to-0-when-we-detect-a-session.patch
|
||||||
|
|
||||||
|
BuildRequires: automake libtool gcc-c++ bash-completion
|
||||||
|
BuildRequires: m4 libtool-ltdl-devel intltool pkgconfig doxygen xmltoman libsndfile-devel
|
||||||
|
BuildRequires: alsa-lib-devel glib2-devel gtk2-devel GConf2-devel avahi-devel check-devel
|
||||||
|
BuildRequires: libatomic_ops-static libatomic_ops-devel bluez-libs-devel sbc-devel libXt-devel
|
||||||
|
BuildRequires: xorg-x11-proto-devel libXtst-devel libXi-devel libSM-devel libX11-devel
|
||||||
|
BuildRequires: libICE-devel xcb-util-devel openssl-devel orc-devel libtdb-devel speexdsp-devel
|
||||||
|
BuildRequires: libasyncns-devel systemd-devel systemd dbus-devel libcap-devel fftw-devel
|
||||||
|
BuildRequires: webrtc-audio-processing-devel
|
||||||
|
|
||||||
|
Obsoletes: padevchooser < 1.0
|
||||||
|
Provides: %{name}-module-x11 %{name}-module-bluetooth %{name}-libs %{name}-libs-glib2 %{name}-utils %{name}-esound-compat %{name}-module-zeroconf %{name}-module-gconf %{name}-module-gsettings
|
||||||
|
Obsoletes: %{name}-module-x11 %{name}-module-bluetooth %{name}-libs %{name}-libs-glib2 %{name}-utils %{name}-esound-compat %{name}-module-zeroconf %{name}-module-gconf %{name}-module-gsettings
|
||||||
|
|
||||||
|
Requires(pre): shadow-utils
|
||||||
|
Requires: rtkit bluez >= 5.0
|
||||||
|
|
||||||
|
%description
|
||||||
|
PulseAudio is a sound server for Linux and other Unix like operating
|
||||||
|
systems. It is intended to be an improved drop-in replacement for the
|
||||||
|
Enlightened Sound Daemon (ESOUND).
|
||||||
|
|
||||||
|
%package qpaeq
|
||||||
|
Summary: Pulseaudio equalizer interface
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: python2-qt5 dbus-python
|
||||||
|
%description qpaeq
|
||||||
|
qpaeq is a equalizer interface for pulseaudio's equalizer sinks.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Headers and libraries for PulseAudio client development
|
||||||
|
License: LGPLv2+
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Provides: %{name}-libs-devel
|
||||||
|
Obsoletes: %{name}-libs-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Headers and libraries for developing applications that can communicate with
|
||||||
|
a PulseAudio sound server.
|
||||||
|
|
||||||
|
%package gdm-hooks
|
||||||
|
Summary: PulseAudio GDM integration
|
||||||
|
License: LGPLv2+
|
||||||
|
Requires: gdm >= 1:2.22.0
|
||||||
|
Requires(pre): gdm
|
||||||
|
|
||||||
|
%description gdm-hooks
|
||||||
|
This package contains GDM integration hooks for the PulseAudio sound server.
|
||||||
|
|
||||||
|
%package_help
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n %{name}-%{version} -p1
|
||||||
|
|
||||||
|
sed -i.no_consolekit -e \
|
||||||
|
's/^load-module module-console-kit/#load-module module-console-kit/' \
|
||||||
|
src/daemon/default.pa.in
|
||||||
|
|
||||||
|
NOCONFIGURE=1 ./bootstrap.sh
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure \
|
||||||
|
--disable-silent-rules --disable-rpath --with-system-user=pulse \
|
||||||
|
--with-system-group=pulse --with-access-group=pulse-access \
|
||||||
|
--disable-oss-output --disable-jack --disable-lirc \
|
||||||
|
--disable-bluez4 --enable-bluez5 --enable-gconf \
|
||||||
|
--enable-gsettings --enable-webrtc-aec --enable-tests
|
||||||
|
|
||||||
|
%make_build V=1
|
||||||
|
|
||||||
|
make doxygen
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
%ifarch %{multilib_archs}
|
||||||
|
pushd %{buildroot}%{_bindir}
|
||||||
|
%if "%{_libdir}" == "/usr/lib"
|
||||||
|
ln -s padsp padsp-32
|
||||||
|
%else
|
||||||
|
cp -a padsp padsp-32
|
||||||
|
sed -i -e "s|%{_libdir}/pulseaudio/libpulsedsp.so|/usr/lib/pulseaudio/libpulsedsp.so|g" padsp-32
|
||||||
|
%endif
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/udev/rules.d
|
||||||
|
mv -fv $RPM_BUILD_ROOT/lib/udev/rules.d/90-pulseaudio.rules $RPM_BUILD_ROOT%{_prefix}/lib/udev/rules.d
|
||||||
|
|
||||||
|
install -p -m644 -D %{SOURCE5} $RPM_BUILD_ROOT%{_localstatedir}/lib/gdm/.pulse/default.pa
|
||||||
|
|
||||||
|
%delete_la
|
||||||
|
|
||||||
|
%check
|
||||||
|
%make_build check || TESTS_ERROR=$?
|
||||||
|
if [ "${TESTS_ERROR}" != "" ]; then
|
||||||
|
cat src/test-suite.log
|
||||||
|
exit $TESTS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
%pre
|
||||||
|
getent group pulse-access >/dev/null || groupadd -r pulse-access
|
||||||
|
getent group pulse-rt >/dev/null || groupadd -r pulse-rt
|
||||||
|
getent group pulse >/dev/null || groupadd -f -g 171 -r pulse
|
||||||
|
if ! getent passwd pulse >/dev/null ; then
|
||||||
|
if ! getent passwd 171 >/dev/null ; then
|
||||||
|
useradd -r -u 171 -g pulse -d %{_localstatedir}/run/pulse -s /sbin/nologin -c "PulseAudio System Daemon" pulse
|
||||||
|
else
|
||||||
|
useradd -r -g pulse -d %{_localstatedir}/run/pulse -s /sbin/nologin -c "PulseAudio System Daemon" pulse
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%posttrans
|
||||||
|
(grep '^load-module module-cork-music-on-phone$' %{_sysconfdir}/pulse/default.pa > /dev/null && \
|
||||||
|
sed -i.rpmsave -e 's|^load-module module-cork-music-on-phone$|load-module module-role-cork|' \
|
||||||
|
%{_sysconfdir}/pulse/default.pa
|
||||||
|
) ||:
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%license LICENSE GPL LGPL
|
||||||
|
%config(noreplace) %{_sysconfdir}/pulse/daemon.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/pulse/*.pa
|
||||||
|
%config(noreplace) %{_sysconfdir}/pulse/client.conf
|
||||||
|
%{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf
|
||||||
|
%{_sysconfdir}/xdg/autostart/pulseaudio.desktop
|
||||||
|
%{bash_completionsdir}/*
|
||||||
|
%{_userunitdir}/pulseaudio.*
|
||||||
|
%{_bindir}/esdcompat
|
||||||
|
%{_bindir}/pulseaudio
|
||||||
|
%{_bindir}/start-pulseaudio-x11
|
||||||
|
%{_bindir}/pacat
|
||||||
|
%{_bindir}/pacmd
|
||||||
|
%{_bindir}/pactl
|
||||||
|
%{_bindir}/paplay
|
||||||
|
%{_bindir}/parec
|
||||||
|
%{_bindir}/pamon
|
||||||
|
%{_bindir}/parecord
|
||||||
|
%{_bindir}/pax11publish
|
||||||
|
%{_bindir}/padsp
|
||||||
|
%{_bindir}/pasuspender
|
||||||
|
%ifarch %{multilib_archs}
|
||||||
|
%{_bindir}/padsp-32
|
||||||
|
%endif
|
||||||
|
%{_libdir}/*.so.*
|
||||||
|
%{_libdir}/pulseaudio/*.so
|
||||||
|
%{_libdir}/pulse-%{version}/modules/*.so
|
||||||
|
%exclude %{_libdir}/pulse-%{version}/modules/module-equalizer-sink.so
|
||||||
|
%exclude %{_libdir}/pulse-%{version}/modules/module-detect.so
|
||||||
|
|
||||||
|
%{_prefix}/lib/udev/rules.d/90-pulseaudio.rules
|
||||||
|
%{_libexecdir}/pulse/*-helper
|
||||||
|
%{_datadir}/locale/*
|
||||||
|
%{_datadir}/pulseaudio/alsa-mixer/*/
|
||||||
|
%{_datadir}/zsh/site-functions/_pulseaudio
|
||||||
|
%{_datadir}/GConf/gsettings/pulseaudio.convert
|
||||||
|
|
||||||
|
%files qpaeq
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_bindir}/qpaeq
|
||||||
|
%{_libdir}/pulse-%{version}/modules/module-equalizer-sink.so
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_includedir}/pulse/
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_datadir}/vala/vapi/*
|
||||||
|
%{_libdir}/cmake/PulseAudio/
|
||||||
|
|
||||||
|
%files gdm-hooks
|
||||||
|
%attr(0600,gdm,gdm) %{_localstatedir}/lib/gdm/.pulse/default.pa
|
||||||
|
|
||||||
|
%files help
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc README doxygen/html
|
||||||
|
%{_mandir}/man*/*
|
||||||
|
%{_datadir}/glib-2.0/schemas/org.freedesktop.pulseaudio.gschema.xml
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Sep 16 2019 openEuler Buildteam <buildteam@openeuler.org> - 12.2-2
|
||||||
|
- Package init
|
||||||
Loading…
x
Reference in New Issue
Block a user