alsa/alsa.spec

265 lines
7.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package alsa (Version 1.0.21)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# 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/
#
# norootforbuild
Name: alsa
BuildRequires: doxygen
%define package_version 1.0.21
License: GPL v2 or later
Group: System/Libraries
Requires: alsa-utils
Recommends: alsa-plugins alsa-oss
PreReq: %insserv_prereq %fillup_prereq
AutoReqProv: on
# bug437293
%ifarch ppc64
Obsoletes: alsa-64bit
%endif
#
Summary: Advanced Linux Sound Architecture
Version: 1.0.21
Release: 4
Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2
Source8: 40-alsa.rules
Source11: alsasound
Source12: sysconfig.sound
Source13: joystick
Source14: sysconfig.joystick
Source16: set_default_volume
Source17: test.wav
Source20: README.SuSE
Source21: README.testwav
Source30: all_notes_off
Source31: all_notes_off.bin
Source32: all_notes_off.mid
Source33: alsa-info.sh
Source34: alsa-init.sh
Patch: alsa-lib-git-fixes.diff
Patch1: alsa-lib-fix-pcm-hw-delay.diff
Patch2: alsa-lib-dmix-snd_pcm_info-fix.diff
Patch3: alsa-lib-hcontrol-fix-compare-default.diff
Patch4: alsa-lib-fix-namehint-corruption.diff
Url: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
ALSA stands for Advanced Linux Sound Architecture. It supports many
PCI, ISA PnP and USB sound cards.
This package contains the ALSA init scripts to start the sound system
on your Linux box. To set it up, run yast2 or alsaconf.
Authors:
--------
Jaroslav Kysela <perex@perex.cz>
Takashi Iwai <tiwai@suse.de>
%package devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
License: LGPL v2.1 or later
Requires: glibc-devel, libasound2 = %{version}
Obsoletes: alsadev
Provides: alsadev alsa-lib-devel
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
Authors:
--------
Jaroslav Kysela <perex@perex.cz>
Takashi Iwai <tiwai@suse.de>
%package docs
Summary: Additional Package Documentation
Group: Documentation/Other
License: GPL v2 or later
%if %suse_version > 1110
BuildArch: noarch
%endif
%description docs
This package contains optional documentation provided in addition to
this package's base documentation.
Authors:
--------
Jaroslav Kysela <perex@perex.cz>
Takashi Iwai <tiwai@suse.de>
%package -n libasound2
Summary: Advanced Linux Sound Architecture Library
Group: System/Libraries
Provides: alsa-lib
License: LGPL v2.1 or later
%description -n libasound2
This package contains the library for ALSA, Advanced Linux Sound
Architecture.
Authors:
--------
Jaroslav Kysela <perex@perex.cz>
Takashi Iwai <tiwai@suse.de>
%prep
%setup -q -n alsa-lib-%{package_version}
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
# hack to fix build on older distros
%if %suse_version < 1100
%ifarch %ix86
test -f $RPM_SOURCE_DIR/baselibs.conf && \
sed -i -e'/recommends.*alsa-oss/d' $RPM_SOURCE_DIR/baselibs.conf
%endif
%endif
%build
# build alsa-lib
autoreconf -fi
%configure \
--disable-static \
--enable-symbolic-functions \
--disable-aload \
--disable-alisp \
--disable-python
make %{?jobs:-j %jobs}
# run doxygen
make -C doc doc
%install
# install shared library
%makeinstall
# clean up unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/*.*a
rm -f $RPM_BUILD_ROOT%{_libdir}/alsa-lib/smixer/*.*a
rm -f $RPM_BUILD_ROOT%{_bindir}/aserver
#
# install helper scripts
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
install -c -m 0755 %{SOURCE16} $RPM_BUILD_ROOT%{_bindir}
install -c -m 0755 %{SOURCE34} $RPM_BUILD_ROOT%{_sbindir}/alsa-init
# install test wave file
mkdir -p $RPM_BUILD_ROOT%{_datadir}/sounds/alsa
install -c -m 0644 %{SOURCE17} $RPM_BUILD_ROOT%{_datadir}/sounds/alsa/test.wav
# install all_notes_off stuff
install -c -m 0755 %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT/usr/lib
install -c -m 0644 %{SOURCE31} $RPM_BUILD_ROOT/usr/lib
install -c -m 0644 %{SOURCE32} $RPM_BUILD_ROOT/usr/lib
#
# install init scripts
#
mkdir -p $RPM_BUILD_ROOT/etc/init.d
install -c -m 0755 %{SOURCE11} $RPM_BUILD_ROOT/etc/init.d
install -c -m 0755 %{SOURCE13} $RPM_BUILD_ROOT/etc/init.d
rm -f $RPM_BUILD_ROOT%{_sbindir}/rcalsasound
ln -s ../../etc/init.d/alsasound $RPM_BUILD_ROOT%{_sbindir}/rcalsasound
rm -f $RPM_BUILD_ROOT%{_sbindir}/rcjoystick
ln -s ../../etc/init.d/joystick $RPM_BUILD_ROOT%{_sbindir}/rcjoystick
#
# udev rules
#
mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d
install -c -m 0644 %{SOURCE8} $RPM_BUILD_ROOT/etc/udev/rules.d
#
# install template to update rc.config and sysconfig files:
# (updating the actual files is done in the %post-script)
#
mkdir -p -m 755 $RPM_BUILD_ROOT/var/adm/fillup-templates
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/sysconfig
for i in sound joystick; do
install -m 644 $RPM_SOURCE_DIR/sysconfig.$i $RPM_BUILD_ROOT/var/adm/fillup-templates
done
#
# documents
#
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}
cp $RPM_SOURCE_DIR/README* $RPM_BUILD_ROOT%{_docdir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}/alsa-lib
cp COPYING ChangeLog INSTALL TODO MEMORY-LEAK $RPM_BUILD_ROOT%{_docdir}/%{name}/alsa-lib
cp doc/asoundrc.txt $RPM_BUILD_ROOT%{_docdir}/%{name}/alsa-lib
# install alsa-info.sh to sbindir
install -c -m 0755 %{SOURCE33} $RPM_BUILD_ROOT%{_sbindir}
%post
%{fillup_and_insserv -ny sound alsasound}
%{fillup_and_insserv -n joystick joystick}
exit 0
%preun
%stop_on_removal alsasound joystick
exit 0
%postun
%restart_on_update alsasound joystick
%insserv_cleanup
exit 0
%post -n libasound2 -p /sbin/ldconfig
%postun -n libasound2 -p /sbin/ldconfig
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc %{_docdir}/%{name}
/etc/init.d/*
%{_sbindir}/*
%{_bindir}/*
/usr/lib/all_notes_off.*
%{_datadir}/sounds/alsa
/var/adm/fillup-templates/*
/etc/udev
%files devel
%defattr(-, root, root)
%{_libdir}/libasound.so
%{_includedir}/sys/*
%{_includedir}/alsa
%{_datadir}/aclocal/*.m4
%{_libdir}/pkgconfig/*.pc
%files docs
%defattr(-, root, root)
%doc doc/doxygen/html/*
%files -n libasound2
%defattr(-, root, root)
%{_libdir}/libasound.so.*
%{_libdir}/alsa-lib
%{_datadir}/alsa
%changelog