[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230712-kbuild_rpm_dtbs-v1-1-99693e8faaaf@jannau.net>
Date: Wed, 12 Jul 2023 08:42:20 +0200
From: Janne Grunau via B4 Relay <devnull+j.jannau.net@...nel.org>
To: Masahiro Yamada <masahiroy@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nicolas Schier <nicolas@...sle.eu>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] kbuild: rpm-pkg: Add dtbs support
From: Janne Grunau <j@...nau.net>
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@...nau.net>
---
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@...nau.net>
Powered by blists - more mailing lists