From: "'Jan Kiszka' via isar-users" <isar-users@googlegroups.com>
To: "Arjunan, Srinu (FT FDS CES LX PBU 2)" <srinuvasan.a@siemens.com>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "Hombourger, Cedric (FT FDS CES LX)" <cedric.hombourger@siemens.com>
Subject: Re: [PATCH v2 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO
Date: Wed, 23 Oct 2024 18:31:25 +0200 [thread overview]
Message-ID: <8e07ce6f-9d07-45ab-90b3-fd7d0fe44b02@siemens.com> (raw)
In-Reply-To: <PUZPR06MB5747065410D01D25747E93C3884D2@PUZPR06MB5747.apcprd06.prod.outlook.com>
On 23.10.24 18:26, Arjunan, Srinu (FT FDS CES LX PBU 2) wrote:
>
>
> -----Original Message-----
> From: Kiszka, Jan (FT RPD CED) <jan.kiszka@siemens.com>
> Sent: 23 October 2024 21:35
> To: Arjunan, Srinu (FT FDS CES LX PBU 2) <srinuvasan.a@siemens.com>; isar-users@googlegroups.com
> Cc: Hombourger, Cedric (FT FDS CES LX) <cedric.hombourger@siemens.com>
> Subject: Re: [PATCH v2 2/2] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO
>
> On 23.10.24 14:53, srinuvasan.a@siemens.com wrote:
>> 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) &&
>
> Still here - did I miss the explanation why it is needed?
>
> Here we are checking the repo is git or not, because mainline and cip kernel uses the same defconfig (x86_64_defconfig enabled with CONFIG_LOCALVERSION_AUTO) for few machines, Just we are skipping the finding HEAD revision if kernel builds via tarball.
>
Why is
if head=$(git rev-parse --verify --short HEAD 2>/dev/null); then
not enough for this check?
Jan
> Thanks,
> Srinu
>
>> + 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
>> }
>
> Jan
>
> --
> Siemens AG, Technology
> Linux Expert Center
--
Siemens AG, Technology
Linux Expert Center
--
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 visit https://groups.google.com/d/msgid/isar-users/8e07ce6f-9d07-45ab-90b3-fd7d0fe44b02%40siemens.com.
next prev parent reply other threads:[~2024-10-23 16:31 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
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 [this message]
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=8e07ce6f-9d07-45ab-90b3-fd7d0fe44b02@siemens.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