diff --git a/README.md b/README.md index cbd646e..75268c3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # pulseaudio +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). + diff --git a/default.pa-for-gdm b/default.pa-for-gdm new file mode 100644 index 0000000..71b41aa --- /dev/null +++ b/default.pa-for-gdm @@ -0,0 +1,11 @@ +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-console-kit +load-module module-position-event-sounds diff --git a/pulseaudio-0.9.14-mixer-select.patch b/pulseaudio-0.9.14-mixer-select.patch new file mode 100644 index 0000000..6d7c723 --- /dev/null +++ b/pulseaudio-0.9.14-mixer-select.patch @@ -0,0 +1,157 @@ +From: Lennart Poettering +Date: Thu, 8 Jan 2009 00:03:42 +0000 (+0100) +Subject: Prefer mixer controls with volumes over switches +X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff_plain;h=c2450501af82d1c9d1994e4f4ce80d506d3c90ae + +Prefer mixer controls with volumes over switches + +When we look for a mixer control prefer controls that have both volume +and a mute switch over those that have only a volume switch over those +that only have a mute switch. + +Originally pointed out by Adel Gadllah. +--- + +diff --git a/src/modules/alsa-util.c b/src/modules/alsa-util.c +index 75b84c4..ff3af19 100644 +--- a/src/modules/alsa-util.c ++++ b/src/modules/alsa-util.c +@@ -760,8 +760,32 @@ int pa_alsa_prepare_mixer(snd_mixer_t *mixer, const char *dev) { + return 0; + } + +-snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const char *fallback) { +- snd_mixer_elem_t *elem; ++static pa_bool_t elem_has_volume(snd_mixer_elem_t *elem, pa_bool_t playback) { ++ pa_assert(elem); ++ ++ if (playback && snd_mixer_selem_has_playback_volume(elem)) ++ return TRUE; ++ ++ if (!playback && snd_mixer_selem_has_capture_volume(elem)) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++static pa_bool_t elem_has_switch(snd_mixer_elem_t *elem, pa_bool_t playback) { ++ pa_assert(elem); ++ ++ if (playback && snd_mixer_selem_has_playback_switch(elem)) ++ return TRUE; ++ ++ if (!playback && snd_mixer_selem_has_capture_switch(elem)) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const char *fallback, pa_bool_t playback) { ++ snd_mixer_elem_t *elem = NULL, *fallback_elem = NULL; + snd_mixer_selem_id_t *sid = NULL; + + snd_mixer_selem_id_alloca(&sid); +@@ -771,17 +795,57 @@ snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const + + snd_mixer_selem_id_set_name(sid, name); + +- if (!(elem = snd_mixer_find_selem(mixer, sid))) { +- pa_log_info("Cannot find mixer control \"%s\".", snd_mixer_selem_id_get_name(sid)); ++ if ((elem = snd_mixer_find_selem(mixer, sid))) { ++ ++ if (elem_has_volume(elem, playback) && ++ elem_has_switch(elem, playback)) ++ goto success; ++ ++ if (!elem_has_volume(elem, playback) && ++ !elem_has_switch(elem, playback)) ++ elem = NULL; ++ } ++ ++ pa_log_info("Cannot find mixer control \"%s\" or mixer control is no combination of switch/volume.", snd_mixer_selem_id_get_name(sid)); ++ ++ if (fallback) { ++ snd_mixer_selem_id_set_name(sid, fallback); ++ ++ if ((fallback_elem = snd_mixer_find_selem(mixer, sid))) { ++ ++ if (elem_has_volume(fallback_elem, playback) && ++ elem_has_switch(fallback_elem, playback)) { ++ elem = fallback_elem; ++ goto success; ++ } ++ ++ if (!elem_has_volume(fallback_elem, playback) && ++ !elem_has_switch(fallback_elem, playback)) ++ fallback_elem = NULL; ++ } ++ ++ pa_log_warn("Cannot find fallback mixer control \"%s\" or mixer control is no combination of switch/volume.", snd_mixer_selem_id_get_name(sid)); ++ } ++ ++ if (elem && fallback_elem) { + +- if (fallback) { +- snd_mixer_selem_id_set_name(sid, fallback); ++ /* Hmm, so we have both elements, but neither has both mute ++ * and volume. Let's prefer the one with the volume */ + +- if (!(elem = snd_mixer_find_selem(mixer, sid))) +- pa_log_warn("Cannot find fallback mixer control \"%s\".", snd_mixer_selem_id_get_name(sid)); ++ if (elem_has_volume(elem, playback)) ++ goto success; ++ ++ if (elem_has_volume(fallback_elem, playback)) { ++ elem = fallback_elem; ++ goto success; + } + } + ++ if (!elem && fallback_elem) ++ elem = fallback_elem; ++ ++success: ++ + if (elem) + pa_log_info("Using mixer control \"%s\".", snd_mixer_selem_id_get_name(sid)); + +diff --git a/src/modules/alsa-util.h b/src/modules/alsa-util.h +index aaa01c7..95bb983 100644 +--- a/src/modules/alsa-util.h ++++ b/src/modules/alsa-util.h +@@ -52,7 +52,7 @@ int pa_alsa_set_hw_params( + int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min); + + int pa_alsa_prepare_mixer(snd_mixer_t *mixer, const char *dev); +-snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const char *fallback); ++snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const char *fallback, pa_bool_t playback); + + snd_pcm_t *pa_alsa_open_by_device_id( + const char *dev_id, +diff --git a/src/modules/module-alsa-sink.c b/src/modules/module-alsa-sink.c +index 6dea172..95a8c97 100644 +--- a/src/modules/module-alsa-sink.c ++++ b/src/modules/module-alsa-sink.c +@@ -1409,7 +1409,7 @@ int pa__init(pa_module*m) { + } + + if (found) +- if (!(u->mixer_elem = pa_alsa_find_elem(u->mixer_handle, "Master", "PCM"))) ++ if (!(u->mixer_elem = pa_alsa_find_elem(u->mixer_handle, "Master", "PCM", TRUE))) + found = FALSE; + + if (!found) { +diff --git a/src/modules/module-alsa-source.c b/src/modules/module-alsa-source.c +index f796ef1..b6c6ed1 100644 +--- a/src/modules/module-alsa-source.c ++++ b/src/modules/module-alsa-source.c +@@ -1236,7 +1236,7 @@ int pa__init(pa_module*m) { + } + + if (found) +- if (!(u->mixer_elem = pa_alsa_find_elem(u->mixer_handle, "Capture", "Mic"))) ++ if (!(u->mixer_elem = pa_alsa_find_elem(u->mixer_handle, "Capture", "Mic", FALSE))) + found = FALSE; + + if (!found) { + diff --git a/pulseaudio-0.9.22-desktop.patch b/pulseaudio-0.9.22-desktop.patch new file mode 100644 index 0000000..ae019a5 --- /dev/null +++ b/pulseaudio-0.9.22-desktop.patch @@ -0,0 +1,22 @@ +diff -Nru pulseaudio-0.9.22/src/daemon/pulseaudio.desktop.in pulseaudio-0.9.22-gil/src/daemon/pulseaudio.desktop.in +--- pulseaudio-0.9.22/src/daemon/pulseaudio.desktop.in 2010-11-26 01:45:22.000000000 +0100 ++++ pulseaudio-0.9.22-gil/src/daemon/pulseaudio.desktop.in 2010-12-08 10:48:06.000000000 +0100 +@@ -4,6 +4,7 @@ + _Name=PulseAudio Sound System + _Comment=Start the PulseAudio Sound System + Exec=start-pulseaudio-x11 ++Icon=pulseaudio.png + Terminal=false + Type=Application + Categories= +diff -Nru pulseaudio-0.9.22/src/daemon/pulseaudio-kde.desktop.in pulseaudio-0.9.22-gil/src/daemon/pulseaudio-kde.desktop.in +--- pulseaudio-0.9.22/src/daemon/pulseaudio-kde.desktop.in 2010-11-26 01:45:22.000000000 +0100 ++++ pulseaudio-0.9.22-gil/src/daemon/pulseaudio-kde.desktop.in 2010-12-08 10:47:52.000000000 +0100 +@@ -4,6 +4,7 @@ + _Name=PulseAudio Sound System KDE Routing Policy + _Comment=Start the PulseAudio Sound System with KDE Routing Policy + Exec=start-pulseaudio-kde ++Icon=pulseaudio.png + Terminal=false + Type=Application + Categories= diff --git a/pulseaudio.png b/pulseaudio.png new file mode 100644 index 0000000..a4c8387 Binary files /dev/null and b/pulseaudio.png differ diff --git a/pulseaudio.spec b/pulseaudio.spec new file mode 100644 index 0000000..e52c429 --- /dev/null +++ b/pulseaudio.spec @@ -0,0 +1,671 @@ +%define majver %(echo %{version} | cut -d. -f 1-2) +Name: pulseaudio +Version: 5.0 +Release: 1mamba +Summary: Improved Linux sound server +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://pulseaudio.org/ +Source0: http://freedesktop.org/software/pulseaudio/releases/pulseaudio-%{version}.tar.xz +Source1: pulseaudio.png +Source2: default.pa-for-gdm +Patch0: pulseaudio-0.9.22-desktop.patch +Patch25: pulseaudio-0.9.14-mixer-select.patch +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: GConf-devel +BuildRequires: ORBit2-devel +BuildRequires: glibc-devel +BuildRequires: libICE-devel +BuildRequires: libSM-devel +BuildRequires: libX11-devel +BuildRequires: libXau-devel +BuildRequires: libXdmcp-devel +BuildRequires: libXext-devel +BuildRequires: libXi-devel +BuildRequires: libXtst-devel +BuildRequires: libalsa-devel +BuildRequires: libasyncns-devel +BuildRequires: libavahi-devel +BuildRequires: libcap-devel +BuildRequires: libdbus-devel +BuildRequires: libdbus-glib-devel +BuildRequires: libffi-devel +BuildRequires: libfftw-devel +BuildRequires: libflac-devel +BuildRequires: libgcrypt-devel +BuildRequires: libglib-devel +BuildRequires: libgpg-error-devel +BuildRequires: libjack-devel +BuildRequires: libjson-c-devel +BuildRequires: libltdl-devel +BuildRequires: liblzma-devel +BuildRequires: libogg-devel +BuildRequires: libopenssl-devel +BuildRequires: liborc-devel +BuildRequires: libpcre-devel +BuildRequires: libsamplerate-devel +BuildRequires: libsbc-devel +BuildRequires: libselinux-devel +BuildRequires: libsepol-devel +BuildRequires: libsndfile-devel +BuildRequires: libspeex-devel +BuildRequires: libssp-devel +BuildRequires: libtdb-devel +BuildRequires: libuuid-devel +BuildRequires: libvorbis-devel +BuildRequires: libwrap-devel +BuildRequires: libxcb-devel +BuildRequires: libz-devel +BuildRequires: lirc-devel +BuildRequires: systemd-devel +BuildRequires: udev-devel +## AUTOBUILDREQ-END +BuildRequires: automake +BuildRequires: doxygen +BuildRequires: glib-gettextize +BuildRequires: intltool +BuildRequires: libatomic_ops-devel +BuildRequires: libbluez-devel +BuildRequires: libe2fs-devel +BuildRequires: libexpat-devel +BuildRequires: libgdbm-devel +BuildRequires: libguile-devel +BuildRequires: liboil-devel +BuildRequires: libtool +BuildRequires: libXt-devel +BuildRequires: m4 +BuildRequires: pkgconfig +BuildRequires: PolicyKit-devel +BuildRequires: xmltoman +BuildRequires: libsbc-devel +BuildConflicts: hal-devel +Requires: lib%{name}-core = %{version}-%{release} +Requires: rtkit +Requires: udev +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +# ---{ pulseaudio 0.9.22 }--- + +# Have X11: yes +# Enable OSS Output: yes +# Enable OSS Wrapper: yes +# Enable Alsa: yes +# Enable Solaris: no +# Enable GLib 2.0: yes +# Enable Gtk+ 2.0: yes +# Enable GConf: yes +# Enable Avahi: yes +# Enable Jack: yes +# Enable Async DNS: yes +# Enable LIRC: yes +# Enable HAL: no +# Enable udev: yes +# Enable HAL->udev compat: yes +# Enable BlueZ: yes +# Enable TCP Wrappers: yes +# Enable libsamplerate: yes +# Enable IPv6: yes +# Enable OpenSSL (for Airtunes): yes +# Enable tdb: yes + +# TODO +# Enable gdbm: no +# Enable simple database: no + +# System User: pulse +# System Group: pulse +# Access Group: pulse-access +# Enable per-user EsounD socket: yes +# Force preopen: no +# Preopened modules: all + + +%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 -n lib%{name}-core +Summary: Shared library part of the %{name} sound server +Group: System/Libraries + +%description -n lib%{name}-core +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). + +This contains the shared library needed by %{name} based applications. + +%package -n lib%{name} +Summary: Shared library part of the polpyaudio sound server +Group: System/Libraries +Provides: lib%{name}-zeroconf +Obsoletes: lib%{name}-zeroconf + +%description -n lib%{name} +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). + +This contains the shared library needed by %{name} based applications. + +%package -n lib%{name}-devel +Summary: Development headers of the polpyaudio sound server +Group: Development/Libraries +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name}-zeroconf = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name}-glib = %{?epoch:%epoch:}%{version}-%{release} +Requires: libglib-devel +Requires: vala +Provides: lib%{name}-zeroconf-devel +Obsoletes: lib%{name}-zeroconf-devel + +%description -n lib%{name}-devel +%{name} 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). + +This contains the C headers and libraries needed to build %{name} +based applications. + +%package -n lib%{name}-glib +Summary: GLIB 2.x bindings for PulseAudio clients +Group: System/Libraries + +%description -n lib%{name}-glib +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). + +This package contains bindings to integrate the PulseAudio client library with a GLIB 2.x based application. + +%package -n lib%{name}-glib-devel +Summary: GLIB 2.x bindings for PulseAudio clients +Group: Development/Libraries +Requires: lib%{name}-glib = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib%{name}-glib-devel +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). + +This contains static libraries needed to build %{name} based applications. + +%package -n lib%{name}-zeroconf +Summary: Zeroconf support for PulseAudio clients +Group: System/Libraries + +%description -n lib%{name}-zeroconf +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). + +This package contains the runtime libraries and tools that allow PulseAudio clients to automatically detect PulseAudio servers using Zeroconf. + +%package -n lib%{name}-zeroconf-devel +Summary: Zeroconf support for PulseAudio clients +Group: Development/Libraries +Requires: lib%{name}-zeroconf = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib%{name}-zeroconf-devel +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). + +This package static libraries needed to build %{name} based applications. + +%package esound-compat +Summary: PulseAudio EsounD daemon compatibility script +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description esound-compat +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). + +A compatibility script that allows applications to start PulseAudio with EsounD protocol modules. + +%package module-bluetooth +Summary: Bluetooth proximity support for the PulseAudio sound server +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +# TODO Requires: bluez http://www.kernel.org/pub/linux/bluetooth + +%description module-bluetooth +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). + +Contains a module that can be used to automatically turn down the volume if a bluetooth mobile phone leaves the proximity or turn it up again if it enters the proximity again + +%package module-gconf +Summary: GConf support for the PulseAudio sound server +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description module-gconf +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). + +GConf configuration backend for the PulseAudio sound server. + +%package module-jack +Summary: JACK support for the PulseAudio sound server +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description module-jack +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). + +JACK sink and source modules for the PulseAudio sound server. + +%package module-lirc +Summary: LIRC support for the PulseAudio sound server +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description module-lirc +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). + +LIRC volume control module for the PulseAudio sound server. + +%package module-zeroconf +Summary: Zeroconf support for the PulseAudio sound server +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-utils = %{?epoch:%epoch:}%{version}-%{release} + +%description module-zeroconf +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). + +Zeroconf publishing module for the PulseAudio sound server. + +%package module-x11 +Summary: X11 support for the PulseAudio sound server +Group: Applications/Multimedia +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-utils = %{?epoch:%epoch:}%{version}-%{release} + +%description module-x11 +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). + +X11 bell and security modules for the PulseAudio sound server. + +%package utils +Summary: PulseAudio sound server utilities +Group: Applications/Multimedia +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description utils +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). + +This package contains command line utilities for the PulseAudio sound server. + +%package static +Summary: %{name}-zeroconf static library +Group: Development/Libraries +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Requires: %{name}-utils = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name}-core = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name}-devel = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name}-glib-devel = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name}-zeroconf-devel = %{?epoch:%epoch:}%{version}-%{release} + +%description static +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). + +This contains the static library needed by %{name} based applications. + +%prep +%setup -q -T -b0 +%patch0 -p1 + +%build +CFLAGS="%{optflags} -ggdb" \ +%configure \ + --with-system-user=pulse \ + --with-system-group=pulse \ + --with-access-group=pulse-access \ + --disable-hal \ + --disable-static \ + --disable-rpath \ + --disable-xen \ +%ifarch arm + --disable-neon-opt +%endif + +%make LIBTOOL=%{_bindir}/libtool +%make -C doxygen + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +chmod 755 %{buildroot}%{_bindir}/pulseaudio +# preserve time stamps +touch -r src/daemon/daemon.conf.in %{buildroot}%{_sysconfdir}/pulse/daemon.conf +touch -r src/daemon/default.pa.in %{buildroot}%{_sysconfdir}/pulse/default.pa +touch -r man/pulseaudio.1.xml.in %{buildroot}%{_mandir}/man1/pulseaudio.1 +touch -r man/default.pa.5.xml.in %{buildroot}%{_mandir}/man5/default.pa.5 +touch -r man/pulse-client.conf.5.xml.in %{buildroot}%{_mandir}/man5/pulse-client.conf.5 +touch -r man/pulse-daemon.conf.5.xml.in %{buildroot}%{_mandir}/man5/pulse-daemon.conf.5 + +mkdir -p %{buildroot}%{_localstatedir}/lib/pulse +mkdir -p %{buildroot}%{_localstatedir}/run/pulse + +# TODO Requires: http://download.gnome.org/sources/gdm +#mkdir -p %{buildroot}%{_localstatedir}/lib/gdm/.pulse +#install -m 644 %{S:2} %{buildroot}%{_localstatedir}/lib/gdm/.pulse/default.pa + +mkdir -p %{buildroot}%{_datadir}/pixmaps +install -m 644 %{S:1} %{buildroot}%{_datadir}/pixmaps + +%find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%pre +%{_sbindir}/groupadd -r pulse || : +%{_bindir}/id pulse >/dev/null 2>&1 || \ +%{_sbindir}/useradd -r -c 'PulseAudio System Daemon' -s /sbin/nologin -d %{_localstatedir}/run/pulse -g pulse pulse &>/dev/null || : +%{_sbindir}/groupadd -r pulse-access || : +exit 0 + +%post -p /sbin/ldconfig + +%postun +/sbin/ldconfig + +%post -n lib%{name}-glib -p /sbin/ldconfig +%postun -n lib%{name}-glib -p /sbin/ldconfig + +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + +%post -n lib%{name}-core -p /sbin/ldconfig +%postun -n lib%{name}-core -p /sbin/ldconfig + +%post -n lib%{name}-zeroconf -p /sbin/ldconfig +%postun -n lib%{name}-zeroconf -p /sbin/ldconfig + + +%files +%defattr(-,root,root) +%{_sysconfdir}/bash_completion.d/pulseaudio-bash-completion.sh +%dir %{_sysconfdir}/pulse +%config(noreplace) %{_sysconfdir}/pulse/daemon.conf +%config(noreplace) %{_sysconfdir}/pulse/default.pa +%config(noreplace) %{_sysconfdir}/pulse/system.pa +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf +%attr(4755,root,root) %{_bindir}/pulseaudio +%dir %{_libexecdir}/pulse +#%{_libexecdir}/pulse/proximity-helper +%attr(0700, pulse, pulse) %dir %{_localstatedir}/lib/pulse +%attr(0775, pulse, pulse) %dir %{_localstatedir}/run/pulse +/lib/udev/rules.d/90-pulseaudio.rules +%dir %{_libdir}/pulse-%{majver} +%dir %{_libdir}/pulse-%{majver}/modules +%{_libdir}/pulse-%{majver}/modules/libalsa-util.so +%{_libdir}/pulse-%{majver}/modules/libbluez4-util.so +%{_libdir}/pulse-%{majver}/modules/libbluez5-util.so +%{_libdir}/pulse-%{majver}/modules/libcli.so +%{_libdir}/pulse-%{majver}/modules/liboss-util.so +%{_libdir}/pulse-%{majver}/modules/libprotocol-*.so +%{_libdir}/pulse-%{majver}/modules/librtp.so +%{_libdir}/pulse-%{majver}/modules/module-alsa-*.so +%{_libdir}/pulse-%{majver}/modules/module-bluez4-*.so +%{_libdir}/pulse-%{majver}/modules/module-bluez5-*.so +%{_libdir}/pulse-%{majver}/modules/module-always-sink.so +%{_libdir}/pulse-%{majver}/modules/module-augment-properties.so +%{_libdir}/pulse-%{majver}/modules/module-bluetooth-*.so +%{_libdir}/pulse-%{majver}/modules/module-card-restore.so +%{_libdir}/pulse-%{majver}/modules/module-cli-protocol-*.so +%{_libdir}/pulse-%{majver}/modules/module-cli.so +%{_libdir}/pulse-%{majver}/modules/module-combine.so +%{_libdir}/pulse-%{majver}/modules/module-console-kit.so +#%{_libdir}/pulse-%{majver}/modules/module-cork-music-on-phone.so +%{_libdir}/pulse-%{majver}/modules/module-default-device-restore.so +%{_libdir}/pulse-%{majver}/modules/module-detect.so +%{_libdir}/pulse-%{majver}/modules/module-device-manager.so +%{_libdir}/pulse-%{majver}/modules/module-device-restore.so +%{_libdir}/pulse-%{majver}/modules/module-echo-cancel.so +%{_libdir}/pulse-%{majver}/modules/module-esound-compat-spawnfd.so +%{_libdir}/pulse-%{majver}/modules/module-esound-compat-spawnpid.so +%{_libdir}/pulse-%{majver}/modules/module-esound-protocol-tcp.so +%{_libdir}/pulse-%{majver}/modules/module-esound-protocol-unix.so +%{_libdir}/pulse-%{majver}/modules/module-esound-sink.so +%{_libdir}/pulse-%{majver}/modules/module-hal-detect.so +%{_libdir}/pulse-%{majver}/modules/module-http-protocol-tcp.so +%{_libdir}/pulse-%{majver}/modules/module-http-protocol-unix.so +%{_libdir}/pulse-%{majver}/modules/module-intended-roles.so +%{_libdir}/pulse-%{majver}/modules/module-jackdbus-detect.so +%{_libdir}/pulse-%{majver}/modules/module-ladspa-sink.so +%{_libdir}/pulse-%{majver}/modules/module-loopback.so +%{_libdir}/pulse-%{majver}/modules/module-match.so +%{_libdir}/pulse-%{majver}/modules/module-mmkbd-evdev.so +%{_libdir}/pulse-%{majver}/modules/module-native-protocol-fd.so +%{_libdir}/pulse-%{majver}/modules/module-native-protocol-tcp.so +%{_libdir}/pulse-%{majver}/modules/module-native-protocol-unix.so +%{_libdir}/pulse-%{majver}/modules/module-null-sink.so +%{_libdir}/pulse-%{majver}/modules/module-oss.so +%{_libdir}/pulse-%{majver}/modules/module-pipe-sink.so +%{_libdir}/pulse-%{majver}/modules/module-pipe-source.so +%{_libdir}/pulse-%{majver}/modules/module-position-event-sounds.so +%{_libdir}/pulse-%{majver}/modules/module-remap-*.so +%{_libdir}/pulse-%{majver}/modules/module-rescue-streams.so +%{_libdir}/pulse-%{majver}/modules/module-role-ducking.so +%{_libdir}/pulse-%{majver}/modules/module-rtp-recv.so +%{_libdir}/pulse-%{majver}/modules/module-rtp-send.so +%{_libdir}/pulse-%{majver}/modules/module-rygel-media-server.so +%{_libdir}/pulse-%{majver}/modules/module-simple-protocol-tcp.so +%{_libdir}/pulse-%{majver}/modules/module-simple-protocol-unix.so +%{_libdir}/pulse-%{majver}/modules/module-sine.so +%{_libdir}/pulse-%{majver}/modules/module-sine-source.so +%{_libdir}/pulse-%{majver}/modules/module-stream-restore.so +%{_libdir}/pulse-%{majver}/modules/module-suspend-on-idle.so +%{_libdir}/pulse-%{majver}/modules/module-systemd-login.so +%{_libdir}/pulse-%{majver}/modules/module-tunnel-sink*.so +%{_libdir}/pulse-%{majver}/modules/module-tunnel-source*.so +%{_libdir}/pulse-%{majver}/modules/module-udev-detect.so +%{_libdir}/pulse-%{majver}/modules/module-volume-restore.so +%{_libdir}/pulse-%{majver}/modules/module-combine-sink.so +%{_libdir}/pulse-%{majver}/modules/module-dbus-protocol.so +%{_libdir}/pulse-%{majver}/modules/module-equalizer-sink.so +%{_libdir}/pulse-%{majver}/modules/module-filter-apply.so +%{_libdir}/pulse-%{majver}/modules/module-filter-heuristics.so +%{_libdir}/pulse-%{majver}/modules/module-null-source.so +%{_libdir}/pulse-%{majver}/modules/module-role-cork.so +%{_libdir}/pulse-%{majver}/modules/module-switch-on-connect.so +%{_libdir}/pulse-%{majver}/modules/module-switch-on-port-available.so +%{_libdir}/pulse-%{majver}/modules/module-virtual-sink.so +%{_libdir}/pulse-%{majver}/modules/module-virtual-source.so +%{_libdir}/pulse-%{majver}/modules/module-virtual-surround-sink.so +%dir %{_datadir}/pulseaudio +%dir %{_datadir}/pulseaudio/alsa-mixer +%dir %{_datadir}/pulseaudio/alsa-mixer/paths +%{_datadir}/pulseaudio/alsa-mixer/paths/*.conf +%{_datadir}/pulseaudio/alsa-mixer/paths/*.conf.common +%dir %{_datadir}/pulseaudio/alsa-mixer/profile-sets +%{_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf +%{_datadir}/vala/vapi/libpulse-mainloop-glib.deps +%{_datadir}/vala/vapi/libpulse-mainloop-glib.vapi +%{_datadir}/vala/vapi/libpulse.deps +%{_mandir}/man1/pulseaudio.1.gz +%{_mandir}/man1/start-pulseaudio-kde.1.gz +%{_mandir}/man1/start-pulseaudio-x11.1.gz +%{_mandir}/man5/pulse-cli-syntax.5.gz +%{_mandir}/man5/default.pa.5.gz +%{_mandir}/man5/pulse-client.conf.5.gz +%{_mandir}/man5/pulse-daemon.conf.5.gz +%doc LICENSE README + +%files -n lib%{name}-core +%defattr(-,root,root) +%{_libdir}/libpulsecore-%{majver}.so + +%files -n lib%{name} -f %{name}.lang +%defattr(-,root,root) +%dir %{_sysconfdir}/pulse +%config(noreplace) %{_sysconfdir}/pulse/client.conf +%{_libdir}/libpulse.so.* +%{_libdir}/libpulse-simple.so.* +%{_libdir}/pulseaudio/libpulsecommon-%{majver}.a +%{_libdir}/pulseaudio/libpulsecommon-%{majver}.la +%{_libdir}/pulseaudio/libpulsecommon-%{majver}.so +%{_libdir}/pulseaudio/libpulsedsp.a +%{_libdir}/pulseaudio/libpulsedsp.la +%{_libdir}/pulseaudio/libpulsedsp.so +%doc GPL LGPL LICENSE + +%files -n lib%{name}-devel +%defattr(-,root,root) +%dir %{_includedir}/pulse +%{_includedir}/pulse/*.h +%{_libdir}/libpulse.so +%{_libdir}/libpulse-simple.so +%{_libdir}/pkgconfig/libpulse.pc +%{_libdir}/pkgconfig/libpulse-simple.pc +%{_datadir}/vala/vapi/libpulse.vapi +%{_libdir}/cmake/PulseAudio/PulseAudioConfig.cmake +%{_libdir}/cmake/PulseAudio/PulseAudioConfigVersion.cmake +%doc README + +%files esound-compat +%defattr(-,root,root) +%{_bindir}/esdcompat +%{_mandir}/man1/esdcompat.1.gz + +%files -n lib%{name}-glib +%defattr(-,root,root) +%{_libdir}/libpulse-mainloop-glib.so.* + +%files -n lib%{name}-glib-devel +%defattr(-,root,root) +%{_libdir}/libpulse-mainloop-glib.so +%{_libdir}/pkgconfig/libpulse-mainloop-glib.pc + +#%files module-bluetooth +#%defattr(-,root,root) +#%{_libdir}/pulse-%{majver}/modules/libbluetooth-*.so +#%{_libdir}/pulse-%{majver}/modules/module-bluetooth-*.so +#%{_libexecdir}/pulse/proximity-helper + +%files module-gconf +%defattr(-,root,root) +%{_libdir}/pulse-%{majver}/modules/module-gconf.so +%{_libexecdir}/pulse/gconf-helper + +%files module-jack +%defattr(-,root,root) +%{_libdir}/pulse-%{majver}/modules/module-jack-sink.so +%{_libdir}/pulse-%{majver}/modules/module-jack-source.so + +%files module-lirc +%defattr(-,root,root) +%{_libdir}/pulse-%{majver}/modules/module-lirc.so + +%files module-zeroconf +%defattr(-,root,root) +%{_libdir}/pulse-%{majver}/modules/libavahi-wrap.so +%{_libdir}/pulse-%{majver}/modules/libraop.so +%{_libdir}/pulse-%{majver}/modules/module-raop-discover.so +%{_libdir}/pulse-%{majver}/modules/module-raop-sink.so +%{_libdir}/pulse-%{majver}/modules/module-zeroconf-discover.so +%{_libdir}/pulse-%{majver}/modules/module-zeroconf-publish.so + +%files module-x11 +%defattr(-,root,root) +%config %{_sysconfdir}/xdg/autostart/pulseaudio.desktop +%config %{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop +%{_bindir}/start-pulseaudio-kde +%{_bindir}/start-pulseaudio-x11 +%{_libdir}/pulse-%{majver}/modules/module-x11-bell.so +%{_libdir}/pulse-%{majver}/modules/module-x11-publish.so +%{_libdir}/pulse-%{majver}/modules/module-x11-xsmp.so +%{_libdir}/pulse-%{majver}/modules/module-x11-cork-request.so +%{_datadir}/pixmaps/%{name}.png + +#%files -n lib%{name}-zeroconf +#%defattr(-,root,root) +#%{_bindir}/pabrowse +#%{_libdir}/libpulse-browse.so.* +#%{_mandir}/man1/pabrowse.1.gz + +#%files -n lib%{name}-zeroconf-devel +#%defattr(-,root,root) +#%{_libdir}/libpulse-browse.so +#%{_libdir}/pkgconfig/libpulse-browse.pc + +%files utils +%defattr(-,root,root) +%{_bindir}/pacat +%{_bindir}/pacmd +%{_bindir}/pactl +%{_bindir}/padsp +%{_bindir}/pamon +%{_bindir}/paplay +%{_bindir}/parec +%{_bindir}/parecord +%{_bindir}/pasuspender +%{_bindir}/pax11publish +%{_bindir}/qpaeq +%{_mandir}/man1/pacat.1.gz +%{_mandir}/man1/pacmd.1.gz +%{_mandir}/man1/pactl.1.gz +%{_mandir}/man1/padsp.1.gz +%{_mandir}/man1/paplay.1.gz +%{_mandir}/man1/pasuspender.1.gz +%{_mandir}/man1/pax11publish.1.gz + +%files static +%defattr(-,root,root) +%{_libdir}/libpulse.*a +#%{_libdir}/libpulsecommon-%{version}.*a +#%{_libdir}/libpulse-browse.*a +%{_libdir}/libpulse-mainloop-glib.*a +%{_libdir}/libpulse-simple.*a +#%{_libdir}/libpulsedsp.a +%{_libdir}/libpulsecore-%{majver}.*a +%{_libdir}/pulse-%{majver}/modules/*.a + +%changelog +* Mon Mar 10 2014 Silvan Calarco 5.0-1mamba +- update to 5.0 + +* Tue Jun 04 2013 Automatic Build System 4.0-1mamba +- automatic version update by autodist + +* Tue May 28 2013 Automatic Build System 3.99.2-1mamba +- automatic update by autodist + +* Wed Apr 17 2013 Automatic Build System 3.99.1-1mamba +- automatic version update by autodist + +* Tue Dec 18 2012 Automatic Build System 3.0-1mamba +- automatic version update by autodist + +* Sat Dec 08 2012 Automatic Build System 2.99.3-1mamba +- automatic version update by autodist + +* Wed Nov 14 2012 Silvan Calarco 2.1-2mamba +- rebuilt without hal + +* Fri Sep 14 2012 Automatic Build System 2.1-1mamba +- automatic version update by autodist + +* Mon Jul 02 2012 Automatic Build System 2.0-1mamba +- automatic version update by autodist + +* Thu Jul 21 2011 Automatic Build System 0.9.23-1mamba +- update to 0.9.23 + +* Sun Dec 26 2010 Silvan Calarco 0.9.22-3mamba +- automatic port from devel-java + +* Sun Dec 26 2010 Silvan Calarco 0.9.22-2mamba +- automatic port from devel-java + +* Wed Dec 08 2010 gil 0.9.22-1mamba +- update to 0.9.22 + +* Sun Feb 08 2009 gil 0.9.14-1mamba +- update to 0.9.14 + +* Sat Dec 20 2008 gil 0.9.13-2mamba +- edit specfile +- added packages static +- edit %pre +- removed package libpulseaudio-core-devel + +* Sun Oct 12 2008 gil 0.9.13-1mamba +- update to 0.9.13 + +* Thu Sep 25 2008 gil 0.9.12-1mamba +- update to 0.9.12 + +* Thu Jul 31 2008 gil 0.9.11-1mamba +- package created by autospec