All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] linux: add bbappend for generic cases
@ 2020-02-25  6:47 Lee Chee Yang
  2020-02-25 13:33 ` [meta-virtualization] " Bruce Ashfield
  0 siblings, 1 reply; 5+ messages in thread
From: Lee Chee Yang @ 2020-02-25  6:47 UTC (permalink / raw)
  To: meta-virtualization

From: Chee Yang Lee <chee.yang.lee@intel.com>

add generic .bbappend for linux kernel recipe to allow
all linux kernel recipe with name "linux-%" to enjoy the
kernel config from virtualization layer.

[YOCTO #13727]

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
---
 recipes-kernel/linux/linux-%.bbappend | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 recipes-kernel/linux/linux-%.bbappend

diff --git a/recipes-kernel/linux/linux-%.bbappend b/recipes-kernel/linux/linux-%.bbappend
new file mode 100644
index 0000000..20eeba9
--- /dev/null
+++ b/recipes-kernel/linux/linux-%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto_virtualization.inc', '', d)}
-- 
2.7.4


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

* Re: [meta-virtualization] [PATCH] linux: add bbappend for generic cases
  2020-02-25  6:47 [PATCH] linux: add bbappend for generic cases Lee Chee Yang
@ 2020-02-25 13:33 ` Bruce Ashfield
  2020-02-25 13:37   ` Richard Purdie
  2020-02-26 14:30   ` Bruce Ashfield
  0 siblings, 2 replies; 5+ messages in thread
From: Bruce Ashfield @ 2020-02-25 13:33 UTC (permalink / raw)
  To: Lee Chee Yang, Richard Purdie; +Cc: meta-virtualization

On Tue, Feb 25, 2020 at 1:47 AM Lee Chee Yang <chee.yang.lee@intel.com> wrote:
>
> From: Chee Yang Lee <chee.yang.lee@intel.com>
>
> add generic .bbappend for linux kernel recipe to allow
> all linux kernel recipe with name "linux-%" to enjoy the
> kernel config from virtualization layer.

The generic bbappend makes sense, but having them completely
unversioned is an issue. Having them completely generic gives us no
way to adjust the names as they change over time (and they do) and can
give the false impression that they've been tested or are valid for
any version.

Last I checked, the % wildcard means "until the end", so we can't do
linux-%_<version>.bbappend

I've always had the LINUX_VERSION variable in linux-yocto for cases
like this, so I'm wondering if not only can we check the distro
feature, but can we also check the version before doing the kernel
feature addition ?

I've cc'd Richard, in case he sees this and can offer a suggestion.

I'll think on this more, since I'd rather collapse all the
linux-yocto* bbappends, into a single bbappend that works like this,
so not only can it be used by other kernels, I can actually test it :D

Bruce


