From 80013061e0bb3cb96e89a32d07d289fc8a0ebc52 Mon Sep 17 00:00:00 2001 From: Jing Zhang Date: Thu, 13 Apr 2023 11:02:17 +0800 Subject: [PATCH] Refact spec Signed-off-by: Jing Zhang --- pulseaudio.spec | 589 +++++++++++++++++++++++------------------------- 1 file changed, 283 insertions(+), 306 deletions(-) diff --git a/pulseaudio.spec b/pulseaudio.spec index 3dc9406..d9fbd96 100644 --- a/pulseaudio.spec +++ b/pulseaudio.spec @@ -1,92 +1,99 @@ -%define anolis_release 1 -%global pa_major 16 -%global pa_minor 1 +%define anolis_release 2 %undefine _strict_symbol_defs_build -%global with_webrtc 1 -%global _hardened_build 1 -%global systemd 1 -%global tests 1 -%global gdm_hooks 1 +%global pa_major 16 +%global pa_minor 1 +%global bash_completionsdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null || echo '/etc/bash_completion.d') +%bcond_without webrtc +%bcond_without systemd +%bcond_without tests +%bcond_without gdm_hooks Name: pulseaudio -Summary: Improved Linux Sound Server Version: %{pa_major}.%{pa_minor} Release: %{anolis_release}%{?dist} +Summary: Improved Linux Sound Server License: LGPLv2+ URL: http://www.freedesktop.org/wiki/Software/PulseAudio -Source0: http://freedesktop.org/software/pulseaudio/releases/pulseaudio-%{version}.tar.xz -Source1: http://freedesktop.org/software/pulseaudio/releases/pulseaudio-%{version}.tar.xz.sha256sum - -Source5: default.pa-for-gdm - -# revert upstream commit to rely solely on autospawn for autostart, instead -# include a fallback to manual launch when autospawn fails, like when -# user disables autospawn, or logging in as root -# valid even when using systemd socket activation too -BuildRequires: meson >= 0.50.0 -BuildRequires: gcc -BuildRequires: g++ -BuildRequires: pkgconfig(bash-completion) -%global bash_completionsdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null || echo '/etc/bash_completion.d') -BuildRequires: libtool-ltdl-devel -BuildRequires: intltool -BuildRequires: doxygen -BuildRequires: xmltoman -BuildRequires: libsndfile-devel -BuildRequires: alsa-lib-devel -BuildRequires: glib2-devel -BuildRequires: gtk2-devel -BuildRequires: avahi-devel +Source0: http://freedesktop.org/software/%{name}/releases/%{name}-%{version}.tar.xz +Source1: http://freedesktop.org/software/%{name}/releases/%{name}-%{version}.tar.xz.sha256sum + +Source2: default.pa-for-gdm + +BuildRequires: meson >= 0.50.0 gcc g++ intltool doxygen xmltoman +BuildRequires: pkgconfig(bash-completion) pkgconfig(bluez) >= 5.0 pkgconfig(speexdsp) >= 1.2 +BuildRequires: pkgconfig(gstreamer-1.0) >= 1.16.0 pkgconfig(gstreamer-app-1.0) >= 1.16.0 pkgconfig(gstreamer-rtp-1.0) >= 1.16.0 +BuildRequires: libtool-ltdl-devel libsndfile-devel libsndfile-devel alsa-lib-devel glib2-devel gtk2-devel avahi-devel BuildRequires: libatomic_ops-static, libatomic_ops-devel -BuildRequires: pkgconfig(bluez) >= 5.0 -BuildRequires: sbc-devel -BuildRequires: libXt-devel -BuildRequires: xorg-x11-proto-devel -BuildRequires: libXtst-devel -BuildRequires: libXi-devel -BuildRequires: libSM-devel -BuildRequires: libX11-devel -BuildRequires: libICE-devel -BuildRequires: xcb-util-devel -BuildRequires: openssl-devel -BuildRequires: orc-devel -BuildRequires: libtdb-devel -BuildRequires: pkgconfig(speexdsp) >= 1.2 -BuildRequires: libasyncns-devel -%if 0%{?systemd} -BuildRequires: systemd-devel >= 184 -BuildRequires: systemd +BuildRequires: sbc-devel xcb-util-devel xorg-x11-proto-devel openssl-devel orc-devel +BuildRequires: libXtst-devel libXt-devel libXi-devel libSM-devel libX11-devel libICE-devel libtdb-devel libasyncns-devel +%if %{with systemd} +BuildRequires: systemd-devel >= 184 systemd %{?systemd_requires} %endif -BuildRequires: dbus-devel -BuildRequires: libcap-devel -BuildRequires: pkgconfig(fftw3f) -%if 0%{?with_webrtc} +BuildRequires: dbus-devel libcap-devel pkgconfig(fftw3f) +%if %{with webrtc} BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.2 %endif -%if 0%{?tests} +%if %{with tests} BuildRequires: pkgconfig(check) %endif -BuildRequires: pkgconfig(gstreamer-1.0) >= 1.16.0 -BuildRequires: pkgconfig(gstreamer-app-1.0) >= 1.16.0 -BuildRequires: pkgconfig(gstreamer-rtp-1.0) >= 1.16.0 # retired along with -libs-zeroconf, add Obsoletes here for lack of anything better Obsoletes: padevchooser < 1.0 Requires(pre): shadow-utils -Requires: %{name}-libs = %{version}-%{release} -Requires: rtkit +Requires: %{name}-libs = %{version}-%{release} rtkit # Virtual Provides to support swapping between PipeWire-PA and PA -Provides: pulseaudio-daemon -Conflicts: pulseaudio-daemon -Obsoletes: pulseaudio-esound-compat < 15.0 -Obsoletes: pulseaudio-module-gconf < 15.0 +Provides: %{name}-daemon +Conflicts: %{name}-daemon +Obsoletes: %{name}-esound-compat < 15.0 %{name}-module-gconf < 15.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). +PulseAudio is a sound server system for POSIX OSes, meaning that it is a +proxy for your sound applications. It is an integral part of all relevant +modern Linux distributions and is used in various mobile devices, by +multiple vendors. It performs advanced operations on sound data as it +passes between your application and hardware. + +%package libs +Summary: Libraries for PulseAudio clients +License: LGPLv2+ +Obsoletes: %{name}-libs-zeroconf < 1.1 + +%description libs +This package contains the runtime libraries for any application that wishes +to interface with a PulseAudio sound server. + +%package libs-glib2 +Summary: GLIB 2.x bindings for PulseAudio clients +License: LGPLv2+ +Requires: %{name}-libs = %{version}-%{release} + +%description libs-glib2 +This package contains bindings to integrate the PulseAudio client library with +a GLIB 2.x based application. + +%package libs-devel +Summary: Headers and libraries for PulseAudio client development +License: LGPLv2+ +Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs-glib2 = %{version}-%{release} + +%description libs-devel +Headers and libraries for developing applications that can communicate with +a PulseAudio sound server. + +%if %{with gdm_hooks} +%package gdm-hooks +Summary: PulseAudio GDM integration +License: LGPLv2+ +Requires: gdm >= 1:2.22.0 +# for the gdm user +Requires(pre): gdm + +%description gdm-hooks +This package contains GDM integration hooks for the PulseAudio sound server. +%endif %package qpaeq Summary: Pulseaudio equalizer interface @@ -94,16 +101,22 @@ Requires: %{name} = %{version}-%{release} Requires: python3-qt5-base Requires: python3-dbus %description qpaeq -qpaeq is a equalizer interface for pulseaudio's equalizer sinks. +qpaeq is a equalizer interface for %{name}'s equalizer sinks. -%if 0%{?enable_lirc} -%package module-lirc -Summary: LIRC support for the PulseAudio sound server -BuildRequires: lirc-devel +%package module-bluetooth +Summary: Bluetooth support for the PulseAudio sound server Requires: %{name} = %{version}-%{release} -%description module-lirc -LIRC volume control module for the PulseAudio sound server. -%endif +Requires: bluez >= 5.0 + +%description module-bluetooth +Contains Bluetooth audio (A2DP/HSP/HFP) support for the PulseAudio sound server. + +%package module-gsettings +Summary: Gsettings support for the PulseAudio sound server +Requires: %{name} = %{version}-%{release} + +%description module-gsettings +GSettings configuration backend for the PulseAudio sound server. %package module-x11 Summary: X11 support for the PulseAudio sound server @@ -121,80 +134,45 @@ Requires: %{name}-utils %description module-zeroconf Zeroconf publishing module for the PulseAudio sound server. -%package module-bluetooth -Summary: Bluetooth support for the PulseAudio sound server -Requires: %{name} = %{version}-%{release} -Requires: bluez >= 5.0 - -%description module-bluetooth -Contains Bluetooth audio (A2DP/HSP/HFP) support for the PulseAudio sound server. - %if 0%{?enable_jack} %package module-jack Summary: JACK support for the PulseAudio sound server BuildRequires: jack-audio-connection-kit-devel Requires: %{name} = %{version}-%{release} + %description module-jack JACK sink and source modules for the PulseAudio sound server. %endif -%package module-gsettings -Summary: Gsettings support for the PulseAudio sound server +%if 0%{?enable_lirc} +%package module-lirc +Summary: LIRC support for the PulseAudio sound server +BuildRequires: lirc-devel Requires: %{name} = %{version}-%{release} -%description module-gsettings -GSettings configuration backend for the PulseAudio sound server. - -%package libs -Summary: Libraries for PulseAudio clients -License: LGPLv2+ -Obsoletes: pulseaudio-libs-zeroconf < 1.1 - -%description libs -This package contains the runtime libraries for any application that wishes -to interface with a PulseAudio sound server. - -%package libs-glib2 -Summary: GLIB 2.x bindings for PulseAudio clients -License: LGPLv2+ -Requires: %{name}-libs = %{version}-%{release} - -%description libs-glib2 -This package contains bindings to integrate the PulseAudio client library with -a GLIB 2.x based application. -%package libs-devel -Summary: Headers and libraries for PulseAudio client development -License: LGPLv2+ -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-libs-glib2 = %{version}-%{release} -%description libs-devel -Headers and libraries for developing applications that can communicate with -a PulseAudio sound server. +%description module-lirc +LIRC volume control module for the PulseAudio sound server. +%endif %package utils Summary: PulseAudio sound server utilities License: LGPLv2+ Requires: %{name}-libs = %{version}-%{release} -Obsoletes: pulseaudio-utils < 3.0 +Obsoletes: %{name}-utils < 3.0 %description utils This package contains command line utilities for the PulseAudio sound server. -%if 0%{?gdm_hooks} -%package gdm-hooks -Summary: PulseAudio GDM integration -License: LGPLv2+ -Requires: gdm >= 1:2.22.0 -# for the gdm user -Requires(pre): gdm - -%description gdm-hooks -This package contains GDM integration hooks for the PulseAudio sound server. -%endif +%package doc +Summary: Documentation files for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%description doc +The %{name}-doc package contains documentation files for %{name}. %prep -%setup -q -T -b0 -n %{name}-%{version} +%autosetup -T -b0 -n %{name}-%{version} sed -i.no_consolekit -e \ 's/^load-module module-console-kit/#load-module module-console-kit/' \ @@ -206,8 +184,6 @@ sed -i.no_consolekit -e \ -D system_group=pulse \ -D access_group=pulse-access \ -D oss-output=disabled \ - -D jack=%{?enable_jack:enabled}%{!?enable_jack:disabled} \ - -D lirc=%{?enable_lirc:enabled}%{!?enable_lirc:disabled} \ -D tcpwrap=disabled \ -D bluez5=enabled \ -D gstreamer=enabled \ @@ -217,11 +193,24 @@ sed -i.no_consolekit -e \ -D valgrind=disabled \ -D gtk=disabled \ -D soxr=disabled \ - -D webrtc-aec=%{?with_webrtc:enabled}%{!?with_webrtc:disabled} \ - -D systemd=%{?systemd:enabled}%{!?systemd:disabled} \ - -D tests=%{?tests:true}%{!?tests:false} + -D jack=%{?enable_jack:enabled}%{!?enable_jack:disabled} \ + -D lirc=%{?enable_lirc:enabled}%{!?enable_lirc:disabled} \ +%if %{with webrtc} + -D webrtc-aec=enabled \ +%else + -D webrtc-aec=disabled \ +%endif +%if %{with systemd} + -D systemd=enabled \ +%else + -D systemd=disabled \ +%endif +%if %{with tests} + -D tests=true \ +%else + -D tests=false \ +%endif -# we really should preopen here --preopen-mods=module-udev-detect.la, --force-preopen %meson_build %meson_build doxygen @@ -229,22 +218,17 @@ sed -i.no_consolekit -e \ %install %meson_install -# upstream should use udev.pc 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 +mv -fv $RPM_BUILD_ROOT/lib/udev/rules.d/90-%{name}.rules $RPM_BUILD_ROOT%{_prefix}/lib/udev/rules.d -%if 0%{?gdm_hooks} -install -p -m644 -D %{SOURCE5} $RPM_BUILD_ROOT%{_localstatedir}/lib/gdm/.pulse/default.pa +%if %{with gdm_hooks} +install -p -m644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_localstatedir}/lib/gdm/.pulse/default.pa %endif -## unpackaged files -# extraneous libtool crud -rm -fv $RPM_BUILD_ROOT%{_libdir}/pulseaudio/modules/module-detect.so %find_lang %{name} - %check -%if 0%{?tests} +%if %{with tests} %meson_test || TESTS_ERROR=$? if [ "${TESTS_ERROR}" != "" ]; then cat src/test-suite.log @@ -252,7 +236,6 @@ cat src/test-suite.log fi %endif - %pre getent group pulse-access >/dev/null || groupadd -r pulse-access getent group pulse-rt >/dev/null || groupadd -r pulse-rt @@ -274,196 +257,137 @@ exit 0 ) ||: %post -%if 0%{?systemd} -# unsure if we want both .socket and .service here (or only socket) -# test socket-only on f31+ -- rex -%systemd_user_post pulseaudio.service -%systemd_user_post pulseaudio.socket -%endif +%if %{with systemd} +%systemd_user_post %{name}.service +%systemd_user_post %{name}.socket -%if 0%{?systemd} %preun -%systemd_user_preun pulseaudio.service -%systemd_user_preun pulseaudio.socket -%endif +%systemd_user_preun %{name}.service +%systemd_user_preun %{name}.socket -%if 0%{?systemd} -%triggerun -- pulseaudio < 12.2-4 -# This is for upgrades from previous versions which had a static symlink. +%triggerun -- %{name} < 12.2-4 # The %%post scriptlet above only does anything on initial package installation. -# Remove before F33. -systemctl --no-reload preset --global pulseaudio.socket >/dev/null 2>&1 || : +systemctl --no-reload preset --global %{name}.socket >/dev/null 2>&1 || : %endif %files -%doc README -%license LICENSE GPL LGPL +%license GPL LGPL LICENSE %config(noreplace) %{_sysconfdir}/pulse/daemon.conf %config(noreplace) %{_sysconfdir}/pulse/default.pa %config(noreplace) %{_sysconfdir}/pulse/system.pa -%{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf -%{bash_completionsdir}/pulseaudio -%if 0%{?systemd} -%{_userunitdir}/pulseaudio.service -%{_userunitdir}/pulseaudio.socket +%{_sysconfdir}/dbus-1/system.d/%{name}-system.conf +%{bash_completionsdir}/%{name} +%if %{with systemd} +%{_userunitdir}/%{name}.service +%{_userunitdir}/%{name}.socket %endif %{_bindir}/pa-info -%{_bindir}/pulseaudio -%{_libdir}/pulseaudio/libpulsecore-%{version}.so -%dir %{_libdir}/pulseaudio/ -%dir %{_libdir}/pulseaudio/modules/ -%{_libdir}/pulseaudio/modules/libalsa-util.so -%{_libdir}/pulseaudio/modules/libcli.so -%{_libdir}/pulseaudio/modules/libprotocol-cli.so -%{_libdir}/pulseaudio/modules/libprotocol-http.so -%{_libdir}/pulseaudio/modules/libprotocol-native.so -%{_libdir}/pulseaudio/modules/libprotocol-simple.so -%{_libdir}/pulseaudio/modules/librtp.so -%if 0%{?with_webrtc} -%{_libdir}/pulseaudio/modules/libwebrtc-util.so +%{_bindir}/%{name} +%{_libdir}/%{name}/libpulsecore-%{version}.so +%dir %{_libdir}/%{name}/ +%dir %{_libdir}/%{name}/modules/ +%{_libdir}/%{name}/modules/libalsa-util.so +%{_libdir}/%{name}/modules/libcli.so +%{_libdir}/%{name}/modules/libprotocol-cli.so +%{_libdir}/%{name}/modules/libprotocol-http.so +%{_libdir}/%{name}/modules/libprotocol-native.so +%{_libdir}/%{name}/modules/libprotocol-simple.so +%{_libdir}/%{name}/modules/librtp.so +%if %{with webrtc} +%{_libdir}/%{name}/modules/libwebrtc-util.so %endif -%{_libdir}/pulseaudio/modules/module-allow-passthrough.so -%{_libdir}/pulseaudio/modules/module-alsa-sink.so -%{_libdir}/pulseaudio/modules/module-alsa-source.so -%{_libdir}/pulseaudio/modules/module-alsa-card.so -%{_libdir}/pulseaudio/modules/module-cli-protocol-tcp.so -%{_libdir}/pulseaudio/modules/module-cli-protocol-unix.so -%{_libdir}/pulseaudio/modules/module-cli.so -%{_libdir}/pulseaudio/modules/module-combine.so -%{_libdir}/pulseaudio/modules/module-combine-sink.so -%{_libdir}/pulseaudio/modules/module-dbus-protocol.so -%{_libdir}/pulseaudio/modules/module-filter-apply.so -%{_libdir}/pulseaudio/modules/module-filter-heuristics.so -%{_libdir}/pulseaudio/modules/module-device-manager.so -%{_libdir}/pulseaudio/modules/module-loopback.so -%{_libdir}/pulseaudio/modules/module-udev-detect.so -%{_libdir}/pulseaudio/modules/module-hal-detect.so -%{_libdir}/pulseaudio/modules/module-http-protocol-tcp.so -%{_libdir}/pulseaudio/modules/module-http-protocol-unix.so -%{_libdir}/pulseaudio/modules/module-match.so -%{_libdir}/pulseaudio/modules/module-mmkbd-evdev.so -%{_libdir}/pulseaudio/modules/module-native-protocol-fd.so -%{_libdir}/pulseaudio/modules/module-native-protocol-tcp.so -%{_libdir}/pulseaudio/modules/module-native-protocol-unix.so -%{_libdir}/pulseaudio/modules/module-null-sink.so -%{_libdir}/pulseaudio/modules/module-null-source.so -%{_libdir}/pulseaudio/modules/module-pipe-sink.so -%{_libdir}/pulseaudio/modules/module-pipe-source.so -%{_libdir}/pulseaudio/modules/module-remap-source.so -%{_libdir}/pulseaudio/modules/module-rescue-streams.so -%{_libdir}/pulseaudio/modules/module-role-ducking.so -%{_libdir}/pulseaudio/modules/module-rtp-recv.so -%{_libdir}/pulseaudio/modules/module-rtp-send.so -%{_libdir}/pulseaudio/modules/module-simple-protocol-tcp.so -%{_libdir}/pulseaudio/modules/module-simple-protocol-unix.so -%{_libdir}/pulseaudio/modules/module-sine.so -%{_libdir}/pulseaudio/modules/module-switch-on-port-available.so -%{_libdir}/pulseaudio/modules/module-systemd-login.so -%{_libdir}/pulseaudio/modules/module-tunnel-sink-new.so -%{_libdir}/pulseaudio/modules/module-tunnel-sink.so -%{_libdir}/pulseaudio/modules/module-tunnel-source-new.so -%{_libdir}/pulseaudio/modules/module-tunnel-source.so -%{_libdir}/pulseaudio/modules/module-volume-restore.so -%{_libdir}/pulseaudio/modules/module-suspend-on-idle.so -%{_libdir}/pulseaudio/modules/module-default-device-restore.so -%{_libdir}/pulseaudio/modules/module-device-restore.so -%{_libdir}/pulseaudio/modules/module-stream-restore.so -%{_libdir}/pulseaudio/modules/module-card-restore.so -%{_libdir}/pulseaudio/modules/module-ladspa-sink.so -%{_libdir}/pulseaudio/modules/module-remap-sink.so -%{_libdir}/pulseaudio/modules/module-always-sink.so -%{_libdir}/pulseaudio/modules/module-always-source.so -%{_libdir}/pulseaudio/modules/module-console-kit.so -%{_libdir}/pulseaudio/modules/module-position-event-sounds.so -%{_libdir}/pulseaudio/modules/module-augment-properties.so -%{_libdir}/pulseaudio/modules/module-role-cork.so -%{_libdir}/pulseaudio/modules/module-sine-source.so -%{_libdir}/pulseaudio/modules/module-intended-roles.so -%{_libdir}/pulseaudio/modules/module-rygel-media-server.so -%{_libdir}/pulseaudio/modules/module-echo-cancel.so -%{_libdir}/pulseaudio/modules/module-switch-on-connect.so -%{_libdir}/pulseaudio/modules/module-virtual-sink.so -%{_libdir}/pulseaudio/modules/module-virtual-source.so -%{_libdir}/pulseaudio/modules/module-virtual-surround-sink.so -%dir %{_datadir}/pulseaudio/ -%dir %{_datadir}/pulseaudio/alsa-mixer/ -%{_datadir}/pulseaudio/alsa-mixer/paths/ -%{_datadir}/pulseaudio/alsa-mixer/profile-sets/ -%{_mandir}/man1/pulseaudio.1* +%{_libdir}/%{name}/modules/module-allow-passthrough.so +%{_libdir}/%{name}/modules/module-alsa-sink.so +%{_libdir}/%{name}/modules/module-alsa-source.so +%{_libdir}/%{name}/modules/module-alsa-card.so +%{_libdir}/%{name}/modules/module-always-sink.so +%{_libdir}/%{name}/modules/module-always-source.so +%{_libdir}/%{name}/modules/module-augment-properties.so +%{_libdir}/%{name}/modules/module-cli-protocol-tcp.so +%{_libdir}/%{name}/modules/module-cli-protocol-unix.so +%{_libdir}/%{name}/modules/module-cli.so +%{_libdir}/%{name}/modules/module-combine.so +%{_libdir}/%{name}/modules/module-combine-sink.so +%{_libdir}/%{name}/modules/module-card-restore.so +%{_libdir}/%{name}/modules/module-console-kit.so +%{_libdir}/%{name}/modules/module-dbus-protocol.so +%{_libdir}/%{name}/modules/module-detect.so +%{_libdir}/%{name}/modules/module-default-device-restore.so +%{_libdir}/%{name}/modules/module-device-restore.so +%{_libdir}/%{name}/modules/module-device-manager.so +%{_libdir}/%{name}/modules/module-echo-cancel.so +%{_libdir}/%{name}/modules/module-filter-apply.so +%{_libdir}/%{name}/modules/module-filter-heuristics.so +%{_libdir}/%{name}/modules/module-hal-detect.so +%{_libdir}/%{name}/modules/module-http-protocol-tcp.so +%{_libdir}/%{name}/modules/module-http-protocol-unix.so +%{_libdir}/%{name}/modules/module-intended-roles.so +%{_libdir}/%{name}/modules/module-loopback.so +%{_libdir}/%{name}/modules/module-ladspa-sink.so +%{_libdir}/%{name}/modules/module-match.so +%{_libdir}/%{name}/modules/module-mmkbd-evdev.so +%{_libdir}/%{name}/modules/module-native-protocol-fd.so +%{_libdir}/%{name}/modules/module-native-protocol-tcp.so +%{_libdir}/%{name}/modules/module-native-protocol-unix.so +%{_libdir}/%{name}/modules/module-null-sink.so +%{_libdir}/%{name}/modules/module-null-source.so +%{_libdir}/%{name}/modules/module-pipe-sink.so +%{_libdir}/%{name}/modules/module-pipe-source.so +%{_libdir}/%{name}/modules/module-position-event-sounds.so +%{_libdir}/%{name}/modules/module-remap-source.so +%{_libdir}/%{name}/modules/module-rescue-streams.so +%{_libdir}/%{name}/modules/module-role-ducking.so +%{_libdir}/%{name}/modules/module-role-cork.so +%{_libdir}/%{name}/modules/module-rtp-recv.so +%{_libdir}/%{name}/modules/module-rtp-send.so +%{_libdir}/%{name}/modules/module-rygel-media-server.so +%{_libdir}/%{name}/modules/module-remap-sink.so +%{_libdir}/%{name}/modules/module-simple-protocol-tcp.so +%{_libdir}/%{name}/modules/module-simple-protocol-unix.so +%{_libdir}/%{name}/modules/module-sine.so +%{_libdir}/%{name}/modules/module-sine-source.so +%{_libdir}/%{name}/modules/module-switch-on-port-available.so +%{_libdir}/%{name}/modules/module-switch-on-connect.so +%{_libdir}/%{name}/modules/module-systemd-login.so +%{_libdir}/%{name}/modules/module-stream-restore.so +%{_libdir}/%{name}/modules/module-suspend-on-idle.so +%{_libdir}/%{name}/modules/module-tunnel-sink.so +%{_libdir}/%{name}/modules/module-tunnel-sink-new.so +%{_libdir}/%{name}/modules/module-tunnel-source-new.so +%{_libdir}/%{name}/modules/module-tunnel-source.so +%{_libdir}/%{name}/modules/module-udev-detect.so +%{_libdir}/%{name}/modules/module-volume-restore.so +%{_libdir}/%{name}/modules/module-virtual-sink.so +%{_libdir}/%{name}/modules/module-virtual-source.so +%{_libdir}/%{name}/modules/module-virtual-surround-sink.so +%dir %{_datadir}/%{name}/ +%dir %{_datadir}/%{name}/alsa-mixer/ +%{_datadir}/%{name}/alsa-mixer/paths/ +%{_datadir}/%{name}/alsa-mixer/profile-sets/ +%{_mandir}/man1/%{name}.1* %{_mandir}/man5/default.pa.5* %{_mandir}/man5/pulse-cli-syntax.5* %{_mandir}/man5/pulse-client.conf.5* %{_mandir}/man5/pulse-daemon.conf.5* -%{_prefix}/lib/udev/rules.d/90-pulseaudio.rules +%{_prefix}/lib/udev/rules.d/90-%{name}.rules %dir %{_libexecdir}/pulse %dir %{_datadir}/zsh/ %dir %{_datadir}/zsh/site-functions/ -%{_datadir}/zsh/site-functions/_pulseaudio - -%files qpaeq -%{_bindir}/qpaeq -%{_libdir}/pulseaudio/modules/module-equalizer-sink.so - -%if 0%{?enable_lirc} -%files module-lirc -%{_libdir}/pulseaudio/modules/module-lirc.so -%endif - -%files module-x11 -%config(noreplace) %{_sysconfdir}/xdg/autostart/pulseaudio.desktop -%config(noreplace) %{_sysconfdir}/xdg/Xwayland-session.d/00-pulseaudio-x11 -%{_userunitdir}/pulseaudio-x11.service -#{_bindir}/start-pulseaudio-kde -%{_bindir}/start-pulseaudio-x11 -%{_libdir}/pulseaudio/modules/module-x11-bell.so -%{_libdir}/pulseaudio/modules/module-x11-publish.so -%{_libdir}/pulseaudio/modules/module-x11-xsmp.so -%{_libdir}/pulseaudio/modules/module-x11-cork-request.so -%{_mandir}/man1/start-pulseaudio-x11.1* - -%files module-zeroconf -%{_libdir}/pulseaudio/modules/libavahi-wrap.so -%{_libdir}/pulseaudio/modules/module-zeroconf-publish.so -%{_libdir}/pulseaudio/modules/module-zeroconf-discover.so -%{_libdir}/pulseaudio/modules/libraop.so -%{_libdir}/pulseaudio/modules/module-raop-discover.so -%{_libdir}/pulseaudio/modules/module-raop-sink.so - -%if 0%{?enable_jack} -%files module-jack -%{_libdir}/pulseaudio/modules/module-jackdbus-detect.so -%{_libdir}/pulseaudio/modules/module-jack-sink.so -%{_libdir}/pulseaudio/modules/module-jack-source.so -%endif - -%files module-bluetooth -%{_libdir}/pulseaudio/modules/libbluez*-util.so -%{_libdir}/pulseaudio/modules/module-bluez*-device.so -%{_libdir}/pulseaudio/modules/module-bluez*-discover.so -%{_libdir}/pulseaudio/modules/module-bluetooth-discover.so -%{_libdir}/pulseaudio/modules/module-bluetooth-policy.so - -%files module-gsettings -%{_libdir}/pulseaudio/modules/module-gsettings.so -%{_libexecdir}/pulse/gsettings-helper -%{_datadir}/GConf/gsettings/pulseaudio.convert -%{_datadir}/glib-2.0/schemas/org.freedesktop.pulseaudio.gschema.xml +%{_datadir}/zsh/site-functions/_%{name} %files libs -f %{name}.lang -%doc README %license LICENSE GPL LGPL %dir %{_sysconfdir}/pulse/ %config(noreplace) %{_sysconfdir}/pulse/client.conf %{_libdir}/libpulse.so.0* %{_libdir}/libpulse-simple.so.0* -%dir %{_libdir}/pulseaudio/ -%{_libdir}/pulseaudio/libpulsecommon-%{version}.so +%dir %{_libdir}/%{name}/ +%{_libdir}/%{name}/libpulsecommon-%{version}.so %files libs-glib2 %{_libdir}/libpulse-mainloop-glib.so.0* %files libs-devel -%doc %{_vpath_builddir}/doxygen/html %{_includedir}/pulse/ %{_libdir}/libpulse.so %{_libdir}/libpulse-mainloop-glib.so @@ -481,6 +405,60 @@ systemctl --no-reload preset --global pulseaudio.socket >/dev/null 2>&1 || : %dir %{_libdir}/cmake %{_libdir}/cmake/PulseAudio/ +%if %{with gdm_hooks} +%files gdm-hooks +%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.pulse +%attr(0600, gdm, gdm) %{_localstatedir}/lib/gdm/.pulse/default.pa +%endif + +%files qpaeq +%{_bindir}/qpaeq +%{_libdir}/%{name}/modules/module-equalizer-sink.so + +%files module-bluetooth +%{_libdir}/%{name}/modules/libbluez*-util.so +%{_libdir}/%{name}/modules/module-bluez*-device.so +%{_libdir}/%{name}/modules/module-bluez*-discover.so +%{_libdir}/%{name}/modules/module-bluetooth-discover.so +%{_libdir}/%{name}/modules/module-bluetooth-policy.so + +%files module-gsettings +%{_libdir}/%{name}/modules/module-gsettings.so +%{_libexecdir}/pulse/gsettings-helper +%{_datadir}/GConf/gsettings/%{name}.convert +%{_datadir}/glib-2.0/schemas/org.freedesktop.%{name}.gschema.xml + +%files module-x11 +%config(noreplace) %{_sysconfdir}/xdg/autostart/%{name}.desktop +%config(noreplace) %{_sysconfdir}/xdg/Xwayland-session.d/00-%{name}-x11 +%{_userunitdir}/%{name}-x11.service +%{_bindir}/start-%{name}-x11 +%{_libdir}/%{name}/modules/module-x11-bell.so +%{_libdir}/%{name}/modules/module-x11-publish.so +%{_libdir}/%{name}/modules/module-x11-xsmp.so +%{_libdir}/%{name}/modules/module-x11-cork-request.so +%{_mandir}/man1/start-%{name}-x11.1* + +%files module-zeroconf +%{_libdir}/%{name}/modules/libavahi-wrap.so +%{_libdir}/%{name}/modules/module-zeroconf-publish.so +%{_libdir}/%{name}/modules/module-zeroconf-discover.so +%{_libdir}/%{name}/modules/libraop.so +%{_libdir}/%{name}/modules/module-raop-discover.so +%{_libdir}/%{name}/modules/module-raop-sink.so + +%if 0%{?enable_jack} +%files module-jack +%{_libdir}/%{name}/modules/module-jackdbus-detect.so +%{_libdir}/%{name}/modules/module-jack-sink.so +%{_libdir}/%{name}/modules/module-jack-source.so +%endif + +%if 0%{?enable_lirc} +%files module-lirc +%{_libdir}/%{name}/modules/module-lirc.so +%endif + %files utils %{_bindir}/pacat %{_bindir}/pacmd @@ -509,14 +487,13 @@ systemctl --no-reload preset --global pulseaudio.socket >/dev/null 2>&1 || : %{bash_completionsdir}/parecord %{bash_completionsdir}/pasuspender -%if 0%{?gdm_hooks} -%files gdm-hooks -%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.pulse -%attr(0600, gdm, gdm) %{_localstatedir}/lib/gdm/.pulse/default.pa -%endif - +%files doc +%doc %{_vpath_builddir}/doxygen/html README %changelog +* Wed Apr 12 2023 Jing Zhang - 16.1-2 +- Refact spec + * Mon Dec 12 2022 Funda Wang - 16.1-1 - New version 16.1 -- Gitee