Summary(ru.UTF-8): Утилиты командной строки для ALSA project
Summary(uk.UTF-8): Утиліти командного рядка для ALSA project
Name: alsa-utils
-Version: 1.0.15
-Release: 3
-License: GPL
+Version: 1.2.3
+Release: 1
+# some apps GPL v2, some GPL v2+
+License: GPL v2
Group: Applications/Sound
Source0: ftp://ftp.alsa-project.org/pub/utils/%{name}-%{version}.tar.bz2
-# Source0-md5: 287f46f891581c15018de4f8c0731575
+# Source0-md5: 817b3040279be0daa45345050755f11f
Source1: alsasound.init
+# does anything use this (probably outdated) file? not alsasound.init
Source2: alsa-oss-pcm
-URL: http://www.alsa-project.org/
+Source3: alsactl.conf
Patch0: %{name}-fast_sampling.patch
-BuildRequires: alsa-lib-devel >= 1.0.14
+Patch1: %{name}-modprobe.patch
+URL: http://www.alsa-project.org/
+BuildRequires: alsa-lib-devel >= 1.2.1
BuildRequires: autoconf >= 2.59
BuildRequires: automake
-BuildRequires: flex
-BuildRequires: gettext-devel >= 0.14
+# rst2man
+BuildRequires: docutils
+BuildRequires: fftw3-devel >= 3
+BuildRequires: gettext-tools >= 0.19.8
+BuildRequires: libsamplerate-devel >= 0.1.3
BuildRequires: libtool
-BuildRequires: ncurses-devel
+BuildRequires: ncurses-devel >= 5
+BuildRequires: ncurses-ext-devel >= 5
+BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.268
-Requires: alsa-lib >= 1.0.14
+BuildRequires: systemd-units >= 18
+BuildRequires: xmlto
+Requires: alsa-lib >= 1.2.1
Requires: awk
Requires: dialog
Requires: diffutils
+Requires: systemd-units >= 18
Requires: which
-Suggest: gpm
+Suggests: gpm
+Obsoletes: alsa-udev
Obsoletes: alsaconf
+Obsoletes: udev-alsa
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Requires(post,preun): /sbin/chkconfig
Requires: %{name} = %{version}-%{release}
Requires: rc-scripts
+Requires: systemd-units
Obsoletes: alsa-udev
%description init
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
%{__gettextize}
%{__automake}
CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
CXXFLAGS="%{rpmcxxflags} -fno-rtti -fno-exceptions"
-%configure
+# we need alsactl for udev as early as possible
+%configure \
+ --sbindir=/sbin \
+ --with-systemdsystemunitdir=%{systemdunitdir}
+
%{__make}
%install
install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/alsasound
install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/alsa-oss-pcm
+install -D %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/alsa/alsactl.conf
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/arecord.1
-echo ".so aplay.1" > $RPM_BUILD_ROOT%{_mandir}/man1/arecord.1
+install -d $RPM_BUILD_ROOT/lib/alsa
+mv $RPM_BUILD_ROOT%{_datadir}/alsa/init $RPM_BUILD_ROOT/lib/alsa
+
+ln -s /lib/alsa/init $RPM_BUILD_ROOT%{_datadir}/alsa/init
+install -d $RPM_BUILD_ROOT%{_sbindir}
+ln -s /sbin/alsactl $RPM_BUILD_ROOT%{_sbindir}/alsactl
-touch $RPM_BUILD_ROOT%{_sysconfdir}/asound.conf
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/arecord.1
+echo ".so aplay.1" > $RPM_BUILD_ROOT%{_mandir}/man1/arecord.1
%find_lang alsa-utils --all-name
%clean
rm -rf $RPM_BUILD_ROOT
+%pretrans
+# this needs to be a dir
+if [ -d %{_datadir}/alsa/init -a ! -h %{_datadir}/alsa/init ]; then
+ mv -b %{_datadir}/alsa/init{,.dir}
+%banner -e %{name} <<EOF
+Check %{_datadir}/alsa/init.dir for your own files and remove it when done.
+EOF
+fi
+
%post init
/sbin/chkconfig --add alsasound
%service alsasound restart "ALSA %{version} services"
/sbin/chkconfig --del alsasound
fi
+%triggerpostun -- %{name} < 1.0.24.2-2
+install -d /var/lib/alsa
+if [ -f /etc/asound.state ]; then
+ mv -f /etc/asound.state /var/lib/alsa/asound.state
+fi
+
%files -f alsa-utils.lang
%defattr(644,root,root,755)
-%doc README ChangeLog
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asound.conf
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_sbindir}/*
+%doc ChangeLog README.md TODO
+%attr(755,root,root) /sbin/alsa-info.sh
+%attr(755,root,root) /sbin/alsabat-test.sh
+%attr(755,root,root) /sbin/alsaconf
+%attr(755,root,root) /sbin/alsactl
+%attr(755,root,root) %{_bindir}/aconnect
+%attr(755,root,root) %{_bindir}/alsabat
+%attr(755,root,root) %{_bindir}/alsaloop
+%attr(755,root,root) %{_bindir}/alsamixer
+%attr(755,root,root) %{_bindir}/alsatplg
+%attr(755,root,root) %{_bindir}/alsaucm
+%attr(755,root,root) %{_bindir}/amidi
+%attr(755,root,root) %{_bindir}/amixer
+%attr(755,root,root) %{_bindir}/aplay
+%attr(755,root,root) %{_bindir}/aplaymidi
+%attr(755,root,root) %{_bindir}/arecord
+%attr(755,root,root) %{_bindir}/arecordmidi
+%attr(755,root,root) %{_bindir}/aseqdump
+%attr(755,root,root) %{_bindir}/aseqnet
+%attr(755,root,root) %{_bindir}/axfer
+%attr(755,root,root) %{_bindir}/iecset
+%attr(755,root,root) %{_bindir}/speaker-test
+# symlink
+%attr(755,root,root) %{_sbindir}/alsactl
+%{_sysconfdir}/alsa/alsactl.conf
+/lib/udev/rules.d/90-alsa-restore.rules
+%{systemdunitdir}/alsa-restore.service
+%{systemdunitdir}/sound.target.wants/alsa-restore.service
+%dir /var/lib/alsa
+%dir /lib/alsa
+/lib/alsa/init
+%{_datadir}/alsa/init
%{_datadir}/alsa/speaker-test
%{_datadir}/sounds/alsa
%{_mandir}/man1/aconnect.1*
+%{_mandir}/man1/alsa-info.sh.1*
+%{_mandir}/man1/alsabat.1*
%{_mandir}/man1/alsactl.1*
+%{_mandir}/man1/alsaloop.1*
%{_mandir}/man1/alsamixer.1*
+%{_mandir}/man1/alsatplg.1*
+%{_mandir}/man1/alsaucm.1*
%{_mandir}/man1/amidi.1*
%{_mandir}/man1/amixer.1*
%{_mandir}/man1/aplay.1*
%{_mandir}/man1/aplaymidi.1*
%{_mandir}/man1/arecord.1*
%{_mandir}/man1/arecordmidi.1*
-%{_mandir}/man1/aseqnet.1*
%{_mandir}/man1/aseqdump.1*
+%{_mandir}/man1/aseqnet.1*
+%{_mandir}/man1/axfer.1.*
+%{_mandir}/man1/axfer-list.1.*
+%{_mandir}/man1/axfer-transfer.1.*
%{_mandir}/man1/iecset.1*
%{_mandir}/man1/speaker-test.1*
+%{_mandir}/man7/alsactl_init.7*
%{_mandir}/man8/alsaconf.8*
%lang(fr) %{_mandir}/fr/man8/alsaconf.8*
%files init
%defattr(644,root,root,755)
-%attr(754,root,root) /etc/rc.d/init.d/*
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
+%attr(754,root,root) /etc/rc.d/init.d/alsasound
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/alsa-oss-pcm
+%{systemdunitdir}/alsa-state.service
+%{systemdunitdir}/sound.target.wants/alsa-state.service