>
> [YOCTO #13727]
>
> Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
> ---
>  recipes-kernel/linux/linux-%.bbappend | 1 +
>  1 file changed, 1 insertion(+)
>  create mode 100644 recipes-kernel/linux/linux-%.bbappend
>
> diff --git a/recipes-kernel/linux/linux-%.bbappend b/recipes-kernel/linux/linux-%.bbappend
> new file mode 100644
> index 0000000..20eeba9
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-%.bbappend
> @@ -0,0 +1 @@
> +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto_virtualization.inc', '', d)}
> --
> 2.7.4
>
> 



--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

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

* Re: [meta-virtualization] [PATCH] linux: add bbappend for generic cases
  2020-02-25 13:33 ` [meta-virtualization] " Bruce Ashfield
@ 2020-02-25 13:37   ` Richard Purdie
  2020-02-25 13:41     ` Bruce Ashfield
  2020-02-26 14:30   ` Bruce Ashfield
  1 sibling, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2020-02-25 13:37 UTC (permalink / raw)
  To: Bruce Ashfield, Lee Chee Yang; +Cc: meta-virtualization

On Tue, 2020-02-25 at 08:33 -0500, Bruce Ashfield wrote:
> On Tue, Feb 25, 2020 at 1:47 AM Lee Chee Yang <
> chee.yang.lee@intel.com> wrote:
> > From: Chee Yang Lee <chee.yang.lee@intel.com>
> > 
> > add generic .bbappend for linux kernel recipe to allow
> > all linux kernel recipe with name "linux-%" to enjoy the
> > kernel config from virtualization layer.
> 
> The generic bbappend makes sense, but having them completely
> unversioned is an issue. Having them completely generic gives us no
> way to adjust the names as they change over time (and they do) and
> can
> give the false impression that they've been tested or are valid for
> any version.
> 
> Last I checked, the % wildcard means "until the end", so we can't do
> linux-%_<version>.bbappend
> 
> I've always had the LINUX_VERSION variable in linux-yocto for cases
> like this, so I'm wondering if not only can we check the distro
> feature, but can we also check the version before doing the kernel
> feature addition ?
> 
> I've cc'd Richard, in case he sees this and can offer a suggestion.
> 
> I'll think on this more, since I'd rather collapse all the
> linux-yocto* bbappends, into a single bbappend that works like this,
> so not only can it be used by other kernels, I can actually test it
> :D

There are a few options. You could for example probably do something
like:

include ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto-${LINUX_VERSION}_virtualization.inc', '', d)}

(note include instead of require)

Cheers,

Richard


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

* Re: [meta-virtualization] [PATCH] linux: add bbappend for generic cases
  2020-02-25 13:37   ` Richard Purdie
@ 2020-02-25 13:41     ` Bruce Ashfield
  0 siblings, 0 replies; 5+ messages in thread
From: Bruce Ashfield @ 2020-02-25 13:41 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Lee Chee Yang, meta-virtualization

On Tue, Feb 25, 2020 at 8:37 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Tue, 2020-02-25 at 08:33 -0500, Bruce Ashfield wrote:
> > On Tue, Feb 25, 2020 at 1:47 AM Lee Chee Yang <
> > chee.yang.lee@intel.com> wrote:
> > > From: Chee Yang Lee <chee.yang.lee@intel.com>
> > >
> > > add generic .bbappend for linux kernel recipe to allow
> > > all linux kernel recipe with name "linux-%" to enjoy the
> > > kernel config from virtualization layer.
> >
> > The generic bbappend makes sense, but having them completely
> > unversioned is an issue. Having them completely generic gives us no
> > way to adjust the names as they change over time (and they do) and
> > can
> > give the false impression that they've been tested or are valid for
> > any version.
> >
> > Last I checked, the % wildcard means "until the end", so we can't do
> > linux-%_<version>.bbappend
> >
> > I've always had the LINUX_VERSION variable in linux-yocto for cases
> > like this, so I'm wondering if not only can we check the distro
> > feature, but can we also check the version before doing the kernel
> > feature addition ?
> >
> > I've cc'd Richard, in case he sees this and can offer a suggestion.
> >
> > I'll think on this more, since I'd rather collapse all the
> > linux-yocto* bbappends, into a single bbappend that works like this,
> > so not only can it be used by other kernels, I can actually test it
> > :D
>
> There are a few options. You could for example probably do something
> like:
>
> include ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto-${LINUX_VERSION}_virtualization.inc', '', d)}
>
> (note include instead of require)

Indeed!

I'll try and pull something together for this, since I do want that
version variable to come into play, otherwise, we are looking at nasty
runtime debug versus an easier to diagnose build/config time thing.

Thanks Richard,

Bruce

>
> Cheers,
>
> Richard
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

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

* Re: [meta-virtualization] [PATCH] linux: add bbappend for generic cases
  2020-02-25 13:33 ` [meta-virtualization] " Bruce Ashfield
  2020-02-25 13:37   ` Richard Purdie
@ 2020-02-26 14:30   ` Bruce Ashfield
  1 sibling, 0 replies; 5+ messages in thread
From: Bruce Ashfield @ 2020-02-26 14:30 UTC (permalink / raw)
  To: Lee Chee Yang, Richard Purdie; +Cc: meta-virtualization

[-- Attachment #1: Type: text/plain, Size: 2458 bytes --]

In message: Re: [meta-virtualization] [PATCH] linux: add bbappend for generic cases
on 25/02/2020 Bruce Ashfield wrote:

> On Tue, Feb 25, 2020 at 1:47 AM Lee Chee Yang <chee.yang.lee@intel.com> wrote:
> >
> > From: Chee Yang Lee <chee.yang.lee@intel.com>
> >
> > add generic .bbappend for linux kernel recipe to allow
> > all linux kernel recipe with name "linux-%" to enjoy the
> > kernel config from virtualization layer.
> 
> The generic bbappend makes sense, but having them completely
> unversioned is an issue. Having them completely generic gives us no
> way to adjust the names as they change over time (and they do) and can
> give the false impression that they've been tested or are valid for
> any version.
> 
> Last I checked, the % wildcard means "until the end", so we can't do
> linux-%_<version>.bbappend
> 
> I've always had the LINUX_VERSION variable in linux-yocto for cases
> like this, so I'm wondering if not only can we check the distro
> feature, but can we also check the version before doing the kernel
> feature addition ?
> 
> I've cc'd Richard, in case he sees this and can offer a suggestion.
> 
> I'll think on this more, since I'd rather collapse all the
> linux-yocto* bbappends, into a single bbappend that works like this,
> so not only can it be used by other kernels, I can actually test it :D

I've come up with the following patch. It works for linux-yocto*, and
is setup to work for any fragment enabled kernel.

I'm sure someone will point out a parse ordering, or some other
corner case, but this is the direction I'd like to go with this.

Cheers,

Bruce

> 
> Bruce
> 
> 
> >
> > [YOCTO #13727]
> >
> > Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
> > ---
> >  recipes-kernel/linux/linux-%.bbappend | 1 +
> >  1 file changed, 1 insertion(+)
> >  create mode 100644 recipes-kernel/linux/linux-%.bbappend
> >
> > diff --git a/recipes-kernel/linux/linux-%.bbappend b/recipes-kernel/linux/linux-%.bbappend
> > new file mode 100644
> > index 0000000..20eeba9
> > --- /dev/null
> > +++ b/recipes-kernel/linux/linux-%.bbappend
> > @@ -0,0 +1 @@
> > +require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto_virtualization.inc', '', d)}
> > --
> > 2.7.4
> >
> > 
> 
> 
> 
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II

[-- Attachment #2: 0001-kernel-allow-fragment-re-use-from-any-aware-kernel.patch --]
[-- Type: text/x-diff, Size: 4323 bytes --]

From f2f36a8061c600b35b5f0ce1599d59f1d144a3aa Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Wed, 26 Feb 2020 08:53:04 -0500
Subject: [PATCH] kernel: allow fragment re-use from any aware kernel

The kernel fragments contained in this layer could not easily
be consumed by any fragment aware kernel not called "linux-yocto".

To make them easier to include, we make the bbappend more generic,
to match any linux*.bb recipe (note: this means it will match
things like linux-atm.bb as well).

To avoid adding the fragments to recipes that can't use them,
or to a version that hasn't been valided, we use the LINUX_VERSION
variable to pull out the major/minor kernel release and then
include a specific version of the .inc file.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 recipes-kernel/linux/linux-%.bbappend                  | 10 ++++++++++
 recipes-kernel/linux/linux-yocto-rt_%.bbappend         |  1 -
 recipes-kernel/linux/linux-yocto_5.2.bbappend          |  1 -
 .../linux/linux-yocto_5.2_virtualization.inc           |  4 ++++
 recipes-kernel/linux/linux-yocto_5.4.bbappend          |  1 -
 .../linux/linux-yocto_5.4_virtualization.inc           |  4 ++++
 6 files changed, 18 insertions(+), 3 deletions(-)
 create mode 100644 recipes-kernel/linux/linux-%.bbappend
 delete mode 100644 recipes-kernel/linux/linux-yocto-rt_%.bbappend
 delete mode 100644 recipes-kernel/linux/linux-yocto_5.2.bbappend
 create mode 100644 recipes-kernel/linux/linux-yocto_5.2_virtualization.inc
 delete mode 100644 recipes-kernel/linux/linux-yocto_5.4.bbappend
 create mode 100644 recipes-kernel/linux/linux-yocto_5.4_virtualization.inc

diff --git a/recipes-kernel/linux/linux-%.bbappend b/recipes-kernel/linux/linux-%.bbappend
new file mode 100644
index 0000000..2a2335b
--- /dev/null
+++ b/recipes-kernel/linux/linux-%.bbappend
@@ -0,0 +1,10 @@
+# any kernel recipe with fragment support, that sets LINUX_VERSION to one of the tested
+# values, will get the appropriate fragments included in their SRC_URI
+
+LINUX_MAJOR = "${@(d.getVar('LINUX_VERSION') or "x.y").split('.')[0]}"
+LINUX_MINOR = "${@(d.getVar('LINUX_VERSION') or "x.y").split('.')[1]}"
+
+include ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto_${LINUX_MAJOR}.${LINUX_MINOR}_virtualization.inc', '', d)}
+
+
+
diff --git a/recipes-kernel/linux/linux-yocto-rt_%.bbappend b/recipes-kernel/linux/linux-yocto-rt_%.bbappend
deleted file mode 100644
index 20eeba9..0000000
--- a/recipes-kernel/linux/linux-yocto-rt_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-yocto_virtualization.inc', '', d)}
diff --git a/recipes-kernel/linux/linux-yocto_5.2.bbappend b/recipes-kernel/linux/linux-yocto_5.2.bbappend
deleted file mode 100644
index 617cacc..0000000
--- a/recipes-kernel/linux/linux-yocto_5.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)}
diff --git a/recipes-kernel/linux/linux-yocto_5.2_virtualization.inc b/recipes-kernel/linux/linux-yocto_5.2_virtualization.inc
new file mode 100644
index 0000000..5931148
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto_5.2_virtualization.inc
@@ -0,0 +1,4 @@
+# include the baseline meta virtualization configuration options
+# after this include, we can do version specific things
+
+include linux-yocto_virtualization.inc
diff --git a/recipes-kernel/linux/linux-yocto_5.4.bbappend b/recipes-kernel/linux/linux-yocto_5.4.bbappend
deleted file mode 100644
index 617cacc..0000000
--- a/recipes-kernel/linux/linux-yocto_5.4.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)}
diff --git a/recipes-kernel/linux/linux-yocto_5.4_virtualization.inc b/recipes-kernel/linux/linux-yocto_5.4_virtualization.inc
new file mode 100644
index 0000000..5931148
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto_5.4_virtualization.inc
@@ -0,0 +1,4 @@
+# include the baseline meta virtualization configuration options
+# after this include, we can do version specific things
+
+include linux-yocto_virtualization.inc
-- 
2.19.1


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

end of thread, other threads:[~2020-02-26 14:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-25  6:47 [PATCH] linux: add bbappend for generic cases Lee Chee Yang
2020-02-25 13:33 ` [meta-virtualization] " Bruce Ashfield
2020-02-25 13:37   ` Richard Purdie
2020-02-25 13:41     ` Bruce Ashfield
2020-02-26 14:30   ` Bruce Ashfield

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.