# the userspace libraries and devel files are now available in source format %define include_userspace 0 %define include_kernel 1 %define kernelver %(echo %version | cut -d. -f1-3) %define gitdirver %(echo %version | cut -d. -f4-5) Name: raspberrypi-firmware Epoch: 1 Version: 5.10.11.1.20210201 Release: 2mamba Summary: Boot firmware files (except kernel) for the Raspberry Pi Group: System/Kernel and Hardware Vendor: openmamba Distribution: openmamba Packager: Davide Madrisan URL: https://github.com/raspberrypi/firmware Source0: git://github.com/raspberrypi/firmware.git/%{gitdirver}/firmware-%{version}.tar.bz2 Source1: raspberrypi-firmware-kernelconf.txt Source2: raspberrypi-firmware-kernelcmdline.txt Source10: raspberrypi-firmware-udev-vchiq-permissions Source11: raspberrypi-firmware-ldconf Source12: brcm43438.service Source20: https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin Source21: https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt Source22: LICENSE.brcmfmac Source23: https://github.com/OpenELEC/misc-firmware/raw/master/firmware/brcm/BCM43430A1.hcd Source24: brcmfmac43455-sdio.txt License: GPL, LICENCE.broadcom ## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-END Requires: hciattach-rpi ExclusiveArch: arm aarch64 %systemd_requires BuildRoot: %{_tmppath}/%{name}-%{version}-root %description %{summary}. %package overlays Group: System/Kernel and Hardware Summary: Raspberry Pi firmware kernel overlays Requires: raspberrypi-firmware = %{?epoch:%epoch:}%{version}-%{release} %description overlays Linux kernel v7 and modules for the Raspberry Pi. %package -n kernel-raspberrypi Group: System/Kernel and Hardware Summary: Linux kernel files for the Raspberry Pi Provides: raspberrypi-kernel = %{?epoch:%epoch:}%{version}-%{release} Obsoletes: raspberrypi-kernel Provides: kernel-raspberrypi-modules Obsoletes: kernel-raspberrypi-modules < 1:5.10.11.1.20210201 Requires: raspberrypi-firmware = %{?epoch:%epoch:}%{version}-%{release} Requires: raspberrypi-firmware-overlays = %{?epoch:%epoch:}%{version}-%{release} %description -n kernel-raspberrypi Linux kernel files and modules for the Raspberry Pi. %package -n kernel-raspberrypi-v7 Group: System/Kernel and Hardware Summary: Linux kernel v7 and modules for the Raspberry Pi Requires: raspberrypi-firmware = %{?epoch:%epoch:}%{version}-%{release} Requires: raspberrypi-firmware-overlays = %{?epoch:%epoch:}%{version}-%{release} %description -n kernel-raspberrypi-v7 Linux kernel v7 and modules for the Raspberry Pi. %package -n kernel-raspberrypi-v7l Group: System/Kernel and Hardware Summary: Linux kernel v7l and modules for the Raspberry Pi Requires: raspberrypi-firmware = %{?epoch:%epoch:}%{version}-%{release} Requires: raspberrypi-firmware-overlays = %{?epoch:%epoch:}%{version}-%{release} %description -n kernel-raspberrypi-v7l Linux kernel v7l and modules for the Raspberry Pi. %package -n kernel-raspberrypi-v8 Group: System/Kernel and Hardware Summary: Linux kernel v8 and modules for the Raspberry Pi Requires: raspberrypi-firmware = %{?epoch:%epoch:}%{version}-%{release} Requires: raspberrypi-firmware-overlays = %{?epoch:%epoch:}%{version}-%{release} %description -n kernel-raspberrypi-v8 Linux kernel v8 and modules for the Raspberry Pi. %package -n kernel-raspberrypi-doc Group: Documentation Summary: Documentation for the Raspberry Pi Linux kernel %description -n kernel-raspberrypi-doc Documentation for the Raspberry Pi Linux kernel. %if %include_userspace %package -n raspberrypi-libs Group: System/Libraries Summary: Userspace libraries for the Raspberry Pi %description -n raspberrypi-libs This package contains the userspace libraries for the Raspberry Pi. Source: https://github.com/raspberrypi/firmware. %package -n raspberrypi-devel Group: Development/Libraries Summary: Development files for the Raspberry Pi Requires: raspberrypi-libs = %{?epoch:%epoch:}%{version}-%{release} %description -n raspberrypi-devel This package contains libraries and header files for developing applications for the Raspberry Pi. Source: https://github.com/raspberrypi/firmware. %package -n raspberrypi-utils Group: System/Tools Summary: System tools for the Raspberry Pi %description -n raspberrypi-utils This package contains some system tools for the Raspberry Pi. Source: https://github.com/raspberrypi/firmware. %endif %prep %setup -q -n firmware-%{version} %define __os_install_post %{nil} %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" # kernel + kernel modules + firmware install -d %{buildroot}/boot boot_flist="\ bootcode.bin fixup*.dat bcm*.dtb %if %include_kernel kernel*.img %endif LICENCE.broadcom start*.elf" for f in $boot_flist; do install -m 644 boot/$f %{buildroot}/boot/ done cp -a boot/overlays %{buildroot}/boot/overlays/ %if %include_kernel install -d %{buildroot}/lib/modules cp -R modules/5.* %{buildroot}/lib/modules/ install -d %{buildroot}%{_datadir}/doc/raspberrypi-kernel cp -R documentation/ilcomponents %{buildroot}%{_datadir}/doc/raspberrypi-kernel %endif install -d %{buildroot}/lib/firmware/brcm #install -D -m0644 %{SOURCE20} %{buildroot}/lib/firmware/brcm/brcmfmac43430-sdio.bin install -D -m0644 %{SOURCE21} %{buildroot}/lib/firmware/brcm/brcmfmac43430-sdio.txt install -D -m0644 %{SOURCE22} %{buildroot}/lib/firmware/LICENSE.brcmfmac install -D -m0644 %{SOURCE24} %{buildroot}/lib/firmware/brcm/brcmfmac43455-sdio.txt install %{S:1} %{buildroot}/boot/config.txt install %{S:2} %{buildroot}/boot/cmdline.txt %if %include_userspace # libraries install -d %{buildroot}/opt/vc/lib cp -R opt/vc/lib %{buildroot}/opt/vc/ install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d install %{S:11} %{buildroot}%{_sysconfdir}/ld.so.conf.d/rpi-vc.conf # development files install -d %{buildroot}/opt/vc/include cp -R opt/vc/include %{buildroot}/opt/vc/ # tools install -d %{buildroot}/opt/vc/bin for f in edidparser tvservice vcdbg vcgencmd vchiq_test; do install -m 755 opt/vc/bin/$f %{buildroot}/opt/vc/bin/$f done # udev rules install -d %{buildroot}/lib/udev/rules.d install -m 644 %{S:10} \ %{buildroot}/lib/udev/rules.d/10-vchiq-permissions.rules %endif # rpi3 bluetooth install -D -m0644 %{SOURCE12} %{buildroot}/lib/systemd/system/brcm43438.service install -D -m0644 %{SOURCE23} %{buildroot}/lib/firmware/BCM43430A1.hcd %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %systemd_post brcm43438 : %preun %systemd_preun brcm43438 : %postun %systemd_postun brcm43438 : %files %defattr(-,root,root) /boot/bootcode.bin /boot/fixup*.dat /boot/start*.elf /boot/bcm2708-rpi-zero-w.dtb /boot/bcm2708-rpi-zero.dtb /boot/bcm2708-rpi-b.dtb /boot/bcm2708-rpi-b-plus.dtb /boot/bcm2708-rpi-b-rev1.dtb /boot/bcm2708-rpi-cm.dtb /boot/bcm2711-rpi-cm4.dtb /boot/bcm2709-rpi-2-b.dtb /boot/bcm2710-rpi-2-b.dtb /boot/bcm2710-rpi-3-b.dtb /boot/bcm2710-rpi-3-b-plus.dtb /boot/bcm2711-rpi-4-b.dtb /boot/bcm2710-rpi-cm3.dtb /boot/bcm2711-rpi-400.dtb /boot/LICENCE.broadcom %config(noreplace) /boot/config.txt %config(noreplace) /boot/cmdline.txt /lib/firmware/LICENSE.brcmfmac /lib/firmware/BCM43430A1.hcd /lib/firmware/brcm/brcmfmac43430-sdio.txt /lib/firmware/brcm/brcmfmac43455-sdio.txt /lib/systemd/system/brcm43438.service %files overlays %defattr(-,root,root) %dir /boot/overlays /boot/overlays/*.dtbo /boot/overlays/overlay_map.dtb /boot/overlays/README %if %include_kernel %files -n kernel-raspberrypi %defattr(-,root,root) /boot/kernel.img %dir /lib/modules/%{kernelver}+ /lib/modules/%{kernelver}+/* %files -n kernel-raspberrypi-v7 %defattr(-,root,root) /boot/kernel7.img %dir /lib/modules/%{kernelver}-v7+ /lib/modules/%{kernelver}-v7+/* %files -n kernel-raspberrypi-v7l %defattr(-,root,root) /boot/kernel7l.img %dir /lib/modules/%{kernelver}-v7l+ /lib/modules/%{kernelver}-v7l+/* %files -n kernel-raspberrypi-v8 %defattr(-,root,root) /boot/kernel8.img %dir /lib/modules/%{kernelver}-v8+ /lib/modules/%{kernelver}-v8+/* %files -n kernel-raspberrypi-doc %defattr(-,root,root) %{_datadir}/doc/raspberrypi-kernel %endif %if %include_userspace %post -n raspberrypi-libs -p /sbin/ldconfig %postun -n raspberrypi-libs -p /sbin/ldconfig %files -n raspberrypi-libs %defattr(-,root,root) /opt/vc/lib %{_sysconfdir}/ld.so.conf.d/rpi-vc.conf %files -n raspberrypi-devel %defattr(-,root,root) /opt/vc/include %files -n raspberrypi-utils %defattr(-,root,root) /lib/udev/rules.d/10-vchiq-permissions.rules /opt/vc/bin/edidparser /opt/vc/bin/tvservice /opt/vc/bin/vcdbg /opt/vc/bin/vcgencmd /opt/vc/bin/vchiq_test %endif %changelog * Wed Mar 03 2021 Silvan Calarco 5.10.11.1.20210201-2mamba - fix requirements for raspberrypi-firmware-overlays * Wed Mar 03 2021 Silvan Calarco 5.10.11.1.20210201-1mamba - update to 5.10.11.1.20210201 * Tue Nov 24 2020 Silvan Calarco 5.4.72.1.20201022-1mamba - update to 5.4.72.1.20201022 * Thu Oct 01 2020 Silvan Calarco 5.4.1.20200902-1mamba - update to 5.4.1.20200902 * Wed Mar 04 2020 Silvan Calarco 4.19.1.20200114-2mamba - install brcmfmac43455-sdio.txt for rpi3/4 from raspbian - use brcmfmac43430-sdio.bin from linux-firmware (to be checked) * Sun Jan 26 2020 Silvan Calarco 4.19.1.20200114-1mamba - update to 4.19.1.20200114 * Thu Jan 16 2020 Silvan Calarco 4.19.1.20190925-1mamba - update to 4.19.1.20190925 * Fri Dec 07 2018 Silvan Calarco 4.14.1.20181112-1mamba - update to 4.14.1.20181112 * Sun Jun 24 2018 Silvan Calarco 4.4.1.20180417-1mamba - update to 4.4.1.20180417 * Thu Nov 10 2016 Silvan Calarco 4.4.1.20161020-2mamba - modified config.txt to enable sound * Thu Nov 10 2016 Silvan Calarco 4.4.1.20161020-1mamba - update to 4.4.1.20161020 * Wed Jul 20 2016 Silvan Calarco 4.4.1.20160620-3mamba - added bluetooth firmware, service script and requirement for rpi3 * Mon Jul 18 2016 Silvan Calarco 4.4.1.20160620-2mamba - added wifi firmware brcmfmac43430 for rpi3 * Tue Jul 12 2016 Silvan Calarco 4.4.1.20160620-1mamba - update to 4.4.1.20160620 * Sun Jul 10 2016 Silvan Calarco 1.20160620-1mamba - update to 1.20160620 * Fri Feb 27 2015 Silvan Calarco 20150227git-1mamba - update to 20150227git - provide dtb devicetree files for rpi-b and rpi2-b plus overlays * Sat Dec 06 2014 Silvan Calarco 20141206git-1mamba - update to 20141206git - don't include prebuilt kernel * Mon Feb 17 2014 Silvan Calarco 3.6.11.20130425git-2mamba - move boot firmware files to raspberrypi-firmware and require it in kernel-raspberrypi * Thu Apr 25 2013 Davide Madrisan 20130425git-1mamba - update to 20130425git * Tue Mar 05 2013 Davide Madrisan 20130301git-3mamba - rename the kernel subpackages to follow the openmamba schema * Sun Mar 03 2013 Davide Madrisan 20130301git-2mamba - do not provide the userspace libraries by default; the source code is now available * Fri Mar 01 2013 Davide Madrisan 20130301git-1mamba - update to 20130301git * Sun Oct 28 2012 Davide Madrisan 20121028git-1mamba - updated from git - remove raspberrypi-libs, raspberrypi-devel, and raspberrypi-utils - new subpackage raspberrypi-kernel-doc * Sat Oct 13 2012 Davide Madrisan 20121013git-1mamba - updated from git * Fri Sep 21 2012 Davide Madrisan 20120919git-2mamba - add %{_sysconfdir}/udev/rules.d/10-vchiq-permissions.rules * Wed Sep 19 2012 Davide Madrisan 20120919git-1mamba - package created by autospec