# the userspace libraries and devel files are now available in source format %define include_userspace 0 %define include_kernel 1 %define kernelver 4.4 %define gitdirver %(echo %version | cut -d. -f3-4) Name: raspberrypi-firmware Epoch: 1 Version: 4.14.1.20181112 Release: 1mamba 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 ## GITSOURCE git://github.com/raspberrypi/firmware.git Source0: git://github.com/raspberrypi/firmware.git/%{gitdirver}/firmware-%{version}.tar.bz2 #Source0: git://github.com/raspberrypi/firmware.git/master/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 License: GPL, LICENCE.broadcom ## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-END Requires: hciattach-rpi ExclusiveArch: arm %systemd_requires BuildRoot: %{_tmppath}/%{name}-%{version}-root %description %{summary}. %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 Requires: kernel-raspberrypi-modules = %{?epoch:%epoch:}%{version}-%{release} Requires: raspberrypi-firmware = %{?epoch:%epoch:}%{version}-%{release} %description -n kernel-raspberrypi Linux kernel files and modules for the Raspberry Pi. Source: https://github.com/raspberrypi/firmware. *start.elf, bootcode.bin and loader.bin are the GPU firmware and bootloaders. Their licence is described in 'LICENCE.broadcom'. The kernel.img files are builds of the Linux kernel, released under the GPL (see COPYING.linux). %package -n kernel-raspberrypi-modules Group: System/Kernel and Hardware Summary: Linux kernel modules for the Raspberry Pi %description -n kernel-raspberrypi-modules Linux kernel modules for the Raspberry Pi. Source: https://github.com/raspberrypi/firmware. %package -n kernel-raspberrypi-doc Group: Documentation Summary: Raspberry Pi kernel documentation Provides: raspberrypi-kernel-doc = %{?epoch:%epoch:}%{version}-%{release} Obsoletes: raspberrypi-kernel-doc %description -n kernel-raspberrypi-doc Raspberry Pi kernel documentation. %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/4.* %{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 %{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-0-w.dtb /boot/bcm2708-rpi-b.dtb /boot/bcm2708-rpi-b-plus.dtb /boot/bcm2708-rpi-cm.dtb /boot/bcm2709-rpi-2-b.dtb /boot/bcm2710-rpi-3-b.dtb /boot/bcm2710-rpi-3-b-plus.dtb /boot/bcm2710-rpi-cm3.dtb /boot/LICENCE.broadcom %config(noreplace) /boot/config.txt %config(noreplace) /boot/cmdline.txt %dir /boot/overlays /boot/overlays/*.dtbo /boot/overlays/README /lib/firmware/LICENSE.brcmfmac /lib/firmware/BCM43430A1.hcd /lib/firmware/brcm/brcmfmac43430-sdio.bin /lib/firmware/brcm/brcmfmac43430-sdio.txt /lib/systemd/system/brcm43438.service %if %include_kernel %files -n kernel-raspberrypi %defattr(-,root,root) /boot/kernel*.img %files -n kernel-raspberrypi-modules %defattr(-,root,root) /lib/modules %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 * 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 * Wed 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