From: "'Jan Kiszka' via isar-users" <isar-users@googlegroups.com>
To: srinuvasan.a@siemens.com, isar-users@googlegroups.com
Cc: cedric.hombourger@siemens.com
Subject: Re: [RFC][PATCH v1] linux-custom: Add a provision to support CONFIG_LOCALVERSION_AUTO
Date: Tue, 22 Oct 2024 15:17:56 +0200 [thread overview]
Message-ID: <3a6be839-a3a9-4b0f-970a-29ea3509b8a7@siemens.com> (raw)
In-Reply-To: <20241022115836.1395681-1-srinuvasan.a@siemens.com>
On 22.10.24 13:58, 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.
>
> Signed-off-by: srinuvasan <srinuvasan.a@siemens.com>
> ---
> .../linux/files/debian/isar/version.cfg.tmpl | 1 -
> meta/recipes-kernel/linux/linux-custom.inc | 11 +++++++++++
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> 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..d0787aad 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 test -z "$(git rev-parse --show-cdup 2>/dev/null)" &&
This acts as a test whether is a git repo, or what is the role of this
line? Why is testing for success of the next line not enough?
> + head=$(git rev-parse --verify --short HEAD 2>/dev/null); then
I would indent by one space more.
> + echo "-g${head}" >${S}/.scmversion
> + fi
> + fi
> +}
> +
> do_dpkg_source:prepend() {
> dpkg_configure_kernel
> + get_localversion_auto
> }
Is this already stressed by any of the existing kernel builds in isar?
If not, can you make that happen?
Jan
--
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 on the web visit https://groups.google.com/d/msgid/isar-users/3a6be839-a3a9-4b0f-970a-29ea3509b8a7%40siemens.com.
next prev parent reply other threads:[~2024-10-22 13:18 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-22 11:58 srinuvasan.a via isar-users
2024-10-22 13:17 ` 'Jan Kiszka' via isar-users [this message]
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
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=3a6be839-a3a9-4b0f-970a-29ea3509b8a7@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