* [PATCH 1/2] cache: Make CoreRecipeInfo include rprovides_pkg for skipped recipes
@ 2020-12-07 21:38 Peter Kjellerstedt
2020-12-07 21:38 ` [PATCH 2/2] cooker: Include all packages a recipe provides in SkippedPackage.rprovides Peter Kjellerstedt
[not found] ` <164E8D0394A02FDA.16914@lists.openembedded.org>
0 siblings, 2 replies; 4+ messages in thread
From: Peter Kjellerstedt @ 2020-12-07 21:38 UTC (permalink / raw)
To: bitbake-devel
This will be needed by SkippedPackage in the cooker.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
bitbake/lib/bb/cache.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index b8054e028b..36270d0093 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -26,7 +26,7 @@ import re
logger = logging.getLogger("BitBake.Cache")
-__cache_version__ = "153"
+__cache_version__ = "154"
def getCacheFile(path, filename, mc, data_hash):
mcspec = ''
@@ -94,6 +94,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
if not self.packages:
self.packages.append(self.pn)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
+ self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
@@ -120,7 +121,6 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.depends = self.depvar('DEPENDS', metadata)
self.rdepends = self.depvar('RDEPENDS', metadata)
self.rrecommends = self.depvar('RRECOMMENDS', metadata)
- self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
self.rrecommends_pkg = self.pkgvar('RRECOMMENDS', self.packages, metadata)
self.inherits = self.getvar('__inherit_cache', metadata, expand=False)
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] cooker: Include all packages a recipe provides in SkippedPackage.rprovides
2020-12-07 21:38 [PATCH 1/2] cache: Make CoreRecipeInfo include rprovides_pkg for skipped recipes Peter Kjellerstedt
@ 2020-12-07 21:38 ` Peter Kjellerstedt
[not found] ` <164E8D0394A02FDA.16914@lists.openembedded.org>
1 sibling, 0 replies; 4+ messages in thread
From: Peter Kjellerstedt @ 2020-12-07 21:38 UTC (permalink / raw)
To: bitbake-devel
The provided packages by a skipped recipe are supposed to be listed in
SkippedPackage.rprovides, which is used when generating a meaningful
error message when a build fails because of a skipped package.
Previously this variable only contained the contents of ${RPROVIDES}.
However, most recipes don't define RPROVIDES, they define
RPROVIDES_<pkg> for each package they provide. Additionally, the recipe
provides the packages in PACKAGES without them being included in
${RPROVIDES}.
Before this change, having a runtime dependency on a skipped non-recipe
package would result in a build error stating that the build failed
because the package was skipped, but without providing any reason for
why it was skipped.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
bitbake/lib/bb/cooker.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 1f4cc1e96d..83cfee7fb4 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -73,7 +73,9 @@ class SkippedPackage:
self.pn = info.pn
self.skipreason = info.skipreason
self.provides = info.provides
- self.rprovides = info.rprovides
+ self.rprovides = info.packages + info.rprovides
+ for package in info.packages:
+ self.rprovides += info.rprovides_pkg[package]
elif reason:
self.skipreason = reason
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [bitbake-devel] [PATCH 2/2] cooker: Include all packages a recipe provides in SkippedPackage.rprovides
[not found] ` <164E8D0394A02FDA.16914@lists.openembedded.org>
@ 2020-12-21 11:57 ` Peter Kjellerstedt
2021-01-22 19:38 ` Peter Kjellerstedt
1 sibling, 0 replies; 4+ messages in thread
From: Peter Kjellerstedt @ 2020-12-21 11:57 UTC (permalink / raw)
To: bitbake-devel
*ping*
//Peter
> -----Original Message-----
> From: bitbake-devel@lists.openembedded.org <bitbake-
> devel@lists.openembedded.org> On Behalf Of Peter Kjellerstedt
> Sent: den 7 december 2020 22:39
> To: bitbake-devel@lists.openembedded.org
> Subject: [bitbake-devel] [PATCH 2/2] cooker: Include all packages a
> recipe provides in SkippedPackage.rprovides
>
> The provided packages by a skipped recipe are supposed to be listed in
> SkippedPackage.rprovides, which is used when generating a meaningful
> error message when a build fails because of a skipped package.
> Previously this variable only contained the contents of ${RPROVIDES}.
> However, most recipes don't define RPROVIDES, they define
> RPROVIDES_<pkg> for each package they provide. Additionally, the recipe
> provides the packages in PACKAGES without them being included in
> ${RPROVIDES}.
>
> Before this change, having a runtime dependency on a skipped non-recipe
> package would result in a build error stating that the build failed
> because the package was skipped, but without providing any reason for
> why it was skipped.
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
> bitbake/lib/bb/cooker.py | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
> index 1f4cc1e96d..83cfee7fb4 100644
> --- a/bitbake/lib/bb/cooker.py
> +++ b/bitbake/lib/bb/cooker.py
> @@ -73,7 +73,9 @@ class SkippedPackage:
> self.pn = info.pn
> self.skipreason = info.skipreason
> self.provides = info.provides
> - self.rprovides = info.rprovides
> + self.rprovides = info.packages + info.rprovides
> + for package in info.packages:
> + self.rprovides += info.rprovides_pkg[package]
> elif reason:
> self.skipreason = reason
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [bitbake-devel] [PATCH 2/2] cooker: Include all packages a recipe provides in SkippedPackage.rprovides
[not found] ` <164E8D0394A02FDA.16914@lists.openembedded.org>
2020-12-21 11:57 ` [bitbake-devel] " Peter Kjellerstedt
@ 2021-01-22 19:38 ` Peter Kjellerstedt
1 sibling, 0 replies; 4+ messages in thread
From: Peter Kjellerstedt @ 2021-01-22 19:38 UTC (permalink / raw)
To: Steve Sakoman, Mittal, Anuj; +Cc: bitbake-devel
Can these two bitbake patches be backported to Dunfell and Gatesgarth?
93d01614565bd540d05fbc1791dd66e46723d683
efd026c26a377b826a49b945a8212bf7de8a480a
For Gatesgarth they should apply without any conflicts.
For Dunfell there is a conflict in bitbake/lib/bb/cache.py due
to __cache_version__ having changed.
//Peter
> -----Original Message-----
> From: bitbake-devel@lists.openembedded.org <bitbake-
> devel@lists.openembedded.org> On Behalf Of Peter Kjellerstedt
> Sent: den 7 december 2020 22:39
> To: bitbake-devel@lists.openembedded.org
> Subject: [bitbake-devel] [PATCH 2/2] cooker: Include all packages a
> recipe provides in SkippedPackage.rprovides
>
> The provided packages by a skipped recipe are supposed to be listed in
> SkippedPackage.rprovides, which is used when generating a meaningful
> error message when a build fails because of a skipped package.
> Previously this variable only contained the contents of ${RPROVIDES}.
> However, most recipes don't define RPROVIDES, they define
> RPROVIDES_<pkg> for each package they provide. Additionally, the recipe
> provides the packages in PACKAGES without them being included in
> ${RPROVIDES}.
>
> Before this change, having a runtime dependency on a skipped non-recipe
> package would result in a build error stating that the build failed
> because the package was skipped, but without providing any reason for
> why it was skipped.
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
> ---
> bitbake/lib/bb/cooker.py | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
> index 1f4cc1e96d..83cfee7fb4 100644
> --- a/bitbake/lib/bb/cooker.py
> +++ b/bitbake/lib/bb/cooker.py
> @@ -73,7 +73,9 @@ class SkippedPackage:
> self.pn = info.pn
> self.skipreason = info.skipreason
> self.provides = info.provides
> - self.rprovides = info.rprovides
> + self.rprovides = info.packages + info.rprovides
> + for package in info.packages:
> + self.rprovides += info.rprovides_pkg[package]
> elif reason:
> self.skipreason = reason
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-01-22 19:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-07 21:38 [PATCH 1/2] cache: Make CoreRecipeInfo include rprovides_pkg for skipped recipes Peter Kjellerstedt
2020-12-07 21:38 ` [PATCH 2/2] cooker: Include all packages a recipe provides in SkippedPackage.rprovides Peter Kjellerstedt
[not found] ` <164E8D0394A02FDA.16914@lists.openembedded.org>
2020-12-21 11:57 ` [bitbake-devel] " Peter Kjellerstedt
2021-01-22 19:38 ` Peter Kjellerstedt
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.