# # spec file for package pulseaudio (Version 0.9.15) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: pulseaudio %define drvver 0.9.15 Summary: A Networked Sound Server Version: 0.9.15 Release: 5 License: GPL v2 or later ; LGPL v2.1 or later Group: System/Sound Daemons Source: %{name}-%{version}.tar.bz2 Source2: setup-pulseaudio # PATCH-FIX-UPSTREAM pulseaudio-bnc480113-default-sink.patch bnc#480113 sreeves@novell.com Patch1: pulseaudio-bnc480113-default-sink.patch # PATCH-FIX-OPENSUSE pulseaudio-work-with-old-alsa.patch Patch2: pulseaudio-work-with-old-alsa.patch # PATCH-FIX-UPSTREAM pulseaudio-am111.patch automake 1.11 support coolo@novell.com Patch0: pulseaudio-am111.patch # These 28 patches are backported from upstream git. Drop them when we move to 0.9.16 Patch3: 0001-alsa-allow-configuration-of-fallback-device-strings.patch Patch4: 0002-util-if-NULL-is-passed-to-pa_path_get_filename-ju.patch Patch5: 0003-alsa-don-t-hit-an-assert-when-invalid-module-argume.patch Patch6: 0004-alsa-fix-wording-we-are-speaking-of-card-profiles.patch Patch7: 0005-alsa-initialize-buffer-size-before-number-of-period.patch Patch8: 0006-conf-remove-obsolete-module-idle-time-directive-fro.patch Patch9: 0007-core-make-sure-soft-mute-status-stays-in-sync-with.patch Patch10: 0008-endian-fix-LE-BE-order-for-24-bit-accessor-function.patch Patch11: 0009-log-print-file-name-only-when-we-have-it.patch Patch12: 0010-man-document-24bit-sample-types-in-man-page.patch Patch13: 0011-man-document-log-related-daemon.conf-options.patch Patch14: 0012-man-document-that-tsched-doesn-t-use-fragment-setti.patch Patch15: 0013-mutex-when-we-fail-to-fill-in-mutex-into-static-mut.patch Patch16: 0014-oss-don-t-deadlock-when-we-try-to-resume-an-OSS-dev.patch Patch17: 0015-simple-protocol-don-t-hit-an-assert-when-we-call-co.patch Patch18: 0016-idxset-add-enumeration-macro-PA_IDXSET_FOREACH.patch Patch19: 0017-rescue-streams-when-one-stream-move-fails-try-to-co.patch Patch20: 0018-sample-correctly-pass-s24-32-formats.patch Patch21: 0019-sample-util-fix-iteration-loop-when-adjusting-volum.patch Patch22: 0020-sample-util-properly-allocate-silence-block-for-s24.patch Patch23: 0021-sconv-fix-a-few-minor-conversion-issues.patch Patch24: 0022-alsa-be-a-bit-more-verbose-when-a-hwparam-call-fail.patch Patch25: 0023-rescue-make-we-don-t-end-up-in-an-endless-loop-when.patch Patch26: 0024-core-introduce-pa_-sink-source-_set_fixed_latency.patch Patch27: 0025-core-cache-requested-latency-only-when-we-are-runni.patch Patch28: 0026-sample-fix-build-on-BE-archs.patch Patch29: 0027-alsa-properly-convert-return-values-of-snd_strerror.patch Patch30: 0028-alsa-remove-debug-code.patch Url: http://pulseaudio.org BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: PolicyKit-devel BuildRequires: alsa-devel BuildRequires: bluez-devel BuildRequires: doxygen BuildRequires: gconf2-devel BuildRequires: gdbm-devel BuildRequires: glib2-devel BuildRequires: gtk2-devel BuildRequires: hal-devel BuildRequires: intltool BuildRequires: jack-devel BuildRequires: libatomic-ops-devel BuildRequires: libavahi-devel BuildRequires: liboil-devel BuildRequires: libopenssl-devel BuildRequires: libsamplerate-devel BuildRequires: libsndfile-devel BuildRequires: libtool BuildRequires: lirc-devel BuildRequires: libudev-devel BuildRequires: speex-devel BuildRequires: tcpd-devel BuildRequires: update-desktop-files BuildRequires: xorg-x11-devel PreReq: pwdutils Recommends: alsa-plugins-pulse Requires: %{name}-lang = %{version} Obsoletes: libpulsecore9 <= 0.9.14 Obsoletes: libpulsecore7 <= 0.9.12 %description pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package esound-compat License: GPL v2 or later ; LGPL v2.1 or later Summary: ESOUND compatibility for PulseAudio Group: System/Sound Daemons Requires: %{name} = %{version} Provides: esound-daemon = 0.2.41 Obsoletes: esound-daemon <= 0.2.38 %description esound-compat pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). This package provides the compatibility layer for drop-in replacement of ESOUND. %package module-lirc License: GPL v2 or later ; LGPL v2.1 or later Summary: LIRC module for PulseAudio Group: System/Sound Daemons Requires: %{name} = %{version} %description module-lirc pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package module-x11 License: GPL v2 or later ; LGPL v2.1 or later Summary: X11 module for PulseAudio Group: System/Sound Daemons Requires: %{name} = %{version} %description module-x11 pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package module-zeroconf License: GPL v2 or later ; LGPL v2.1 or later Summary: Zeroconf module for PulseAudio Group: System/Sound Daemons Requires: %{name} = %{version} %description module-zeroconf pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package module-jack License: GPL v2 or later ; LGPL v2.1 or later Summary: JACK support for the PulseAudio sound server Group: System/Sound Daemons Requires: %{name} = %{version} %description module-jack pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). This package includes support for Jack-based applications. %package module-bluetooth License: GPL v2 or later ; LGPL v2.1 or later Summary: Bluetooth proximity support for the PulseAudio sound server Group: System/Sound Daemons Requires: %{name} = %{version} Requires: bluez >= 4.34 %description module-bluetooth pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). This package includes support for Bluetooth-based sound devices. %package module-gconf License: GPL v2 or later ; LGPL v2.1 or later Summary: GCONF module for PulseAudio Group: System/Sound Daemons Requires: %{name} = %{version} %description module-gconf pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package -n libpulse0 Summary: Client interface to PulseAudio License: GPL v2 or later ; LGPL v2.1 or later Group: System/Libraries Provides: pulseaudio-libs = %{version}-%{release} Obsoletes: pulseaudio-libs < %{version} %description -n libpulse0 pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). This package contains the system libraries for clients of pulseaudio sound server. %package -n libpulse-mainloop-glib0 Summary: GLIB 2.0 Main Loop wrapper for PulseAudio License: GPL v2 or later ; LGPL v2.1 or later Group: System/Sound Daemons Provides: pulseaudio-libs-glib2 = %{version}-%{release} Obsoletes: pulseaudio-libs-glib2 < %{version} %description -n libpulse-mainloop-glib0 pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package -n libpulse-browse0 Summary: PulseAudio network browsing API License: GPL v2 or later ; LGPL v2.1 or later Group: System/Sound Daemons Provides: pulseaudio-libs-zeroconf = %{version}-%{release} Obsoletes: pulseaudio-libs-zeroconf < %{version} %description -n libpulse-browse0 pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %package -n libpulse-devel Summary: Development package for the pulseaudio library License: GPL v2 or later ; LGPL v2.1 or later Group: Development/Libraries/C and C++ Requires: libpulse0 = %{version} Requires: libpulse-mainloop-glib0 = %{version} Requires: libpulse-browse0 = %{version} Requires: pkgconfig glib2-devel Provides: pulseaudio-devel = %{version}-%{release} Obsoletes: pulseaudio-devel < %{version} %description -n libpulse-devel pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). This package contains the files needed to compile programs that use the pulseaudio library. %package utils Summary: PulseAudio utilities License: GPL v2 or later ; LGPL v2.1 or later Group: System/Sound Daemons Requires: %{name} = %{version} Requires: libpulse0 = %{version} Requires: libpulse-browse0 = %{version} Requires: libpulse-mainloop-glib0 = %{version} %description utils pulseaudio is a networked sound server for Linux and other Unix like operating systems and Microsoft Windows. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). %lang_package %prep %setup -q -T -b0 %patch1 -p1 %patch2 -p1 %patch0 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 %patch30 -p1 %build %if %suse_version >= 1110 autoreconf -fi %endif export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" # libpulse and libpulsecommon need each other - no way with as-needed export SUSE_ASNEEDED=0 %configure \ --disable-static \ --disable-rpath \ --with-system-user=pulse \ --with-system-group=pulse \ --with-realtime-group=pulse-rt \ --with-access-group=pulse-access make %{?jobs:-j%jobs} make doxygen %install %makeinstall rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la $RPM_BUILD_ROOT%{_libdir}/pulse-%{drvver}/modules/*.la # configure --disable-static had no effect; delete manually. rm -rf $RPM_BUILD_ROOT%{_libdir}/*.a %suse_update_desktop_file pulseaudio %find_lang %{name} chmod 755 $RPM_BUILD_ROOT%{_bindir}/pulseaudio install %SOURCE2 $RPM_BUILD_ROOT%{_bindir} chmod 755 $RPM_BUILD_ROOT%{_bindir}/setup-pulseaudio ln -s esdcompat $RPM_BUILD_ROOT%{_bindir}/esd %clean rm -rf $RPM_BUILD_ROOT %pre groupadd -r pulse &>/dev/null || : useradd -r -c 'PulseAudio daemon' \ -s /sbin/nologin -d /var/lib/pulseaudio -g pulse -G audio pulse &>/dev/null || : groupadd -r pulse-rt &>/dev/null || : groupadd -r pulse-access &>/dev/null || : %post -n libpulse0 -p /sbin/ldconfig %postun -n libpulse0 -p /sbin/ldconfig %post -n libpulse-mainloop-glib0 -p /sbin/ldconfig %postun -n libpulse-mainloop-glib0 -p /sbin/ldconfig %post -n libpulse-browse0 -p /sbin/ldconfig %postun -n libpulse-browse0 -p /sbin/ldconfig %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc README LICENSE GPL LGPL %dir %{_sysconfdir}/pulse/ %config(noreplace) %{_sysconfdir}/pulse/daemon.conf %config(noreplace) %{_sysconfdir}/pulse/default.pa %config(noreplace) %{_sysconfdir}/pulse/system.pa #%attr(4755,root,root) %{_bindir}/pulseaudio %{_bindir}/pulseaudio %{_bindir}/setup-pulseaudio %dir %{_libdir}/pulse-%{drvver}/ %dir %{_libdir}/pulse-%{drvver}/modules/ %{_libdir}/libpulsecore-%{drvver}.so %{_libdir}/libpulsedsp.so %{_libdir}/pulse-%{drvver}/modules/libalsa-util.so %{_libdir}/pulse-%{drvver}/modules/libcli.so %{_libdir}/pulse-%{drvver}/modules/liboss-util.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-cli.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-esound.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-http.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-native.so %{_libdir}/pulse-%{drvver}/modules/libprotocol-simple.so %{_libdir}/pulse-%{drvver}/modules/librtp.so %{_libdir}/pulse-%{drvver}/modules/module-alsa-sink.so %{_libdir}/pulse-%{drvver}/modules/module-alsa-source.so %{_libdir}/pulse-%{drvver}/modules/module-alsa-card.so %{_libdir}/pulse-%{drvver}/modules/module-always-sink.so %{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-cli.so %{_libdir}/pulse-%{drvver}/modules/module-combine.so %{_libdir}/pulse-%{drvver}/modules/module-console-kit.so %{_libdir}/pulse-%{drvver}/modules/module-detect.so %{_libdir}/pulse-%{drvver}/modules/module-device-restore.so %{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnfd.so %{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnpid.so %{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-esound-sink.so %{_libdir}/pulse-%{drvver}/modules/module-hal-detect.so %{_libdir}/pulse-%{drvver}/modules/module-http-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-http-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-match.so %{_libdir}/pulse-%{drvver}/modules/module-mmkbd-evdev.so %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-fd.so %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-native-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-null-sink.so %{_libdir}/pulse-%{drvver}/modules/module-oss.so %{_libdir}/pulse-%{drvver}/modules/module-pipe-sink.so %{_libdir}/pulse-%{drvver}/modules/module-pipe-source.so %{_libdir}/pulse-%{drvver}/modules/module-position-event-sounds.so %{_libdir}/pulse-%{drvver}/modules/module-rescue-streams.so %{_libdir}/pulse-%{drvver}/modules/module-rtp-recv.so %{_libdir}/pulse-%{drvver}/modules/module-rtp-send.so %{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-tcp.so %{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-unix.so %{_libdir}/pulse-%{drvver}/modules/module-stream-restore.so %{_libdir}/pulse-%{drvver}/modules/module-card-restore.so %{_libdir}/pulse-%{drvver}/modules/module-sine.so %{_libdir}/pulse-%{drvver}/modules/module-tunnel-sink.so %{_libdir}/pulse-%{drvver}/modules/module-tunnel-source.so %{_libdir}/pulse-%{drvver}/modules/module-volume-restore.so %{_libdir}/pulse-%{drvver}/modules/module-suspend-on-idle.so %{_libdir}/pulse-%{drvver}/modules/module-default-device-restore.so %{_libdir}/pulse-%{drvver}/modules/module-ladspa-sink.so %{_libdir}/pulse-%{drvver}/modules/module-remap-sink.so %{_libdir}/pulse-%{drvver}/modules/module-augment-properties.so %{_libdir}/pulse-%{drvver}/modules/module-cork-music-on-phone.so %{_libdir}/pulse-%{drvver}/modules/module-sine-source.so %if %suse_version >= 1100 %{_datadir}/PolicyKit/policy/org.pulseaudio.policy %endif %{_mandir}/man1/pulseaudio.1.gz %{_mandir}/man5/default.pa.5.gz %{_mandir}/man5/pulse-client.conf.5.gz %{_mandir}/man5/pulse-daemon.conf.5.gz %files esound-compat %defattr(-,root,root) %{_bindir}/esdcompat %{_bindir}/esd %{_mandir}/man1/esdcompat.1.gz %files module-lirc %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/module-lirc.so %files module-x11 %defattr(-,root,root) %{_sysconfdir}/xdg/autostart/pulseaudio.desktop %{_bindir}/start-pulseaudio-x11 %{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so %{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so %{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so %{_libdir}/pulse-%{drvver}/modules/module-x11-cork-request.so %files module-zeroconf %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/libavahi-wrap.so %{_libdir}/pulse-%{drvver}/modules/module-zeroconf-publish.so %{_libdir}/pulse-%{drvver}/modules/module-zeroconf-discover.so %{_libdir}/pulse-%{drvver}/modules/libraop.so %{_libdir}/pulse-%{drvver}/modules/module-raop-discover.so %{_libdir}/pulse-%{drvver}/modules/module-raop-sink.so %files module-jack %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/module-jack-sink.so %{_libdir}/pulse-%{drvver}/modules/module-jack-source.so %files module-bluetooth %defattr(-,root,root) %{_libdir}/pulse-%{drvver}/modules/libbluetooth-ipc.so %{_libdir}/pulse-%{drvver}/modules/libbluetooth-sbc.so %{_libdir}/pulse-%{drvver}/modules/libbluetooth-util.so %{_libdir}/pulse-%{drvver}/modules/module-bluetooth-device.so %{_libdir}/pulse-%{drvver}/modules/module-bluetooth-discover.so %{_libdir}/pulse-%{drvver}/modules/module-bluetooth-proximity.so %attr(0755,root,root) %{_libexecdir}/pulse/proximity-helper %files module-gconf %defattr(-,root,root) %dir %{_libexecdir}/pulse %{_libdir}/pulse-%{drvver}/modules/module-gconf.so %{_libexecdir}/pulse/gconf-helper %files -n libpulse0 %defattr(-,root,root) %doc README LICENSE GPL LGPL %dir %{_sysconfdir}/pulse/ %config(noreplace) %{_sysconfdir}/pulse/client.conf %{_libdir}/libpulse.so.* %{_libdir}/libpulsecommon-%{drvver}.so %{_libdir}/libpulse-simple.so.* %files -n libpulse-mainloop-glib0 %defattr(-,root,root) %{_libdir}/libpulse-mainloop-glib.so.* %files -n libpulse-browse0 %defattr(-,root,root) %{_bindir}/pabrowse %{_libdir}/libpulse-browse.so.* %files -n libpulse-devel %defattr(-,root,root) %doc doxygen/html %{_includedir}/pulse/ %{_libdir}/libpulse.so %{_libdir}/libpulse-mainloop-glib.so %{_libdir}/libpulse-simple.so %{_libdir}/libpulse-browse.so %{_libdir}/pkgconfig/libpulse*.pc %files utils %defattr(-,root,root) %{_bindir}/pacat %{_bindir}/pacmd %{_bindir}/pactl %{_bindir}/paplay %{_bindir}/parec %{_bindir}/pax11publish %{_bindir}/padsp %{_bindir}/pasuspender %{_mandir}/man1/pabrowse.1.gz %{_mandir}/man1/pacat.1.gz %{_mandir}/man1/pacmd.1.gz %{_mandir}/man1/pactl.1.gz %{_mandir}/man1/paplay.1.gz %{_mandir}/man1/pasuspender.1.gz %{_mandir}/man1/padsp.1.gz %{_mandir}/man1/pax11publish.1.gz %files lang -f %{name}.lang %changelog