commit:     b8e400e247f95542ea116b4c5c1d4675c12dfc5e
Author:     Andrey Utkin <andrey_utkin <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 25 19:23:29 2019 +0000
Commit:     Andrey Utkin <andrey_utkin <AT> gentoo <DOT> org>
CommitDate: Tue Dec  3 13:32:16 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8e400e2

sys-kernel/raspberrypi-image: install device tree blobs

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 <AT> gentoo.org>

 sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild 
b/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
index ecd30c09574..3a9901ac43d 100644
--- a/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
+++ b/sys-kernel/raspberrypi-image/raspberrypi-image-9999.ebuild
@@ -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
 }

Reply via email to