public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
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.

  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