From: "'Arjunan, Srinu' via isar-users" <isar-users@googlegroups.com>
To: "isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "cedric.hombourger@siemens.com" <cedric.hombourger@siemens.com>,
"Kiszka, Jan" <jan.kiszka@siemens.com>
Subject: RE: [PATCH v2 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO
Date: Wed, 23 Oct 2024 12:54:33 +0000 [thread overview]
Message-ID: <PUZPR06MB5747AE26F8CD64CE1F25E3C6884D2@PUZPR06MB5747.apcprd06.prod.outlook.com> (raw)
In-Reply-To: <20241023125307.1402533-2-srinuvasan.a@siemens.com>
Hi Jan,
Addressed all the comment in V2.
Many thanks,
Srinu
-----Original Message-----
From: Arjunan, Srinu (FT FDS CES LX PBU 2) <srinuvasan.a@siemens.com>
Sent: 23 October 2024 18:23
To: isar-users@googlegroups.com
Cc: Hombourger, Cedric (FT FDS CES LX) <cedric.hombourger@siemens.com>; Kiszka, Jan (FT RPD CED) <jan.kiszka@siemens.com>; Arjunan, Srinu (FT FDS CES LX PBU 2) <srinuvasan.a@siemens.com>
Subject: [PATCH v2 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO
From: srinuvasan <srinuvasan.a@siemens.com>
This change might be useful for downstream layers to set the CONFIG_LOCALVERSION_AUTO in their base defconfig to append the version automatically to kernel release.
Presently ISAR doesn't have this support, hence add this provision.
Here we try to find the CONFIG_LOCALVERSION_AUTO availability and .git present during build the kernel package, unfortunately we are not getting the .git directory in the dpkg_build stage even if we are fetching the git repo, this is due to sbuild always uses the sources (dsc) file to build the package, when we generate the dsc file it create the tar ball without .git, hence during dpkg_build stage it is not possible to get the latest commit HEAD value using "git rev-parse --verify HEAD"
To solve this issue we have base .config and .git available in the do_dpkg_source stage, here we try to find the latest commit and write them into .scmversion file, later during the kernel build package stage we are calling the kernelrelease target to set the localversion, this setlocalversion script handle the availability of .scmversion file and append the string accordingly to the kernelrelease.
Added qemuamd64-cip BSP to demonstrate this feature.
Signed-off-by: srinuvasan <srinuvasan.a@siemens.com>
---
meta-isar/recipes-kernel/linux/files/x86_64_defconfig | 2 +-
.../linux/files/debian/isar/version.cfg.tmpl | 1 -
meta/recipes-kernel/linux/linux-custom.inc | 11 +++++++++++
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/meta-isar/recipes-kernel/linux/files/x86_64_defconfig b/meta-isar/recipes-kernel/linux/files/x86_64_defconfig
index f3bafe00..c27a5a61 100644
--- a/meta-isar/recipes-kernel/linux/files/x86_64_defconfig
+++ b/meta-isar/recipes-kernel/linux/files/x86_64_defconfig
@@ -1,6 +1,6 @@
# Copy of linux/arch/x86/configs/x86_64_defconfig for demonstration purposes
-# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_LOCALVERSION_AUTO=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
diff --git a/meta/recipes-kernel/linux/files/debian/isar/version.cfg.tmpl b/meta/recipes-kernel/linux/files/debian/isar/version.cfg.tmpl
index 17effe52..1ab699f5 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/version.cfg.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/version.cfg.tmpl
@@ -1,2 +1 @@
CONFIG_LOCALVERSION="${LINUX_VERSION_EXTENSION}"
-# CONFIG_LOCALVERSION_AUTO is not set
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index 0f23d6f0..04c3fdb6 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -296,6 +296,17 @@ EOF
done
}
+get_localversion_auto() {
+ if grep -q "^CONFIG_LOCALVERSION_AUTO=y" ${S}/${KERNEL_BUILD_DIR}/.config; then
+ cd ${S}
+ if (git rev-parse --git-dir >/dev/null 2>&1) &&
+ head=$(git rev-parse --verify --short HEAD 2>/dev/null); then
+ echo "-g${head}" >${S}/.scmversion
+ fi
+ fi
+}
+
do_dpkg_source:prepend() {
dpkg_configure_kernel
+ get_localversion_auto
}
--
2.39.5
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/PUZPR06MB5747AE26F8CD64CE1F25E3C6884D2%40PUZPR06MB5747.apcprd06.prod.outlook.com.
next prev parent reply other threads:[~2024-10-23 12:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-22 11:58 [RFC][PATCH v1] " srinuvasan.a via isar-users
2024-10-22 13:17 ` 'Jan Kiszka' via isar-users
2024-10-23 12:53 ` [PATCH v2 1/2] add new machine qemuamd64-cip and corresponding mc srinuvasan.a via isar-users
2024-10-23 12:53 ` [PATCH v2 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO srinuvasan.a via isar-users
2024-10-23 12:54 ` 'Arjunan, Srinu' via isar-users [this message]
2024-10-23 16:04 ` 'Jan Kiszka' via isar-users
2024-10-23 16:26 ` 'Arjunan, Srinu' via isar-users
2024-10-23 16:31 ` 'Jan Kiszka' via isar-users
2024-10-23 16:43 ` 'Arjunan, Srinu' via isar-users
2024-10-23 16:02 ` [PATCH v2 1/2] add new machine qemuamd64-cip and corresponding mc 'Jan Kiszka' via isar-users
2024-10-24 6:09 ` [PATCH v3 " srinuvasan.a via isar-users
2024-10-24 6:09 ` [PATCH v3 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO srinuvasan.a via isar-users
2024-10-25 5:14 ` 'Arjunan, Srinu' via isar-users
2024-10-25 9:09 ` 'Jan Kiszka' via isar-users
2024-10-25 13:13 ` Uladzimir Bely
2024-10-26 1:55 ` [PATCH v4 1/2] add new machine qemuamd64-cip and corresponding mc srinuvasan.a via isar-users
2024-10-26 1:55 ` [PATCH v4 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO srinuvasan.a via isar-users
2024-11-04 13:52 ` [PATCH v4 1/2] add new machine qemuamd64-cip and corresponding mc Uladzimir Bely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=PUZPR06MB5747AE26F8CD64CE1F25E3C6884D2@PUZPR06MB5747.apcprd06.prod.outlook.com \
--to=isar-users@googlegroups.com \
--cc=cedric.hombourger@siemens.com \
--cc=jan.kiszka@siemens.com \
--cc=srinuvasan.a@siemens.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox