Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pulseaudio-equalizer for openSUSE:Factory checked in at 2021-11-09 23:54:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pulseaudio-equalizer (Old) and /work/SRC/openSUSE:Factory/.pulseaudio-equalizer.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pulseaudio-equalizer" Tue Nov 9 23:54:14 2021 rev:7 rq:930212 version:3.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/pulseaudio-equalizer/pulseaudio-equalizer.changes 2018-02-26 23:26:32.955318941 +0100 +++ /work/SRC/openSUSE:Factory/.pulseaudio-equalizer.new.1890/pulseaudio-equalizer.changes 2021-11-09 23:54:27.955948205 +0100 @@ -1,0 +2,21 @@ +Sat Nov 6 19:51:16 UTC 2021 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Update to version 3.0.2: + * No changelog available. +- Drop 0000-add-python3-compat.patch, 0001-pulse-path.patch, + 0002-remove-preamp.patch, 0005-window-icon.patch, + 0003-force-default-persistence-value.patch, + 0004-do-not-crash-on-missing-preset.patch, + 0007-pygobject3-port.patch, 0009-do-not-zero-volume.patch: fixed + upstream. +- Replace 0006-fix-desktop.patch with %suse_update_desktop_file, + the icon change has been done upstream. +- Simplify and rename 0008-fix-locale-issues.patch to + pulseaudio-equalizer-fix-locale-issues.patch: iconv does not + appear to be necessary. +- Add pulseaudio-equalizer-use-pactl.patch: Use pactl instead of + pacmd for compatibility with other PulseAudio daemon + implementations. +- Require pulseaudio-daemon instead of pulseaudio. + +------------------------------------------------------------------- Old: ---- 0000-add-python3-compat.patch 0001-pulse-path.patch 0002-remove-preamp.patch 0003-force-default-persistence-value.patch 0004-do-not-crash-on-missing-preset.patch 0005-window-icon.patch 0006-fix-desktop.patch 0007-pygobject3-port.patch 0008-fix-locale-issues.patch 0009-do-not-zero-volume.patch pulseaudio-equalizer_2.7.0.2.orig.tar.gz New: ---- pulseaudio-equalizer-3.0.2.tar.gz pulseaudio-equalizer-fix-locale-issues.patch pulseaudio-equalizer-use-pactl.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pulseaudio-equalizer.spec ++++++ --- /var/tmp/diff_new_pack.nJypRk/_old 2021-11-09 23:54:28.555948512 +0100 +++ /var/tmp/diff_new_pack.nJypRk/_new 2021-11-09 23:54:28.559948513 +0100 @@ -1,7 +1,7 @@ # # spec file for package pulseaudio-equalizer # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,91 +12,59 @@ # 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/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%define _name pulseaudio-equalizer-ladspa Name: pulseaudio-equalizer -Version: 2.7.0.2 +Version: 3.0.2 Release: 0 Summary: PulseAudio's LADSPA plugin graphical user interface License: GPL-3.0-or-later -Group: Productivity/Multimedia/Sound/Mixers -Url: https://ubuntuforums.org/showthread.php?t=1308838 -Source: https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+files/%{name}_%{version}.orig.tar.gz -# PATCH-FIX-UPSTREAM 0000-add-python3-compat.patch sor.ale...@meowr.ru -- Add Python3 compatibility. -Patch0: 0000-add-python3-compat.patch -# PATCH-FIX-UPSTREAM 0001-pulse-path.patch webu...@gmail.com -- Update path to PulseAudio files to the new one. -Patch1: 0001-pulse-path.patch -# PATCH-FIX-UPSTREAM 0002-remove-preamp.patch -- Remove preamp. -Patch2: 0002-remove-preamp.patch -# PATCH-FIX-UPSTREAM 0003-force-default-persistence-value.patch webu...@gmail.com -- Force default persistence value. -Patch3: 0003-force-default-persistence-value.patch -# PATCH-FIX-UPSTREAM 0004-do-not-crash-on-missing-preset.patch webu...@gmail.com -- Do not crash on missing preset. -Patch4: 0004-do-not-crash-on-missing-preset.patch -# PATCH-FIX-UPSTREAM 0005-window-icon.patch webu...@gmail.com -- Correct way of setting window icon. -Patch5: 0005-window-icon.patch -# PATCH-FIX-UPSTREAM 0006-fix-desktop.patch malcolmle...@opensuse.org -- Fix .desktop file. -Patch6: 0006-fix-desktop.patch -# PATCH-FIX-UPSTREAM 0007-pygobject3-port.patch sor.ale...@meowr.ru -- Port to PyGObject3 and GTK+3. -Patch7: 0007-pygobject3-port.patch -# PATCH-FIX-UPSTREAM 0008-fix-locale-issues.patch sor.ale...@meowr.ru -- Fix issues on non-Latin systems. -Patch8: 0008-fix-locale-issues.patch -# PATCH-FIX-UPSTREAM 0009-do-not-zero-volume.patch sor.ale...@meowr.ru -- Fix volume zeroing on fresh PulseAudio. -Patch9: 0009-do-not-zero-volume.patch +URL: https://github.com/pulseaudio-equalizer-ladspa/equalizer +Source: https://github.com/pulseaudio-equalizer-ladspa/equalizer/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +# PATCH-FIX-OPENSUSE pulseaudio-equalizer-fix-locale-issues.patch sor.ale...@meowr.ru -- Fix issues on non-Latin systems. +Patch0: pulseaudio-equalizer-fix-locale-issues.patch +# PATCH-FIX-OPENSUSE pulseaudio-equalizer-use-pactl.patch sor.ale...@meowr.ru -- Use pactl instead of pacmd. +Patch1: pulseaudio-equalizer-use-pactl.patch BuildRequires: gobject-introspection-devel +BuildRequires: meson +BuildRequires: python3 BuildRequires: update-desktop-files +Requires: bc Requires: ladspa-swh-plugins -Requires: pulseaudio >= 4.0 -Requires: pulseaudio-utils >= 4.0 -Requires: python3 +Requires: pulseaudio-daemon +Requires: pulseaudio-utils Requires: python3-gobject -BuildArch: noarch -%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200 Requires: python3-gobject-Gdk -%endif +BuildArch: noarch %description GUI for PulseAudio's LADSPA interface using Steve Harris' Multiband EQ (mbeq_1197) plugin. %prep -%setup -q -n %{name} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -sed -i '/^#!/s|env python$|python3|' .%{_datadir}/%{name}/%{name}.py +%autosetup -n equalizer-%{version} -p1 %build -# Nothing to build. +%meson -Dpurelib=%{python3_sitelib} +%meson_build %install -mkdir -p %{buildroot}%{_bindir}/ %{buildroot}%{_datadir}/%{name}/presets/ -install -Dpm 0755 .%{_bindir}/%{name}* %{buildroot}%{_bindir}/ -install -Dpm 0755 .%{_datadir}/%{name}/%{name}.py %{buildroot}%{_bindir}/%{name}-gtk -install -Dpm 0644 .%{_datadir}/%{name}/presets/* %{buildroot}%{_datadir}/%{name}/presets/ -install -Dpm 0644 .%{_datadir}/applications/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop - -%suse_update_desktop_file %{name} - -%if 0%{?suse_version} < 1500 -%post -%desktop_database_post - -%postun -%desktop_database_postun -%endif +%meson_install +%py3_compile %{buildroot}%{python3_sitelib}/pulseeq/ +sed -i '/^#!/s|env python3$|python3|' %{buildroot}%{_bindir}/%{name}-gtk + +%suse_update_desktop_file -r com.github.%{_name}.Equalizer AudioVideo Mixer GTK %files -%{_bindir}/%{name}* -%{_datadir}/%{name}/ -%{_datadir}/applications/%{name}.desktop +%license LICENSE +%doc README.md +%{_bindir}/%{name} +%{_bindir}/%{name}-gtk +%{_datadir}/%{_name}/ +%{_datadir}/applications/*%{_name}*.desktop +%{python3_sitelib}/pulseeq/ %changelog ++++++ pulseaudio-equalizer-fix-locale-issues.patch ++++++ --- a/bin/pulseaudio-equalizer.in +++ b/bin/pulseaudio-equalizer.in @@ -21,6 +21,7 @@ PA_CONTROL_MAX='30' PA_PREAMP='1.0' PA_CURRENT_PRESET='' +export LC_MESSAGES=C if [ -z "$XDG_CONFIG_HOME" ]; then CONFIG_DIR="$HOME"/.config/pulse else ++++++ pulseaudio-equalizer-use-pactl.patch ++++++ --- a/bin/pulseaudio-equalizer.in +++ b/bin/pulseaudio-equalizer.in @@ -111,20 +111,20 @@ fi # Get sink names and volumes PA_LADSPA_SINK="ladspa_output.$PA_LADSPA_PLUGIN.$PA_LADSPA_LABEL" -PA_CURRENT_SINK=$(pacmd stat | grep --color=never 'Default sink name' | sed 's/Default sink name: //g') -PA_CURRENT_VOLUME=$(pacmd list | grep --color=never -A20 "<$PA_CURRENT_SINK>" | grep --color=never -m1 'volume: ' | grep --color=never -Po '(\d+)%' | awk 'NR==1{sub(/%/,"",$1); print $1}') +PA_CURRENT_SINK="$(pactl get-default-sink)" +PA_CURRENT_VOLUME="$(pactl get-sink-volume "$PA_CURRENT_SINK" | grep --color=never -Eo '([[:digit:]]+)%' | awk 'NR==1{sub(/%/,"",$1); print $1}')" PA_REAL_VOLUME=$((PA_CURRENT_VOLUME*65536/100)) PA_REAL_PREAMP_FLOAT=$(echo "$PA_PREAMP*65536" | bc) PA_REAL_PREAMP=${PA_REAL_PREAMP_FLOAT/\.*} -PA_CURRENT_MUTE=$(pacmd list-sinks | grep --color=never -A20 "<$PA_CURRENT_SINK>" | grep -m1 'muted: ' | sed 's/[\t]muted: no/0/g' | sed 's/[\t]muted: yes/1/g') +PA_CURRENT_MUTE="$(pactl get-sink-mute "$PA_CURRENT_SINK" | sed -e 's/Mute: no/0/g;s/Mute: yes/1/g')" # Check if equalizer is running and get accurate master sink name if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SINK" ]; then PA_EQUALIZER_STATUS=1 - PA_MASTER_SINK=$(pacmd info | grep --color=never -A30 "<$PA_CURRENT_SINK>" | grep --color=never -m1 'device.master_device = ' | sed 's/device.master_device = //g' | sed 's/"//g' | sed 's/^[ \t]*//') + PA_MASTER_SINK="$(pactl list short modules | grep --color=never "module-ladspa-sink.*sink_name=$PA_CURRENT_SINK" | tr ' ' '\n' | sed '/^sink_master/!d;s/^sink_master=//')" else PA_EQUALIZER_STATUS=0 - PA_MASTER_SINK=$(pacmd stat | grep --color=never 'Default sink name' | sed 's/Default sink name: //g') + PA_MASTER_SINK="$(pactl get-default-sink)" fi # Check if equalizer is set as persistent @@ -365,66 +365,62 @@ if [ "$1" = 'disable' ] || [ "$1" = 'ena echo '-------------------------------------' echo 'Current operation: disabling equalizer' echo '-------------------------------------' - echo -n >/tmp/eqcommands.sh # Unload & reload stream-restore module echo 'Unloading & reloading stream-restore module...' - echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-stream-restore>' | grep ' index: ' | sed 's/ index: //g')" - echo >>/tmp/eqcommands.sh 'load-module module-stream-restore' - - # Unload LADSPA sink module (if it is already loaded) - echo 'Unloading module-ladspa-sink...' - echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-ladspa-sink>' | grep ' index: ' | sed 's/ index: //g')" + pactl unload-module module-stream-restore + pactl load-module module-stream-restore >/dev/null # Move active client sinks to ALSA sink echo "Moving active PulseAudio clients to ALSA sink ($PA_MASTER_SINK)..." - echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | grep 'index: ' | sed 's/ index: /move-sink-input /g' | sed "s/$/ $PA_MASTER_SINK/g")" + pactl list short sink-inputs | awk '{print $1}' | while read -r INPUT; do + pactl move-sink-input "$INPUT" "$PA_MASTER_SINK" + done + + # Unload LADSPA sink module (if it is already loaded) + echo 'Unloading module-ladspa-sink...' + pactl unload-module module-ladspa-sink # Transfer current mute/sink volume to ALSA sink echo "Transferring current mute ($PA_CURRENT_MUTE) & volume ($PA_CURRENT_VOLUME%) to ALSA sink ($PA_MASTER_SINK)..." - echo >>/tmp/eqcommands.sh "set-default-sink $PA_MASTER_SINK" - echo >>/tmp/eqcommands.sh "set-sink-volume $PA_MASTER_SINK $PA_REAL_VOLUME" - echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK $PA_CURRENT_MUTE" - - # Execute all queued commands (for potential speed benefit)... - pacmd </tmp/eqcommands.sh >/dev/null + pactl set-default-sink "$PA_MASTER_SINK" + pactl set-sink-volume "$PA_MASTER_SINK" "$PA_REAL_VOLUME" + pactl set-sink-mute "$PA_MASTER_SINK" "$PA_CURRENT_MUTE" fi if [ "$1" = 'enable' ]; then echo '-------------------------------------' echo 'Current operation: enabling equalizer' echo '-------------------------------------' - echo -n >/tmp/eqcommands.sh # Unload & reload stream-restore module with restore_device option disabled (to ensure that previously cached per-client sinks are not used) echo 'Unloading & reloading stream-restore module...' - echo >>/tmp/eqcommands.sh "unload-module $(pacmd list | grep -B1 -m1 'name: <module-stream-restore>' | grep ' index: ' | sed 's/ index: //g')" - echo >>/tmp/eqcommands.sh 'load-module module-stream-restore restore_device=false' + pactl unload-module module-stream-restore + pactl load-module module-stream-restore restore_device=false >/dev/null # Load LADSPA sink module echo 'Loading module-ladspa-sink...' - echo >>/tmp/eqcommands.sh "load-module module-ladspa-sink sink_name=$PA_LADSPA_SINK master=$PA_MASTER_SINK plugin=$PA_LADSPA_PLUGIN label=$PA_LADSPA_LABEL control=$PA_LADSPA_CONTROLS" + pactl load-module module-ladspa-sink "sink_name=$PA_LADSPA_SINK" "sink_master=$PA_MASTER_SINK" "plugin=$PA_LADSPA_PLUGIN" "label=$PA_LADSPA_LABEL" "control=$PA_LADSPA_CONTROLS" >/dev/null # Transfer current sink mute/volume to LADSPA sink echo "Transferring current mute ($PA_CURRENT_MUTE) & volume ($PA_CURRENT_VOLUME%) to LADSPA sink ($PA_LADSPA_SINK)..." - echo >>/tmp/eqcommands.sh "set-sink-volume $PA_LADSPA_SINK $PA_REAL_VOLUME" - echo >>/tmp/eqcommands.sh "set-sink-mute $PA_LADSPA_SINK $PA_CURRENT_MUTE" + pactl set-sink-volume "$PA_LADSPA_SINK" "$PA_REAL_VOLUME" + pactl set-sink-mute "$PA_LADSPA_SINK" "$PA_CURRENT_MUTE" # Unmute & set preamp level on ALSA sink (as LADSPA sink will act as primary volume control) echo "Setting ALSA sink ($PA_MASTER_SINK) preamp (${PA_PREAMP}x)..." - #echo >>/tmp/eqcommands.sh "set-sink-volume $PA_MASTER_SINK $PA_REAL_PREAMP" - echo >>/tmp/eqcommands.sh "set-sink-mute $PA_MASTER_SINK 0" + #pactl set-sink-volume "$PA_MASTER_SINK" "$PA_REAL_PREAMP" + pactl set-sink-mute "$PA_MASTER_SINK" 0 # Set the LADSPA sink as the default echo "Setting LADSPA sink ($PA_LADSPA_SINK) as default sink..." - echo >>/tmp/eqcommands.sh "set-default-sink $PA_LADSPA_SINK" + pactl set-default-sink "$PA_LADSPA_SINK" # Move currently active client sinks to LADSPA sink echo "Moving active PulseAudio clients to LADSPA sink ($PA_LADSPA_SINK)..." - echo >>/tmp/eqcommands.sh "$(pacmd "list-sink-inputs" | grep 'index: ' | sed 's/ index: /move-sink-input /g' | sed "s/$/ $PA_LADSPA_SINK/g")" - - # Execute all queued commands (for potential speed benefit)... - pacmd </tmp/eqcommands.sh >/dev/null + pactl list short sink-inputs | awk '{print $1}' | while read -r INPUT; do + pactl move-sink-input "$INPUT" "$PA_LADSPA_SINK" + done fi if [ -z "$1" ] || [ "$1" = '' ] || [ "$1" = '-h' ] || [ "$1" = '--help' ]; then @@ -455,7 +451,7 @@ if [ "$1" = 'status' ]; then fi # Refresh current sink status and display equalizer information -PA_CURRENT_SINK="$(pacmd stat | grep "Default sink name" | sed 's/Default sink name: //g')" +PA_CURRENT_SINK="$(pactl get-default-sink)" if [ "$PA_CURRENT_SINK" = "$PA_LADSPA_SINK" ]; then echo '-------------------------------------' echo 'Equalizer status: [enabled]'