# # spec file for package alsa # # Copyright (c) 2011 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 pkg-config %define package_version 1.0.24.1 License: LGPLv2.1+ 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.24.1 Release: 18 Source: ftp://ftp.alsa-project.org/pub/lib/alsa-lib-%{package_version}.tar.bz2 Source2: baselibs.conf 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: 0001-Fix-alsa-lib-to-regard-3D-control-Depth-as-Playback-.patch Patch2: 0002-alsa-lib-add-LaCie-Firewire-Speakers-Griffin-FireWav.patch Patch3: 0003-alsa-lib-ucm-allow-values-to-be-read-from-devices.patch Patch4: 0004-UCM-comment-fixes-and-fix-myvalue-initialization-fix.patch Patch5: 0005-UCM-Fix-empty-get_list-initialize-returned-pointer-t.patch Patch6: 0006-Conf-Fix-channels-of-ICE1712-to-10-12.patch Patch7: 0007-UCM-Fix-LGPL-licence-how-to-receive-part-referred-GP.patch Patch8: 0008-configure-Fail-when-the-user-attempts-to-compile-sha.patch Patch9: 0009-Mark-Heaphone-Center-LFE-control-of-emu10k1-conf-as-.patch Patch10: 0010-Fix-typo-in-comment-in-surround71.conf.patch Patch11: 0011-test-latency-print-error-message-when-2-periods-per-.patch Patch12: 0012-EMU10K1.conf-Don-t-lock-hook-controls.patch Patch13: 0013-HDA-Intel.conf-Fix-low-mic-volume-due-to-pulseaudio-.patch Patch14: 0014-alsa-lib-fixed-coverity-reported-issues-under-FORWAR.patch Patch15: 0015-Fix-compile-warnings.patch Patch16: 0016-Fix-printf-for-size_t.patch Patch18: 0018-UCM-fix-memory-leak-when-executing-cset-commands.patch Patch19: 0019-Specficy-subdevice-0-for-front-surround-of-HDA-Intel.patch Patch20: 0020-emu10k1.conf-Fix-no-sound-problem-when-using-SB-Live.patch Patch21: 0021-ctlparse-Respect-softfloat-configure-option.patch Patch22: 0022-UCM-Fix-typo-in-error-message.patch Patch23: 0023-UCM-Fix-deadlock-following-failed-get-_verb.patch Patch24: 0024-Define-sysdefault-PCM-and-control.patch Patch25: 0025-Add-snd_-ctl-pcm-_open_fallback-functions.patch Patch26: 0026-Add-RME-RPM-to-HDSP_IO_Type.patch Patch27: 0027-ucm-fix-seg-fault-in-execute_cset.patch Patch28: 0028-ucm-tivial-code-style-fix.patch Patch29: 0029-ucm-add-another-sequence-msleep.patch Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.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 Takashi Iwai %package devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries/C and C++ License: LGPLv2.1+ 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 Takashi Iwai %package docs Summary: Additional Package Documentation Group: Documentation/Other License: GPLv2+ %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 Takashi Iwai %package -n libasound2 Summary: Advanced Linux Sound Architecture Library Group: System/Libraries Provides: alsa-lib License: LGPLv2.1+ %description -n libasound2 This package contains the library for ALSA, Advanced Linux Sound Architecture. Authors: -------- Jaroslav Kysela Takashi Iwai %prep %setup -q -n alsa-lib-%{package_version} # %patch -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 %if %suse_version == 1130 %patch99 -p1 %endif # 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 export AUTOMAKE_JOBS=%{?jobs:%jobs} # build alsa-lib autoreconf -fi %configure \ --disable-static \ --enable-symbolic-functions \ --disable-aload \ --disable-alisp \ --disable-python make V=1 %{?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 %if %suse_version < 1140 sed -i -e 's@/var/lib/alsa/asound.state@/etc/asound.state@g' $RPM_BUILD_ROOT%{_bindir}/set_default_volume sed -i -e 's@/var/lib/alsa/asound.state@/etc/asound.state@g' $RPM_BUILD_ROOT%{_sbindir}/alsa-init %endif # 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 %if %suse_version < 1140 sed -i -e 's@/var/lib/alsa/asound.state@/etc/asound.state@g' $RPM_BUILD_ROOT/etc/init.d/alsasound %endif 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 (only for non-systemd) # %if %suse_version < 1140 mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d install -c -m 0644 %{SOURCE8} $RPM_BUILD_ROOT/etc/udev/rules.d %endif # # 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/* %if %suse_version < 1140 /etc/udev %endif %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