%define fullgit 2747c961015ba00ec9a1cad8a8a95b4a34db9ee0 %define git 0 %define rel 15.1 %define bootstrap 1 %if %{git} %define release %mkrel -c %{git} %{rel} %else %define release %mkrel %{rel} %endif %define bootstrap 0 %{?_without_bootstrap: %global bootstrap 0} %{?_with_bootstrap: %global bootstrap 1} # (cg) Lennart has introduced a circular dependancy in the libraries # libpulse requires libpulsecommon but libpulsecommon requires libpulse. # This breaks no-undefined. # Further issues in some test apps (maybe more) require that disabling # as-needed is also required. %define _disable_ld_no_undefined 1 %global __requires_exclude devel\\(libpulsecommon # Majors %define major 0 %define glib2major 0 %define apiver 16.1 # Library names %define libname %mklibname %{name} %{major} %define libname_devel %mklibname %{name} -d %define glib2libname %mklibname pulseglib2 %{glib2major} # API libs (not real shared libs - mostly private but needed by other libs and server) %define corelibname %mklibname pulsecore %{apiver} %define commonlibname %mklibname pulsecommon %{apiver} Summary: Sound server for Linux Name: pulseaudio Version: 16.1 Release: %{release} # Airtunes links to OpenSSL which is BSD-like and should be reflected here License: LGPL and BSD-like Group: Sound/Mixers Url: https://pulseaudio.org/ %if %{git} Source0: %{name}-%{version}-%{fullgit}.tar.xz %else Source0: https://freedesktop.org/software/pulseaudio/releases/%{name}-%{version}.tar.xz %endif Source1: %{name}.sysconfig Source2: %{name}.xinit Source4: %{name}.svg # (cg) Using git to manage patches # To recreate the structure # git clone git://git.0pointer.de/pulseaudio # git checkout v1.0 # git checkout -b mdv-1.x-cherry-picks # git am 00*.patch # git checkout -b mga-1.x-patches # git am 05*.patch # To apply new custom patches # git checkout mga-1.x-patches # (do stuff) # To apply new cherry-picks # git checkout mdv-1.x-cherry-picks # git cherry-pick # git checkout mga-1.x-patches # git rebase mdv-1.x-cherry-picks # Stable Branch Patches # git format-patch --start-number 100 v1.0..stable-1.x ## upstream patches Patch0100: 0100-fix-translation-error-of-pulseaudio.patch Patch0101: 0101-alsa-mixer-avoid-assertion-at-alsa-lib-mixer-API-whe.patch Patch0102: 0102-alsa-mixer-allow-to-re-attach-the-mixer-control-elem.patch Patch0103: 0103-idxset-Add-set-contains-function.patch Patch0104: 0104-idxset-Add-set-comparison-operations.patch Patch0105: 0105-idxset-Add-reverse-iteration-functions.patch Patch0106: 0106-alsa-ucm-Always-create-device-conflicting-supported-.patch Patch0107: 0107-alsa-ucm-Make-modifiers-track-conflicting-supported-.patch Patch0108: 0108-alsa-ucm-Add-enable-disable-status-helpers-for-devic.patch Patch0109: 0109-alsa-ucm-Set-profiles-by-their-struct-instance-not-t.patch Patch0110: 0110-alsa-ucm-Let-profiles-know-their-associated-UCM-verb.patch Patch0111: 0111-alsa-ucm-Stop-conflating-profile-name-with-UCM-verb-.patch Patch0112: 0112-alsa-ucm-Make-mapping-creation-independent-from-indv.patch Patch0113: 0113-alsa-ucm-Split-profile-creation-into-verb-and-profil.patch Patch0114: 0114-alsa-ucm-Rewrite-conformant-device-group-generation-.patch Patch0115: 0115-alsa-ucm-Fix-device-conformance-check.patch Patch0116: 0116-alsa-ucm-Split-out-helpers-for-device-set-name-descr.patch Patch0117: 0117-alsa-ucm-Make-one-input-output-mapping-per-UCM-devic.patch Patch0118: 0118-alsa-ucm-Remove-combination-port-generation-logic.patch Patch0119: 0119-alsa-ucm-Make-ports-store-only-one-device.patch Patch0120: 0120-alsa-ucm-Make-mapping-UCM-contexts-have-only-one-dev.patch Patch0121: 0121-alsa-ucm-Make-mapping-UCM-contexts-have-only-one-mod.patch Patch0122: 0122-alsa-ucm-Disable-old-devices-when-switching-profiles.patch Patch0123: 0123-alsa-ucm-Create-multiple-profiles-per-verb-for-confl.patch Patch0124: 0124-alsa-ucm-remove-extra-space-from-the-device.intended.patch Patch0125: 0125-alsa-mixer-fix-the-re-attach-code-for-the-mixer-cont.patch Patch0126: 0126-alsa-mixer-extend-pa_alsa_mixer_find-with-the-subdev.patch Patch0127: 0127-build-sys-Fix-atomic-support-detection.patch Patch0128: 0128-build-sys-Add-missing-libatomic_ops-dependencies.patch Patch0129: 0129-build-sys-meson-Move-qpaeq-to-daemon-build.patch Patch0130: 0130-module-combine-sink-Use-fabs-instead-of-abs-for-doub.patch Patch0131: 0131-module-combine-sink-Fix-indentation.patch Patch0132: 0132-module-tunnel-Fix-typos.patch Patch0133: 0133-volume-Fix-typo.patch Patch0134: 0134-raop-client-Fix-typo.patch Patch0141: 0141-shell-completion-add-new-subcommand-get-for-bash.patch Patch0142: 0142-shell-completion-add-new-subcommand-get-for-zsh.patch Patch0143: 0143-meson-fix-meson-warnings.patch Patch0144: 0144-bluez5-util-move-pa_bluetooth_discovery-to-header.patch Patch0145: 0145-bluetooth-add-AT-BIA-support.patch Patch0146: 0146-bluetooth-add-UPower-backend.patch Patch0147: 0147-bluetooth-hook-up-UPower-backend.patch Patch0148: 0148-meson.build-fix-build-without-C.patch Patch0149: 0149-Make-gio-2.0-optional-when-gsettings-is-disabled.patch Patch0150: 0150-backend-native-Fix-indentation-and-whitespace-style.patch Patch0151: 0151-backend-native-Add-backend-pointer-to-transport_data.patch Patch0152: 0152-Revert-bluez5-util-move-pa_bluetooth_discovery-to-he.patch Patch0153: 0153-backend-native-Update-all-CIND-indicators.patch Patch0154: 0154-backend-native-Remove-uninformative-Profile-unavaila.patch Patch0155: 0155-time-smoother-2-Fix-stream-time-when-stream-starts-p.patch Patch0156: 0156-meson-use-proper-type-for-bools.patch Patch0157: 0157-pactl-SUBSCRIBE-add-a-newline-after-every-json-messa.patch Patch0158: 0158-bluetooth-Free-memblock-after-codec-errors.patch Patch0159: 0159-bluetooth-Do-not-use-hardware-volume-control-for-A2D.patch Patch0160: 0160-bluetooth-Add-faststream-codec.patch Patch0161: 0161-bluetooth-Use-stereo-sample-spec-for-faststream-back.patch Patch0162: 0162-bluetooth-Handle-fragmented-faststream-frames.patch Patch0163: 0163-bluetooth-Add-20dB-boost-for-faststream-source-volum.patch Patch0164: 0164-Propagate-return-value-from-pa_pstream_attach_memfd_.patch Patch0165: 0165-sndfile-handle-sndfiles-with-s24-format.patch Patch0166: 0166-Ensure-fds-are-closed-when-exec-functions-are-used.patch Patch0167: 0167-backend-native-Fix-stack-corruption-reading-RFCOMM-A.patch Patch0168: 0168-module-combine-sink-Do-not-set-up-rate-adjustment-ti.patch Patch0169: 0169-module-combine-sink-Suspend-while-unloading-to-fix-c.patch Patch0170: 0170-pactl-Stop-a-crash-when-setting-the-volume-which-is-.patch Patch0172: 0172-proplist-util-Don-t-assume-gdkx-is-there-as-gtk-coul.patch Patch0173: 0173-pulsecore-Set-errno-before-calling-read.patch Patch0174: 0174-time-smoother-2-Fix-time-calculation-by-comparing-ti.patch Patch0175: 0175-backend-native-Fix-parsing-comma-delimited-response.patch Patch0176: 0176-stream-interaction-Extend-trigger-groups-to-module-r.patch Patch0177: 0177-stream-interaction-Fix-regression-when-a-trigger-rol.patch Patch0178: 0178-rtp-send-Use-getaddrinfo-to-improve-support-for-ipv6.patch Patch0179: 0179-alsa-util-Dump-probed-rates.patch Patch0180: 0180-alsa-util-Add-more-standard-sample-rates.patch Patch0181: 0181-bluetooth-Amend-writeout-to-send-more-initial-frames.patch Patch0182: 0182-tunnel-sink-new-Fix-hang-when-used-in-combination-wi.patch Patch0183: 0183-resampler-Fix-oversized-memblock-pushed-from-resampl.patch Patch0184: 0184-rtp-send-Use-getaddrinfo-to-improve-support-for-ipv6.patch Patch0185: 0185-rtp-recv-Use-getaddrinfo-to-improve-support-for-ipv6.patch Patch0186: 0186-bluetooth-Do-not-attempt-decoding-too-short-faststre.patch Patch0187: 0187-pstream-Pass-frame-size-to-keep-split-memblock-parts.patch Patch0188: 0188-alsa-profiles-import-Asus-Xonar-SE-profile-from-pipe.patch Patch0189: 0189-alsa-profiles-rename-mappings-for-Xonar-SE.patch Patch0190: 0190-alsa-util-Perform-format-and-rate-detection-before-s.patch Patch0191: 0191-alsa-util-Fix-pa_alsa_get_supported_formats-fallback.patch Patch0192: 0192-memblockq-Drop-check-for-chunk-index-alignment-requi.patch #Patch0193: 0193-meson-Add-DEF-file-to-export-APIs-in-Windows.patch Patch0194: 0194-switch-on-connect-Do-not-overwrite-user-configured-d.patch Patch0195: 0195-alsa-ucm-Add-enable-disable-status-helpers-for-modif.patch Patch0196: 0196-alsa-ucm-Disable-old-modifiers-when-switching-profil.patch Patch0197: 0197-alsa-ucm-Consider-devices-using-the-same-PCM-as-inco.patch Patch0198: 0198-alsa-ucm-Fix-more-instances-of-profile-verb-conflati.patch Patch0199: 0199-alsa-ucm-Fix-spurious-mixer-path-removal-on-initial-.patch Patch0200: 0200-echo-cancel-Fix-macOS-build.patch Patch0201: 0201-pactl-pacmd-Allow-to-unset-the-configured-default-si.patch Patch0202: 0202-ci-Update-to-freedesktop-ci-templates.patch Patch0203: 0203-ci-Use-built-in-distribution-image-name-mechanism.patch #Patch0204: 0204-daemon-meson.build-Install-dbus-policy-in-usr-not-et.patch Patch0205: 0205-echo-cancel-test-Drop-references-to-internal-message.patch Patch0206: 0206-echo-cancel-add-webrtc-AEC3-support.patch Patch0207: 0207-build-sys-Bump-webrtc-audio-processing-dependency.patch Patch0208: 0208-shm-use-MFD_NOEXEC_SEAL-for-shared-memory.patch Patch0209: 0209-alsa-mixer-Respect-XDG-base-directory-spec-when-load.patch Patch0210: 0210-build-sys-Bump-.so-version-16.99.1.patch Patch0236: 0236-Added-translation-using-Weblate-Basque.patch Patch0237: 0237-Translated-using-Weblate-Basque.patch Patch0243: 0243-shm-allow-for-older-versions-of-Linux-without-MFD_NO.patch Patch0244: 0244-build-sys-Bump-cpp_std-to-c-17.patch Patch0245: 0245-build-sys-Add-a-webrtc-audio-processing-wrap-file.patch Patch0246: 0246-ci-Force-build-of-webrtc-aec.patch Patch0247: 0247-ci-Add-doxygen-to-build-image.patch Patch0248: 0248-ci-Drop-werror-in-build.patch Patch0249: 0249-build-sys-Bump-webrtc-audio-processing-wrap-to-1.2.patch Patch0250: 0250-build-sys-Bump-webrtc-audio-processing-wrap-to-1.3.patch Patch0251: 0251-shell-completion-Fix-typo-in-use-pid-file-suggestion.patch Patch0252: 0252-memblockq-Adjust-tail-chunk-offset-into-memblock-aft.patch Patch0253: 0253-Fix-crash-running-in-restricted-environment.patch Patch0254: 0254-backend-native-Handle-multi-AT-commands-in-a-buffer.patch #Patch0255: 0255-Update-NEWS-for-17.0.patch Patch0256: 0256-alsa-ucm-Check-UCM-verb-before-working-with-device-s.patch Patch0257: 0257-alsa-ucm-Replace-port-device-UCM-context-assertion-w.patch Patch0258: 0258-tests-remove-check2-timeouts-in-favor-of-meson.patch # Mageia Patches # git format-patch --start-number 500 table-1.x..mga-1.x-patches Patch500: 0500-Some-customisations-to-esdcompat-in-order-to-adhere-.patch Patch501: 0501-launch-Customise-systemd-socket-for-Mageia-sound-pro.patch # from ubuntu (https://git.launchpad.net/~ubuntu-audio-dev/pulseaudio) Patch0600: 0001-volume-config-changes.patch Patch0601: 0030-load-module-switch-on-connect.patch BuildRequires: meson >= 0.50.0 BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libcap) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(soxr) BuildRequires: pkgconfig(speexdsp) >= 1.2 BuildRequires: libwrap-devel BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-util) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(bash-completion) BuildRequires: pkgconfig(libudev) #gw libtool dep: BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: doxygen BuildRequires: automake BuildRequires: libltdl-devel BuildRequires: pkgconfig(atomic_ops) BuildRequires: gettext-devel BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(liblircclient0) %if !%bootstrap BuildRequires: pkgconfig(bluez) %endif BuildRequires: pkgconfig(tdb) BuildRequires: pkgconfig(samplerate) BuildRequires: pkgconfig(speex) # (cg) Needed for airtunes BuildRequires: pkgconfig(libssl) >= 1.0 BuildRequires: pkgconfig(polkit-agent-1) BuildRequires: pkgconfig(libasyncns) BuildRequires: intltool BuildRequires: imagemagick BuildRequires: pkgconfig(json-c) BuildRequires: pkgconfig(orc-0.4) BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(webrtc-audio-processing-1) BuildRequires: pkgconfig(sbc) 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 Provides: polypaudio Requires: rtkit Requires(post): ccp # Virtual Provides to support swapping between PipeWire-PA and PA Provides: pulseaudio-daemon Conflicts: pulseaudio-daemon # Packages removed in 15.0 Obsoletes: pulseaudio-module-gconf < 15.0 %description PulseAudio is a sound server for Linux and other Unix like operating systems. PulseAudio makes possible to: * transfer audio to a different machine * change the sample format or channel count and mixing several sounds into one * combine multiple sound cards to one (with sample rate adjustment) * simple command line interface for reconfiguring the daemon while running PulseAudio provides: * better low latency behaviour * support for more than one sink/source * an extensible plugin architecture (by loading dynamic loadable modules with dlopen()) * a completely asynchronous C API * flexible, implicit sample type conversion and resampling * "zero-copy" architecture * module autoloading * very accurate latency measurement for playback and recording. * client side latency interpolation * C library to enable embedding into other software %post ccp -i -d --set NoOrphans --oldfile %{_sysconfdir}/pulse/daemon.conf --newfile %{_sysconfdir}/pulse/daemon.conf.rpmnew # (cg) For upgrade between 1.x -> 2.x if grep -q module-cork-music-on-phone %{_sysconfdir}/pulse/default.pa; then sed -i 's/module-cork-music-on-phone/module-role-cork/' %{_sysconfdir}/pulse/default.pa fi %package -n %{libname} Summary: Libraries for PulseAudio clients Group: System/Libraries License: LGPLv2+ Requires: %{name}-client-config Recommends: %{mklibname alsa-plugins}-pulseaudio %ifarch x86_64 # (cg) Suggest the 32 bit library on 64 bits to ensure compatibility # with (typically closed source) 32 bit apps. Recommends: lib%{name}%{major} %endif %description -n %{libname} This package contains the runtime libraries for any application that wishes to interface with a PulseAudio sound server. %package -n %{corelibname} Summary: Core Library for PulseAudio Group: System/Libraries %description -n %{corelibname} This package contains a library needed by the PulseAudio sound server and modules. %package -n %{commonlibname} Summary: Common Library for PulseAudio Group: System/Libraries %description -n %{commonlibname} This package contains a library needed by the PulseAudio sound server, modules and clients. %define alt_name soundprofile %define alt_priority 20 %package client-config Summary: Client configuration for PulseAudio clients Group: System/Libraries # (eatdirt) Otherwise may trigger bug 2966 %if %bootstrap Recommends: alsa-plugins-pulse-config %else Recommends: alsa-plugins-pulse-config %endif Requires(post): ccp Requires(post): update-alternatives Requires(postun): update-alternatives %description client-config This package contains the client configuration files for any application that wishes to interface with a PulseAudio sound server. %post client-config %{_sbindir}/update-alternatives \ --install %{_sysconfdir}/sound/profiles/current %{alt_name} %{_sysconfdir}/sound/profiles/pulse %{alt_priority} ccp -i -d --set NoOrphans --oldfile %{_sysconfdir}/pulse/client.conf --newfile %{_sysconfdir}/pulse/client.conf.rpmnew %postun client-config if [ ! -f %{_sysconfdir}/sound/profiles/pulse/profile.conf ]; then /usr/sbin/update-alternatives --remove %{alt_name} %{_sysconfdir}/sound/profiles/pulse fi %package -n %{glib2libname} Summary: GLIB 2.x bindings for PulseAudio clients Group: System/Libraries %description -n %{glib2libname} This package contains bindings to integrate the PulseAudio client library with a GLIB 2.x based application. %package -n %{libname_devel} Summary: Headers and libraries for PulseAudio client development Group: Development/C Requires: %{libname} = %{version}-%{release} Requires: %{glib2libname} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{libname_devel} Headers and libraries for developing applications that can communicate with a PulseAudio sound server. %package module-lirc Summary: LIRC support for the PulseAudio sound server Group: Sound/Mixers Requires: %{name} = %{version}-%{release} %description module-lirc LIRC volume control module for the PulseAudio sound server. %if !%bootstrap %package module-bluetooth Summary: Bluetooth support for the PulseAudio sound server Group: Sound/Mixers Requires: %{name} = %{version}-%{release} %description module-bluetooth Bluetooth modules for the PulseAudio sound server to provide support for headsets and proximity detection. %endif %package module-x11 Summary: X11 support for the PulseAudio sound server Group: Sound/Mixers Requires: %{name} = %{version}-%{release} Requires: %{name}-utils = %{version}-%{release} %description module-x11 X11 bell and security modules for the PulseAudio sound server. %package module-zeroconf Summary: Zeroconf support for the PulseAudio sound server Group: Sound/Mixers Requires: %{name} = %{version}-%{release} %description module-zeroconf Zeroconf publishing module for the PulseAudio sound server. %package module-jack Summary: JACK support for the PulseAudio sound server Group: Sound/Mixers Requires: %{name} = %{version}-%{release} %description module-jack JACK sink and source modules for the PulseAudio sound server. %package module-gsettings Summary: Gsettings support for the PulseAudio sound server Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: %{name}-module-gconf < %{version}-%{release} %description module-gsettings GSettings configuration backend for the PulseAudio sound server. %package module-equalizer Summary: Equalizer support for the PulseAudio sound server Group: Sound/Mixers Requires: %{name} = %{version}-%{release} Requires: python3-qt5-core Requires: python3-qt5-gui Requires: python3-qt5-widgets Requires: python3-dbus %description module-equalizer Equalizer support and GUI for the PulseAudio sound server. %package utils Summary: PulseAudio sound server utilities Group: Sound/Utilities %description utils This package contains command line utilities for the PulseAudio sound server. %prep %if %{git} %setup -q -n %{name}-%{version}-%{fullgit} %else %setup -q %endif %autopatch -p1 # python shebangs %py3_shebang_fix ./src/utils/qpaeq # update doxygen.conf doxygen -u doxygen/doxygen.conf.in %build %meson \ -D system_user=pulse \ -D system_group=pulse \ -D access_group=pulse-access \ -D oss-output=disabled \ -D jack=enabled \ -D lirc=enabled \ -D tcpwrap=disabled \ -D bluez5=enabled \ -D gstreamer=enabled \ -D bluez5-gstreamer=enabled \ -D gsettings=enabled \ -D elogind=disabled \ -D valgrind=disabled \ -D gtk=disabled \ -D soxr=enabled \ -D webrtc-aec=enabled \ -D systemd=enabled \ -D tests=false %meson_build %meson_build doxygen %install export QA_RPATHS=0x0001 %meson_install install -D -m 0644 %{_sourcedir}/%{name}.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/%{name} install -D -m 0755 %{_sourcedir}/%{name}.xinit %{buildroot}%{_sysconfdir}/X11/xinit.d/50%{name} install -D -m 0644 %{_sourcedir}/%{name}.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/devices ln -s ../apps/%{name}.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/devices/audio-backend-pulseaudio.svg for size in 16 22 32 48 64 128; do mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/{apps,devices} convert -geometry ${size}x${size} %{_sourcedir}/%{name}.svg %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/%{name}.png ln -s ../apps/%{name}.png %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/devices/audio-backend-pulseaudio.png done # Remove static and metalink libraries find %{buildroot} \( -name *.a -o -name *.la \) -exec rm {} \; # (cg) For sound profile support mkdir -p %{buildroot}%{_sysconfdir}/sound/profiles/pulse echo "SOUNDPROFILE=pulse" >%{buildroot}%{_sysconfdir}/sound/profiles/pulse/profile.conf # (cg) Use this file as a trigger for enabling the pulseaudio.socket systemd user unit touch %{buildroot}%{_sysconfdir}/sound/profiles/pulse/pulse # (cg) HAL support is no longer the default, and we don't officially support system wide, so # System Wide + HAL is pretty unlikely. rm -f %{buildroot}%{_sysconfdir}/dbus-1/system.d/%{name}-system.conf # (cg) We require systemd now, so no point in using CK rm -f %{buildroot}%{_libdir}/pulseaudio/modules/module-console-kit.so # (cg) Disable x11-cork-request... it should be ahndled in the apps as we cannot # maintain state via this mechanism. Should be a patch, but I'm lazy. sed -i 's,\(/usr/bin/pactl load-module module-x11-cork-request\),#\1,' %{buildroot}%{_bindir}/start-pulseaudio-x11 install -d -m 0755 %{buildroot}%{_userunitdir}/sockets.target.wants ln -s ../%{name}.socket %{buildroot}%{_userunitdir}/sockets.target.wants/ %find_lang %{name} %files -f %{name}.lang %doc README %license LICENSE GPL LGPL %dir %{_sysconfdir}/pulse %config(noreplace) %{_sysconfdir}/pulse/daemon.conf %config(noreplace) %{_sysconfdir}/pulse/default.pa %config(noreplace) %{_sysconfdir}/pulse/system.pa %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %{_bindir}/%{name} %{_mandir}/man1/%{name}.1.* %{_mandir}/man5/pulse-client.conf.5.* %{_mandir}/man5/pulse-daemon.conf.5.* %{_mandir}/man5/default.pa.5.* %{_mandir}/man5/pulse-cli-syntax.5.* %{_datadir}/icons/hicolor/*/*/* %{_userunitdir}/%{name}.service %{_userunitdir}/%{name}.socket %{_userunitdir}/sockets.target.wants/%{name}.socket %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/alsa-mixer /lib/udev/rules.d/90-pulseaudio.rules %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/libraop.so %{_libdir}/pulseaudio/modules/librtp.so %{_libdir}/pulseaudio/modules/libwebrtc-util.so %{_libdir}/pulseaudio/modules/module-allow-passthrough.so %{_libdir}/pulseaudio/modules/module-alsa-card.so %{_libdir}/pulseaudio/modules/module-alsa-sink.so %{_libdir}/pulseaudio/modules/module-alsa-source.so %{_libdir}/pulseaudio/modules/module-always-sink.so %{_libdir}/pulseaudio/modules/module-always-source.so %{_libdir}/pulseaudio/modules/module-augment-properties.so %{_libdir}/pulseaudio/modules/module-card-restore.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-role-cork.so %{_libdir}/pulseaudio/modules/module-systemd-login.so %{_libdir}/pulseaudio/modules/module-dbus-protocol.so %{_libdir}/pulseaudio/modules/module-detect.so %{_libdir}/pulseaudio/modules/module-device-manager.so %{_libdir}/pulseaudio/modules/module-device-restore.so %{_libdir}/pulseaudio/modules/module-echo-cancel.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-intended-roles.so %{_libdir}/pulseaudio/modules/module-loopback.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-raop-sink.so %{_libdir}/pulseaudio/modules/module-rygel-media-server.so %{_libdir}/pulseaudio/modules/module-position-event-sounds.so %{_libdir}/pulseaudio/modules/module-rescue-streams.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-sine-source.so %{_libdir}/pulseaudio/modules/module-tunnel-sink.so %{_libdir}/pulseaudio/modules/module-tunnel-source.so %{_libdir}/pulseaudio/modules/module-tunnel-sink-new.so %{_libdir}/pulseaudio/modules/module-tunnel-source-new.so %{_libdir}/pulseaudio/modules/module-udev-detect.so %{_libdir}/pulseaudio/modules/module-volume-restore.so %{_libdir}/pulseaudio/modules/module-virtual-sink.so %{_libdir}/pulseaudio/modules/module-virtual-source.so %{_libdir}/pulseaudio/modules/module-stream-restore.so %{_libdir}/pulseaudio/modules/module-suspend-on-idle.so %{_libdir}/pulseaudio/modules/module-default-device-restore.so %{_libdir}/pulseaudio/modules/module-ladspa-sink.so %{_libdir}/pulseaudio/modules/module-remap-sink.so %{_libdir}/pulseaudio/modules/module-remap-source.so %{_libdir}/pulseaudio/modules/module-switch-on-connect.so %{_libdir}/pulseaudio/modules/module-filter-apply.so %{_libdir}/pulseaudio/modules/module-filter-heuristics.so %{_libdir}/pulseaudio/modules/module-virtual-surround-sink.so %{_libdir}/pulseaudio/modules/module-switch-on-port-available.so %{_libdir}/pulseaudio/modules/module-role-ducking.so %files -n %{libname} %{_libdir}/libpulse.so.%{major}{,.*} %{_libdir}/libpulse-simple.so.%{major}{,.*} %dir %{_libdir}/%{name} %files -n %{corelibname} %dir %{_libdir}/%{name} %{_libdir}/%{name}/libpulsecore-%{apiver}.so %files -n %{commonlibname} %dir %{_libdir}/%{name} %{_libdir}/%{name}/libpulsecommon-%{apiver}.so %files client-config %dir %{_sysconfdir}/pulse %config(noreplace) %{_sysconfdir}/pulse/client.conf %dir %{_sysconfdir}/sound/profiles/pulse %{_sysconfdir}/sound/profiles/pulse/profile.conf %{_sysconfdir}/sound/profiles/pulse/pulse %files -n %{glib2libname} %{_libdir}/libpulse-mainloop-glib.so.%{glib2major}{,.*} %files -n %{libname_devel} %{_libdir}/libpulse.so %{_libdir}/libpulse-mainloop-glib.so %{_libdir}/libpulse-simple.so %dir %{_includedir}/pulse %{_includedir}/pulse/*.h %{_libdir}/pkgconfig/*.pc %{_libdir}/cmake/PulseAudio %{_datadir}/vala/vapi/libpulse.deps %{_datadir}/vala/vapi/libpulse.vapi %{_datadir}/vala/vapi/libpulse-mainloop-glib.deps %{_datadir}/vala/vapi/libpulse-mainloop-glib.vapi %{_datadir}/vala/vapi/libpulse-simple.deps %{_datadir}/vala/vapi/libpulse-simple.vapi %if !%bootstrap %files module-bluetooth %{_libdir}/pulseaudio/modules/libbluez5-util.so %{_libdir}/pulseaudio/modules/module-bluetooth-discover.so %{_libdir}/pulseaudio/modules/module-bluetooth-policy.so %{_libdir}/pulseaudio/modules/module-bluez5-device.so %{_libdir}/pulseaudio/modules/module-bluez5-discover.so %endif %files module-lirc %{_libdir}/pulseaudio/modules/module-lirc.so %files module-x11 %{_sysconfdir}/X11/xinit.d/50%{name} %{_bindir}/pax11publish %config(noreplace) %{_sysconfdir}/xdg/Xwayland-session.d/00-pulseaudio-x11 %{_userunitdir}/pulseaudio-x11.service %{_bindir}/start-pulseaudio-x11 %{_mandir}/man1/pax11publish.1.* %{_mandir}/man1/start-pulseaudio-x11.1.* %{_libdir}/pulseaudio/modules/module-x11-bell.so %{_libdir}/pulseaudio/modules/module-x11-cork-request.so %{_libdir}/pulseaudio/modules/module-x11-publish.so %{_libdir}/pulseaudio/modules/module-x11-xsmp.so %{_sysconfdir}/xdg/autostart/pulseaudio.desktop %files module-zeroconf %{_libdir}/pulseaudio/modules/libavahi-wrap.so %{_libdir}/pulseaudio/modules/module-zeroconf-discover.so %{_libdir}/pulseaudio/modules/module-zeroconf-publish.so %{_libdir}/pulseaudio/modules/module-raop-discover.so %files module-jack %{_libdir}/pulseaudio/modules/module-jack-sink.so %{_libdir}/pulseaudio/modules/module-jack-source.so %{_libdir}/pulseaudio/modules/module-jackdbus-detect.so %if %{with gconf} %files module-gconf %{_libdir}/pulseaudio/modules/module-gconf.so %dir %{_libexecdir}/pulse/ %{_libexecdir}/pulse/gconf-helper %endif %files module-gsettings %{_libdir}/pulseaudio/modules/module-gsettings.so %dir %{_libexecdir}/pulse/ %{_libexecdir}/pulse/gsettings-helper %{_datadir}/GConf/gsettings/pulseaudio.convert %{_datadir}/glib-2.0/schemas/org.freedesktop.pulseaudio.gschema.xml %files module-equalizer %{_bindir}/qpaeq %{_libdir}/pulseaudio/modules/module-equalizer-sink.so %files utils %{_datadir}/bash-completion/completions/* %{_datadir}/zsh/site-functions/_pulseaudio %{_bindir}/pacat %{_bindir}/pacmd %{_bindir}/pactl %{_bindir}/pamon %{_bindir}/paplay %{_bindir}/parec %{_bindir}/parecord %{_bindir}/pasuspender %{_bindir}/pa-info %{_mandir}/man1/pacat.1.* %{_mandir}/man1/pacmd.1.* %{_mandir}/man1/pactl.1.* %{_mandir}/man1/pamon.1.* %{_mandir}/man1/paplay.1.* %{_mandir}/man1/parec.1.* %{_mandir}/man1/parecord.1.* %{_mandir}/man1/pasuspender.1.*