All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] kernelsrc.bbclass/perf: make package version consistent with kernel source
@ 2025-06-30 12:17 Hongxu Jia
  2025-06-30 12:17 ` [PATCH 2/2] kernel-devsrc: " Hongxu Jia
  2025-07-02  1:40 ` [OE-core] [PATCH 1/2] kernelsrc.bbclass/perf: " Bruce Ashfield
  0 siblings, 2 replies; 5+ messages in thread
From: Hongxu Jia @ 2025-06-30 12:17 UTC (permalink / raw)
  To: openembedded-core

If recipe inherits bbclass kernelsrc to use kernel sources,
the recipe should explicitly set ${KERNEL_VERSION} to ${PKGV}
in task do_package, otherwise package version (${PV} is usually
default 1.0) is not consistent with kernel source.

For example, there are 5 recipes in meta-openembedded to inherit
kernelsrc, but 4 recipes explicitly set PKGV.

meta-openembedded$ grep -e "setVar(.*PKGV.*KERNEL_VERSION" -e kernelsrc -rn *
meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb:9:inherit kernelsrc
meta-oe/recipes-kernel/bpftool/bpftool.bb:8:inherit bash-completion kernelsrc kernel-arch
meta-oe/recipes-kernel/bpftool/bpftool.bb:44:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/cpupower/cpupower.bb:8:inherit kernelsrc kernel-arch bash-completion
meta-oe/recipes-kernel/cpupower/cpupower.bb:32:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/turbostat/turbostat.bb:98:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:25:inherit kernelsrc autotools-brokensep
meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:68:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/spidev-test/spidev-test.bb:7:inherit bash-completion kernelsrc kernel-arch
meta-oe/recipes-kernel/spidev-test/spidev-test.bb:26:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])

This commit moves the setting of PKGV to kernelsrc.bbclass for
common use, the recipe (such as intel-speed-select) will not be
required to set it explicitly

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/classes-recipe/kernelsrc.bbclass | 4 ++++
 meta/recipes-kernel/perf/perf.bb      | 4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/classes-recipe/kernelsrc.bbclass b/meta/classes-recipe/kernelsrc.bbclass
index ecb02dc9edc..93361842989 100644
--- a/meta/classes-recipe/kernelsrc.bbclass
+++ b/meta/classes-recipe/kernelsrc.bbclass
@@ -15,3 +15,7 @@ LOCAL_VERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
 
 inherit linux-kernel-base
 
+# The final packages get the kernel version instead of the default 1.0
+python do_package:prepend() {
+    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
+}
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 157aca4d791..4f29bd5bbc3 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -385,10 +385,6 @@ do_configure:prepend () {
     done
 }
 
-python do_package:prepend() {
-    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
-}
-
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] kernel-devsrc: make package version consistent with kernel source
  2025-06-30 12:17 [PATCH 1/2] kernelsrc.bbclass/perf: make package version consistent with kernel source Hongxu Jia
@ 2025-06-30 12:17 ` Hongxu Jia
  2025-07-02  1:42   ` [OE-core] " Bruce Ashfield
  2025-07-02  1:40 ` [OE-core] [PATCH 1/2] kernelsrc.bbclass/perf: " Bruce Ashfield
  1 sibling, 1 reply; 5+ messages in thread
From: Hongxu Jia @ 2025-06-30 12:17 UTC (permalink / raw)
  To: openembedded-core

The package version of kernel-devsrc is 1.0 which is not consistent
with kernel source

$ bitbake kernel-devsrc
$ ls tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-*
tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-1.0-r0.qemux86_64.rpm
tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dbg-1.0-r0.qemux86_64.rpm
tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dev-1.0-r0.qemux86_64.rpm

After commit [kernelsrc.bbclass/perf: make package version consistent
with kernel source] applied, it moved the setting of PKGV to
kernelsrc.bbclass for common use. And bbclass kernelsrc has already
inherited linux-kernel-base, this commit uses bbclass kernelsrc to
instead of linux-kernel-base, and remove duplicated settings.

After applying this commit:
$ ls tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-*
tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-6.12.31-r0.qemux86_64.rpm
tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dbg-6.12.31-r0.qemux86_64.rpm
tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dev-6.12.31-r0.qemux86_64.rpm

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 7ad848c35eb..3d2eb3929e6 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -7,7 +7,7 @@ SECTION = "kernel"
 
 LICENSE = "GPL-2.0-only"
 
-inherit linux-kernel-base
+inherit kernelsrc
 
 # Whilst not a module, this ensures we don't get multilib extended (which would make no sense)
 inherit module-base
@@ -20,14 +20,10 @@ do_install[depends] += "virtual/kernel:do_shared_workdir"
 do_install[depends] += "virtual/kernel:do_install"
 
 # There's nothing to do here, except install the source where we can package it
-do_fetch[noexec] = "1"
-do_unpack[noexec] = "1"
-do_patch[noexec] = "1"
 do_configure[noexec] = "1"
 do_compile[noexec] = "1"
 deltask do_populate_sysroot
 
-S = "${STAGING_KERNEL_DIR}"
 B = "${STAGING_KERNEL_BUILDDIR}"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH 1/2] kernelsrc.bbclass/perf: make package version consistent with kernel source
  2025-06-30 12:17 [PATCH 1/2] kernelsrc.bbclass/perf: make package version consistent with kernel source Hongxu Jia
  2025-06-30 12:17 ` [PATCH 2/2] kernel-devsrc: " Hongxu Jia
