raspberrypi-firmware/raspberrypi-firmware.spec

307 lines
9.7 KiB
RPMSpec

# 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 <davide.madrisan@gmail.com>
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 <silvan.calarco@mambasoft.it> 4.14.1.20181112-1mamba
- update to 4.14.1.20181112
* Sun Jun 24 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.1.20180417-1mamba
- update to 4.4.1.20180417
* Thu Nov 10 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.1.20161020-2mamba
- modified config.txt to enable sound
* Thu Nov 10 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.1.20161020-1mamba
- update to 4.4.1.20161020
* Wed Jul 20 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.1.20160620-3mamba
- added bluetooth firmware, service script and requirement for rpi3
* Mon Jul 18 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.1.20160620-2mamba
- added wifi firmware brcmfmac43430 for rpi3
* Tue Jul 12 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.1.20160620-1mamba
- update to 4.4.1.20160620
* Sun Jul 10 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.20160620-1mamba
- update to 1.20160620
* Fri Feb 27 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 20150227git-1mamba
- update to 20150227git
- provide dtb devicetree files for rpi-b and rpi2-b plus overlays
* Sat Dec 06 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 20141206git-1mamba
- update to 20141206git
- don't include prebuilt kernel
* Mon Feb 17 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.6.11.20130425git-2mamba
- move boot firmware files to raspberrypi-firmware and require it in kernel-raspberrypi
* Thu Apr 25 2013 Davide Madrisan <davide.madrisan@gmail.com> 20130425git-1mamba
- update to 20130425git
* Wed Mar 05 2013 Davide Madrisan <davide.madrisan@gmail.com> 20130301git-3mamba
- rename the kernel subpackages to follow the openmamba schema
* Sun Mar 03 2013 Davide Madrisan <davide.madrisan@gmail.com> 20130301git-2mamba
- do not provide the userspace libraries by default; the source code is now available
* Fri Mar 01 2013 Davide Madrisan <davide.madrisan@gmail.com> 20130301git-1mamba
- update to 20130301git
* Sun Oct 28 2012 Davide Madrisan <davide.madrisan@gmail.com> 20121028git-1mamba
- updated from git
- remove raspberrypi-libs, raspberrypi-devel, and raspberrypi-utils
- new subpackage raspberrypi-kernel-doc
* Sat Oct 13 2012 Davide Madrisan <davide.madrisan@gmail.com> 20121013git-1mamba
- updated from git
* Fri Sep 21 2012 Davide Madrisan <davide.madrisan@gmail.com> 20120919git-2mamba
- add %{_sysconfdir}/udev/rules.d/10-vchiq-permissions.rules
* Wed Sep 19 2012 Davide Madrisan <davide.madrisan@gmail.com> 20120919git-1mamba
- package created by autospec