sys-kernel/raspberrypi-image: install device tree blobs
authorAndrey Utkin <andrey_utkin@gentoo.org>
Mon, 25 Nov 2019 19:23:29 +0000 (19:23 +0000)
committerAndrey Utkin <andrey_utkin@gentoo.org>
Tue, 3 Dec 2019 13:32:16 +0000 (13:32 +0000)
Upstream git repo provides binaries of two natures in a single
repository:

* boot firmware files;
* prebuilt kernel files.

boot/*.dtb, boot/overlays/ belong to kernel, not boot firmware.

But for historical reasons, these files were installed by
sys-boot/raspberrypi-firmware package rather than
sys-kernel/raspberrypi-image, which would be more correct.

The problem with this is that users of kernels different than
sys-kernel/raspberrypi-image need to install different files into these
locations. This means such people have to avoid using
sys-boot/raspberrypi-firmware package completely.

A blocker dependency on old sys-boot/raspberrypi-firmware versions is
added to protect from a situation when just raspberrypi-image is being
upgraded, and a package manager ends up with a file collision during
installation phase.

Package-Manager: Portage-2.3.66, Repoman-2.3.16
Signed-off-by: Andrey Utkin <andrey_utkin@gentoo.org>
sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild

index ecd30c095746d76edcedf76cfc50248b1041dff1..3a9901ac43da2640ec76b98778a1360b21d5334b 100644 (file)
@@ -11,7 +11,12 @@ LICENSE="GPL-2 raspberrypi-videocore-bin"
 SLOT="0"
 RESTRICT="binchecks strip"
 
-RDEPEND="sys-boot/raspberrypi-firmware"
+# Temporary safety measure to prevent ending up with a pair of
+# sys-kernel/raspberrypi-image and sys-boot/raspberrypi-firmware
+# both of which installed device tree files.
+# Restore to simply "sys-boot/raspberrypi-firmware" when the mentioned version
+# and all older ones are deleted.
+RDEPEND=">sys-boot/raspberrypi-firmware-1.20190709"
 
 if [[ "${PV}" == 9999 ]]; then
        inherit git-r3
@@ -30,4 +35,7 @@ src_install() {
        doins -r modules/*
        insinto /boot
        doins boot/*.img
+
+       doins boot/*.dtb
+       doins -r boot/overlays
 }