Name: pulseaudio
Summary: Improved Linux sound server
-Version: 4.0
+Version: 5.0
Release: 0
Group: Multimedia/Audio
License: GPL-2.0+ and LGPL-2.1+
the source tree.
%package config
-Summary: Default configuration for PulseAudio.
+Summary: PA default configuration
Group: System Environment/Configuration
%description config
Group: Multimedia/Audio
%description module-raop
-PA module-raop.
+PulseAudio module-raop.
%package module-filter
Summary: PA module-filter
Group: Multimedia/Audio
%description module-filter
-PA module-filter.
+PulseAudio module-filter.
%package module-combine-sink
Summary: PA module-combine-sink
Group: Multimedia/Audio
%description module-combine-sink
-PA module-combine-sink.
+PulseAudio module-combine-sink.
%package module-augment-properties
Summary: PA module-augment-properties
Group: Multimedia/Audio
%description module-augment-properties
-PA module-augment-properties.
+PulseAudio module-augment-properties.
%package module-dbus-protocol
Summary: PA module-dbus-protocol
Group: Multimedia/Audio
%description module-dbus-protocol
-PA module-dbus-protocol.
+PulseAudio module-dbus-protocol.
%package module-null-source
Summary: PA module-null-source
Group: Multimedia/Audio
%description module-null-source
-PA module-null-source.
+PulseAudio module-null-source.
%package module-switch-on-connect
Summary: PA module-swich-on-connect
Group: Multimedia/Audio
%description module-switch-on-connect
-PA module-swich-on-connect.
+PulseAudio module-swich-on-connect.
%package vala-bindings
Summary: PA Vala bindings
Requires: %{name} = %{version}-%{release}
%description vala-bindings
-PA Vala bindings.
+PulseAudio Vala bindings.
+
+%package realtime-scheduling
+Summary: PA realtime scheduling
+Group: Multimedia/Audio
+Requires: %{name} = %{version}-%{release}
+Requires: libcap-tools
+
+%description realtime-scheduling
+PulseAudio realtime-scheduling.
%prep
%setup -q -T -b0
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
export LD_AS_NEEDED=0
-./bootstrap.sh
-%configure --disable-static \
+NOCONFIGURE=yes ./bootstrap.sh
+%configure --prefix=%{_prefix} \
+ --disable-static \
--enable-alsa \
--disable-ipv6 \
--disable-oss-output \
--disable-oss-wrapper \
--disable-x11 \
- --disable-hal \
--disable-hal-compat \
--disable-lirc \
--disable-avahi \
--disable-jack \
--disable-xen \
--without-fftw \
- --enable-bluez \
- --disable-bluez4 \
+ --enable-bluez5 \
+ --disable-bluez4 \
--with-bluetooth-headset-backend=ofono \
--enable-systemd \
--with-database=tdb \
--with-system-group=pulse \
--with-access-group=pulse-access
-make %{?_smp_mflags} V=1
+%__make %{?_smp_mflags} V=0
%install
%make_install
%find_lang %{name}
-pushd %{buildroot}/etc/pulse/filter
+CURDIR=$(pwd)
+cd %{buildroot}%{_sysconfdir}/pulse/filter
ln -sf filter_8000_44100.dat filter_11025_44100.dat
ln -sf filter_8000_44100.dat filter_12000_44100.dat
ln -sf filter_8000_44100.dat filter_16000_44100.dat
ln -sf filter_8000_44100.dat filter_22050_44100.dat
ln -sf filter_8000_44100.dat filter_24000_44100.dat
ln -sf filter_8000_44100.dat filter_32000_44100.dat
-popd
+cd ${CURDIR}
-rm -rf %{buildroot}/etc/xdg/autostart/pulseaudio-kde.desktop
-rm -rf %{buildroot}/usr/bin/start-pulseaudio-kde
-rm -rf %{buildroot}/usr/bin/start-pulseaudio-x11
-rm -rf %{buildroot}/%{_libdir}/pulse-%{version}/modules/module-device-manager.so
+rm -rf %{buildroot}%{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop
+rm -rf %{buildroot}%{_bindir}/start-pulseaudio-kde
+rm -rf %{buildroot}%{_bindir}/start-pulseaudio-x11
+rm -rf %{buildroot}%{_libdir}/pulse-%{version}/modules/module-device-manager.so
-mkdir -p %{buildroot}/%{_includedir}/pulsemodule/pulse
-mkdir -p %{buildroot}/%{_includedir}/pulsemodule/pulsecore
+mkdir -p %{buildroot}%{_includedir}/pulsemodule/pulse
+mkdir -p %{buildroot}%{_includedir}/pulsemodule/pulsecore
-cp %{buildroot}/%{_includedir}/pulse/*.h %{buildroot}/%{_includedir}/pulsemodule/pulse
+cp %{buildroot}%{_includedir}/pulse/*.h %{buildroot}%{_includedir}/pulsemodule/pulse
-fdupes %{buildroot}/%{_datadir}
-fdupes %{buildroot}/%{_includedir}
+fdupes %{buildroot}%{_datadir}
+fdupes %{buildroot}%{_includedir}
# get rid of *.la files
-rm -f %{buildroot}/%{_libdir}/*.la
-rm -f %{buildroot}/%{_libdir}/pulseaudio/*.la
-
+rm -f %{buildroot}%{_libdir}/*.la
+rm -f %{buildroot}%{_libdir}/pulseaudio/*.la
+
+%post
+/sbin/ldconfig
+if [ $1 -eq 1 ] ; then
+# Initial installation
+systemctl --user --global preset pulseaudio.socket >/dev/null 2>&1 || :
+fi
+
+%preun
+if [ $1 -eq 0 ] ; then
+# Package removal, not upgrade
+systemctl --no-reload --user --global disable pulseaudio.socket > /dev/null 2>&1 || :
+fi
-%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n libpulse -p /sbin/ldconfig
%post -n libpulse-mainloop-glib -p /sbin/ldconfig
%postun -n libpulse-mainloop-glib -p /sbin/ldconfig
+%post realtime-scheduling
+setcap cap_sys_nice+ep /usr/bin/pulseaudio
+
+%postun realtime-scheduling
+setcap -r /usr/bin/pulseaudio
+
%lang_package
%files
%manifest %{name}.manifest
%defattr(-,root,root,-)
-%doc LICENSE GPL LGPL
-%{_sysconfdir}/pulse/filter/*.dat
+%license LICENSE GPL LGPL
+%config %{_sysconfdir}/pulse/filter/*.dat
%{_bindir}/esdcompat
%{_bindir}/pulseaudio
-%dir %{_libexecdir}/pulse
%{_libexecdir}/pulse/*
%{_libdir}/libpulsecore-%{version}.so
%{_libdir}/udev/rules.d/90-pulseaudio.rules
%{_libdir}/pulse-%{version}/modules/module-virtual-surround-sink.so
%{_libdir}/pulse-%{version}/modules/module-role-ducking.so
%{_libdir}/pulse-%{version}/modules/module-systemd-login.so
+%{_unitdir_user}/pulseaudio.service
+%{_unitdir_user}/pulseaudio.socket
%if %{with pulseaudio_samsung_policy}
%{_libdir}/pulse-%{version}/modules/module-policy.so
%endif
+%{_libdir}/pulse-%{version}/modules/libvolume-api.so
+%{_libdir}/pulse-%{version}/modules/libmain-volume-policy.so
+%{_libdir}/pulse-%{version}/modules/module-volume-api.so
+%{_libdir}/pulse-%{version}/modules/module-main-volume-policy.so
+%{_libdir}/pulse-%{version}/modules/module-audio-groups.so
+
%config(noreplace) /etc/bash_completion.d/pulseaudio-bash-completion.sh
%files -n libpulse
%config(noreplace) %{_sysconfdir}/pulse/default.pa
%config(noreplace) %{_sysconfdir}/pulse/client.conf
%config(noreplace) %{_sysconfdir}/pulse/system.pa
+%config(noreplace) %{_sysconfdir}/pulse/audio-groups.conf
+%config(noreplace) %{_sysconfdir}/pulse/main-volume-policy.conf
+
%{_datadir}/pulseaudio/alsa-mixer/paths/*
%{_datadir}/pulseaudio/alsa-mixer/profile-sets/*
%defattr(-,root,root)
%{_includedir}/pulsemodule/pulsecore/*.h
%{_includedir}/pulsemodule/pulse/*.h
+%{_includedir}/pulsemodule/modules/main-volume-policy/*.h
+%{_includedir}/pulsemodule/modules/volume-api/*.h
%{_libdir}/pkgconfig/pulseaudio-module-devel.pc
%files vala-bindings
%defattr(-,root,root,-)
%{_datadir}/vala/vapi/*
+%files realtime-scheduling
+%defattr(-,root,root,-)
+
%docs_package