@ 2025-07-02  1:40 ` Bruce Ashfield
  2025-07-02  2:44   ` [PATCH V2 1/2] kernelsrc.bbclass/perf: clean up package version while using " Hongxu Jia
  1 sibling, 1 reply; 5+ messages in thread
From: Bruce Ashfield @ 2025-07-02  1:40 UTC (permalink / raw)
  To: hongxu.jia; +Cc: openembedded-core

In message: [OE-core] [PATCH 1/2] kernelsrc.bbclass/perf: make package version consistent with kernel source
on 30/06/2025 hongxu via lists.openembedded.org wrote:

> If recipe inherits bbclass kernelsrc to use kernel sources,
> the recipe should explicitly set ${KERNEL_VERSION} to ${PKGV}
> in task do_package, otherwise package version (${PV} is usually
> default 1.0) is not consistent with kernel source.
> 
> For example, there are 5 recipes in meta-openembedded to inherit
> kernelsrc, but 4 recipes explicitly set PKGV.
> 
> meta-openembedded$ grep -e "setVar(.*PKGV.*KERNEL_VERSION" -e kernelsrc -rn *
> meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb:9:inherit kernelsrc
> meta-oe/recipes-kernel/bpftool/bpftool.bb:8:inherit bash-completion kernelsrc kernel-arch
> meta-oe/recipes-kernel/bpftool/bpftool.bb:44:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> meta-oe/recipes-kernel/cpupower/cpupower.bb:8:inherit kernelsrc kernel-arch bash-completion
> meta-oe/recipes-kernel/cpupower/cpupower.bb:32:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> meta-oe/recipes-kernel/turbostat/turbostat.bb:98:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:25:inherit kernelsrc autotools-brokensep
> meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:68:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> meta-oe/recipes-kernel/spidev-test/spidev-test.bb:7:inherit bash-completion kernelsrc kernel-arch
> meta-oe/recipes-kernel/spidev-test/spidev-test.bb:26:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> 
> This commit moves the setting of PKGV to kernelsrc.bbclass for
> common use, the recipe (such as intel-speed-select) will not be
> required to set it explicitly

Technically all of these packages don't have to be versioned
exactly the same as the kernel. Although they are in the kernel
source tree, they aren't always used that way.

That being said, I don't have an objection to the patch, but the
commit message should clearly state if a patch is fixing an issue
or is just a cleanup.

Which is this ? A cleanup or has there been some issue with the
versioning ?

Bruce

> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  meta/classes-recipe/kernelsrc.bbclass | 4 ++++
>  meta/recipes-kernel/perf/perf.bb      | 4 ----
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/classes-recipe/kernelsrc.bbclass b/meta/classes-recipe/kernelsrc.bbclass
> index ecb02dc9edc..93361842989 100644
> --- a/meta/classes-recipe/kernelsrc.bbclass
> +++ b/meta/classes-recipe/kernelsrc.bbclass
> @@ -15,3 +15,7 @@ LOCAL_VERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
>  
>  inherit linux-kernel-base
>  
> +# The final packages get the kernel version instead of the default 1.0
> +python do_package:prepend() {
> +    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> +}
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> index 157aca4d791..4f29bd5bbc3 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -385,10 +385,6 @@ do_configure:prepend () {
>      done
>  }
>  
> -python do_package:prepend() {
> -    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
> -}
> -
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>  
>  PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
> -- 
> 2.34.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#219515): https://lists.openembedded.org/g/openembedded-core/message/219515
> Mute This Topic: https://lists.openembedded.org/mt/113906486/1050810
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH 2/2] kernel-devsrc: make package version consistent with kernel source
  2025-06-30 12:17 ` [PATCH 2/2] kernel-devsrc: " Hongxu Jia
@ 2025-07-02  1:42   ` Bruce Ashfield
  0 siblings, 0 replies; 5+ messages in thread
From: Bruce Ashfield @ 2025-07-02  1:42 UTC (permalink / raw)
  To: hongxu.jia; +Cc: openembedded-core

No concerns on my end.

Bruce

In message: [OE-core] [PATCH 2/2] kernel-devsrc: make package version consistent with kernel source
on 30/06/2025 hongxu via lists.openembedded.org wrote:

