[PATCH] kbuild: rpm-pkg: Add dtbs support

From: Janne Grunau via B4 Relay
Date: Wed Jul 12 2023 - 02:42:34 EST


From: Janne Grunau <j@xxxxxxxxxx>

Based on the dtbs support in builddeb. Both Fedora and openSUSE kernel
rpm install their dtbs in "/boot/dtb-${KERNELRELEASE}". There seems no
other popular rpm based distributions which would benefit from dtbs
support and are not derived from those two.

Signed-off-by: Janne Grunau <j@xxxxxxxxxx>
---
scripts/package/mkspec | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 8049f0e2c110..a170b0c0a93f 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -28,6 +28,14 @@ else
M=DEL
fi

+# Only some architectures with OF support have the dtbs_install target
+if grep -q CONFIG_OF_EARLY_FLATTREE=y include/config/auto.conf && \
+ [ -d "${srctree}/arch/${SRCARCH}/boot/dts" ]; then
+ D=
+else
+ D=DEL
+fi
+
__KERNELRELEASE=$(echo $KERNELRELEASE | sed -e "s/-/_/g")
EXCLUDES="$RCS_TAR_IGNORE --exclude=*vmlinux* --exclude=*.mod \
--exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation \
@@ -38,6 +46,8 @@ EXCLUDES="$RCS_TAR_IGNORE --exclude=*vmlinux* --exclude=*.mod \
# Labels:
# $S: this line is enabled only when building source package
# $M: this line is enabled only when CONFIG_MODULES is enabled
+# $D: this line is enabled only when CONFIG_OF_EARLY_FLATTREE is enabled and
+# the arch has a dts directory
sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
Name: kernel
Summary: The Linux Kernel
@@ -103,6 +113,7 @@ $S
%endif
$M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install
$MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install
+$D $MAKE %{?_smp_mflags} INSTALL_DTBS_PATH=%{buildroot}/boot/dtb-${KERNELRELEASE} dtbs_install
cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE
cp .config %{buildroot}/boot/config-$KERNELRELEASE
$S$M rm -f %{buildroot}/lib/modules/$KERNELRELEASE/build

---
base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
change-id: 20230712-kbuild_rpm_dtbs-d055a3780bbe

Best regards,
--
Janne Grunau <j@xxxxxxxxxx>