Browse Source

bitbake: cache: don't insert PN into PACKAGES

The cache code currently inserts PN into the package list if it isn't already
present.  Whilst this ensures that the package list contains something which is
important for native recipes that don't set PACKAGES, it causes confusing
behaviour where a normal recipe doesn't have PN in PACKAGES: for example adding
dhcp to IMAGE_INSTALL will parse successfully but fail at rootfs time as the
dhcp recipe doesn't generate a dhcp package.

Solve this by only adding PN to the cache's package list if the package list is
empty.  This results in the package list for recipes such as DHCP being correct,
but native recipes continue to have just PN in the list as before.

[ YOCTO #5533 ]

(Bitbake rev: df31a88786ce5bd7708ff14e1379dc2a58a8c0cf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton 8 years ago
parent
commit
3dea09570a
1 changed files with 2 additions and 2 deletions
  1. 2 2
      bitbake/lib/bb/cache.py

+ 2 - 2
bitbake/lib/bb/cache.py

@@ -107,7 +107,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
 
         self.pn = self.getvar('PN', metadata)
         self.packages = self.listvar('PACKAGES', metadata)
-        if not self.pn in self.packages:
+        if not self.packages:
             self.packages.append(self.pn)
 
         self.basetaskhashes = self.taskvar('BB_BASEHASH', self.tasks, metadata)
@@ -217,7 +217,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
             cachedata.packages_dynamic[package].append(fn)
 
         # Build hash of runtime depends and recommends
-        for package in self.packages + [self.pn]:
+        for package in self.packages:
             cachedata.rundeps[fn][package] = list(self.rdepends) + self.rdepends_pkg[package]
             cachedata.runrecs[fn][package] = list(self.rrecommends) + self.rrecommends_pkg[package]