> The package version of kernel-devsrc is 1.0 which is not consistent
> with kernel source
> 
> $ bitbake kernel-devsrc
> $ ls tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-*
> tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-1.0-r0.qemux86_64.rpm
> tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dbg-1.0-r0.qemux86_64.rpm
> tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dev-1.0-r0.qemux86_64.rpm
> 
> After commit [kernelsrc.bbclass/perf: make package version consistent
> with kernel source] applied, it moved the setting of PKGV to
> kernelsrc.bbclass for common use. And bbclass kernelsrc has already
> inherited linux-kernel-base, this commit uses bbclass kernelsrc to
> instead of linux-kernel-base, and remove duplicated settings.
> 
> After applying this commit:
> $ ls tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-*
> tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-6.12.31-r0.qemux86_64.rpm
> tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dbg-6.12.31-r0.qemux86_64.rpm
> tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0/deploy-rpms/qemux86_64/kernel-devsrc-dev-6.12.31-r0.qemux86_64.rpm
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 7ad848c35eb..3d2eb3929e6 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -7,7 +7,7 @@ SECTION = "kernel"
>  
>  LICENSE = "GPL-2.0-only"
>  
> -inherit linux-kernel-base
> +inherit kernelsrc
>  
>  # Whilst not a module, this ensures we don't get multilib extended (which would make no sense)
>  inherit module-base
> @@ -20,14 +20,10 @@ do_install[depends] += "virtual/kernel:do_shared_workdir"
>  do_install[depends] += "virtual/kernel:do_install"
>  
>  # There's nothing to do here, except install the source where we can package it
> -do_fetch[noexec] = "1"
> -do_unpack[noexec] = "1"
> -do_patch[noexec] = "1"
>  do_configure[noexec] = "1"
>  do_compile[noexec] = "1"
>  deltask do_populate_sysroot
>  
> -S = "${STAGING_KERNEL_DIR}"
>  B = "${STAGING_KERNEL_BUILDDIR}"
>  
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
> -- 
> 2.34.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#219516): https://lists.openembedded.org/g/openembedded-core/message/219516
> Mute This Topic: https://lists.openembedded.org/mt/113906487/1050810
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH V2 1/2] kernelsrc.bbclass/perf: clean up package version while using kernel source
  2025-07-02  1:40 ` [OE-core] [PATCH 1/2] kernelsrc.bbclass/perf: " Bruce Ashfield
@ 2025-07-02  2:44   ` Hongxu Jia
  0 siblings, 0 replies; 5+ messages in thread
From: Hongxu Jia @ 2025-07-02  2:44 UTC (permalink / raw)
  To: openembedded-core

If recipe inherits bbclass kernelsrc to use kernel sources,
the recipe should explicitly set ${KERNEL_VERSION} to ${PKGV}
in task do_package, otherwise package version (${PV} is usually
default 1.0) is not consistent with kernel source.

For example, there are 5 recipes in meta-openembedded to inherit
kernelsrc, but 4 recipes explicitly set PKGV.

meta-openembedded$ grep -e "setVar(.*PKGV.*KERNEL_VERSION" -e kernelsrc -rn *
meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb:9:inherit kernelsrc
meta-oe/recipes-kernel/bpftool/bpftool.bb:8:inherit bash-completion kernelsrc kernel-arch
meta-oe/recipes-kernel/bpftool/bpftool.bb:44:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/cpupower/cpupower.bb:8:inherit kernelsrc kernel-arch bash-completion
meta-oe/recipes-kernel/cpupower/cpupower.bb:32:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/turbostat/turbostat.bb:98:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:25:inherit kernelsrc autotools-brokensep
meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:68:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/spidev-test/spidev-test.bb:7:inherit bash-completion kernelsrc kernel-arch
meta-oe/recipes-kernel/spidev-test/spidev-test.bb:26:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])

This commit clean up the setting of PKGV, move it to kernelsrc.bbclass
for common use, the recipe (such as intel-speed-select) that inherited
kernelsrc will not be required to explicitly set ${PKGV} with
${KERNEL_VERSION}

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/classes-recipe/kernelsrc.bbclass | 4 ++++
 meta/recipes-kernel/perf/perf.bb      | 4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/classes-recipe/kernelsrc.bbclass b/meta/classes-recipe/kernelsrc.bbclass
index ecb02dc9edc..93361842989 100644
--- a/meta/classes-recipe/kernelsrc.bbclass
+++ b/meta/classes-recipe/kernelsrc.bbclass
@@ -15,3 +15,7 @@ LOCAL_VERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
 
 inherit linux-kernel-base
 
+# The final packages get the kernel version instead of the default 1.0
+python do_package:prepend() {
+    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
+}
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 157aca4d791..4f29bd5bbc3 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -385,10 +385,6 @@ do_configure:prepend () {
     done
 }
 
-python do_package:prepend() {
-    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
-}
-
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-07-02  2:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-30 12:17 [PATCH 1/2] kernelsrc.bbclass/perf: make package version consistent with kernel source Hongxu Jia
2025-06-30 12:17 ` [PATCH 2/2] kernel-devsrc: " Hongxu Jia
2025-07-02  1:42   ` [OE-core] " Bruce Ashfield
2025-07-02  1:40 ` [OE-core] [PATCH 1/2] kernelsrc.bbclass/perf: " Bruce Ashfield
2025-07-02  2:44   ` [PATCH V2 1/2] kernelsrc.bbclass/perf: clean up package version while using " Hongxu Jia

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.