diff --git a/.alsa-sof-firmware.metadata b/.alsa-sof-firmware.metadata new file mode 100644 index 0000000..5efb45e --- /dev/null +++ b/.alsa-sof-firmware.metadata @@ -0,0 +1,2 @@ +20e9e52e04924e870341036d7676e6bd93e9a4aa SOURCES/sof-bin-e6d11bf.tar.gz +953fd1d80134587741ccad7d95c3e693f71eeffc SOURCES/sof-bin-topology-1.5-dmic-20db-fix.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..490128e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/sof-bin-e6d11bf.tar.gz +SOURCES/sof-bin-topology-1.5-dmic-20db-fix.tar.gz diff --git a/SPECS/alsa-sof-firmware.spec b/SPECS/alsa-sof-firmware.spec new file mode 100644 index 0000000..81b0050 --- /dev/null +++ b/SPECS/alsa-sof-firmware.spec @@ -0,0 +1,118 @@ +# This is a firmware package, so binaries (which are not run on the host) +# in the end package are expected. +%define _binaries_in_noarch_packages_terminate_build 0 +%global _firmwarepath /usr/lib/firmware + + +%global sof_version 1.5 +%global sof_commit e6d11bf44f0c7ad6032d201e753aa254bb075ee7 +%global sof_shortcommit %(c=%{sof_commit}; echo ${c:0:7}) + +Summary: Firmware and topology files for Sound Open Firmware project +Name: alsa-sof-firmware +Version: %{sof_version} +Release: 2%{?dist} +# See later in the spec for a breakdown of licensing +License: BSD +URL: https://github.com/thesofproject/sof-bin +Source: https://github.com/thesofproject/sof-bin/archive/%{sof_commit}/sof-bin-%{sof_shortcommit}.tar.gz +Source10: https://www.alsa-project.org/files/pub/misc/sof/sof-bin-topology-1.5-dmic-20db-fix.tar.gz +Conflicts: alsa-firmware <= 1.2.1-5 + +# noarch, since the package is firmware +BuildArch: noarch + +%description +This package contains the firmware binaries for the Sound Open Firmware project. + +%package debug +Requires: alsa-sof-firmware +Summary: Debug files for Sound Open Firmware project +License: BSD + +%description debug +This package contains the debug files for the Sound Open Firmware project. + +%prep +%autosetup -n sof-bin-%{sof_commit} + +cd lib/firmware + +# we have the version in the package name +mv intel/sof/v%{sof_version}/* intel/sof +rmdir intel/sof/v%{sof_version} + +# rename intel signed firmware files +for platform in apl cnl icl; do + mv intel/sof/intel-signed/sof-$platform-v%{sof_version}.ri intel/sof/intel-signed/sof-$platform.ri + ln -sf intel-signed/sof-$platform.ri intel/sof/sof-$platform.ri +done + +# rename public signed firmware files +for platform in apl cnl icl; do + mv intel/sof/public-signed/sof-$platform-v%{sof_version}.ri intel/sof/public-signed/sof-$platform.ri +done + +# rename unsigned firmware files +for platform in bdw byt cht; do + mv intel/sof/sof-$platform-v%{sof_version}.ri intel/sof/sof-$platform.ri +done + +# rename debug files +for platform in apl bdw byt cht cnl icl; do + mv intel/sof/sof-$platform-v%{sof_version}.ldc intel/sof/sof-$platform.ldc +done + +# add missing symlink +ln -s intel-signed/sof-cnl.ri intel/sof/sof-cml.ri +ln -s intel-signed/sof-cnl.ri intel/sof/sof-cfl.ri + +# move topology files +rm -f intel/sof-tplg +mv intel/sof-tplg-v%{sof_version} intel/sof-tplg + +# remove NXP firmware files +rm -rf nxp + +# patch the topology files (DMIC equalizer fix) +tar xvzf %{SOURCE10} -C intel/sof-tplg + +%build + +%install +mkdir -p %{buildroot}%{_firmwarepath} +cp -ra lib/firmware/* %{buildroot}%{_firmwarepath} + +# gather files and directories +FILEDIR=$(pwd) +pushd %{buildroot}/%{_firmwarepath} +find -P . -name "*.ri" | sed -e '/^.$/d' > $FILEDIR/alsa-sof-firmware.files +#find -P . -name "*.tplg" | sed -e '/^.$/d' >> $FILEDIR/alsa-sof-firmware.files +find -P . -name "*.ldc" | sed -e '/^.$/d' > $FILEDIR/alsa-sof-firmware.debug-files +find -P . -type d | sed -e '/^.$/d' > $FILEDIR/alsa-sof-firmware.dirs +popd +sed -i -e 's:^./::' alsa-sof-firmware.{files,debug-files,dirs} +sed -i -e 's!^!/usr/lib/firmware/!' alsa-sof-firmware.{files,debug-files,dirs} +sed -e 's/^/%%dir /' alsa-sof-firmware.dirs >> alsa-sof-firmware.files +cat alsa-sof-firmware.files + +%files -f alsa-sof-firmware.files +%license LICENCE* +%doc README* +%dir %{_firmwarepath} + +# Licence: 3-clause BSD +# .. for files with suffix .tplg +%{_firmwarepath}/intel/sof-tplg + +# Licence: SOF (3-clause BSD plus others) +# .. for files with suffix .ri + +%files debug -f alsa-sof-firmware.debug-files + +%changelog +* Mon Jun 8 2020 Jaroslav Kysela - 1.5-2 +- Update to v1.5 + +* Tue Apr 21 2020 Jaroslav Kysela - 1.4.2-2 +- Initial version (Open Sound Firmware v1.4.2)