Subject: [bug#31447] [PATCH] linux-libre: Add aarch64-linux.

From: [email-masked] (Ludovic Courtès)
Date: Mon, 21 May 2018 00:11:38 +0200

Heya,

Vagrant Cascadian <[email-masked]> skribis:

> On 2018-05-18, Vagrant Cascadian wrote:
>> On 2018-05-17, Vagrant Cascadian wrote:
>>> Since submitting, I did notice that the way .dtb files are installed, it
>>> doesn't preserve the subdirectory structure. Unlike the "arm"
>>> architecture, where .dtb files are all placed in a single directory, on
>>> "arm64" there are sub-directories for each soc family:
>>>
>>>   allwinner/sun50i-a64-pine64-plus.dtb
>>>
>>> It looks like the linux Makefile supports setting INSTALL_DTBS_PATH
>>> variable, and both "arm" and "arm64" architectures have a "dtbs_install"
>>> target, which may simply do "the right thing".
>
> Attached is a patch which does that. Did test builds of linux-libre on
> x86_64-linux (no dtb files), aarch64-linux (dtb files in subdirs) and
> armhf-linux (dtb files in one big huge directory); all of these variants
> appear to be doing the right thing.
>
> The patch basically follows the previous behavior by checking for the
> presence of .dtb files, but rather than installing them manually,
> invokes "make dtbs_install".
>
> I did try to restrict dtb installation based on architecture (only arm,
> arm64 and mips linux architectures currently implement the dtbs_install
> Makefile target), which would seem a little cleaner to me. My attempt
> was essentially:
>
>   (if (string=? (getenv "ARCH") (or "arm" "arm64" "mips"))
>     (invoke "make" "dtbs_install" ... )
>   )

You could do:

 (when (member (getenv "ARCH") '("arm" "arm64" "mips"))
   …)

But I think what you did is even nicer (no need to hardwire the list of
architectures.)

> From 4e5ea2e07282b3c3125fc1922e729085a2e2706f Mon Sep 17 00:00:00 2001
> From: Vagrant Cascadian <[email-masked]>
> Date: Sat, 19 May 2018 21:08:41 +0000
> Subject: [PATCH 2/2] gnu: linux-libre: Use "make dtbs_install" to install
>  device tree files.
>
> * gnu/packages/linux.scm (make-linux-libre):
>   Use "make dtbs_install" to install device tree files.

I adjusted the indentation and committed.  Thank you!

Ludo’.