testimage.bbclass: Don't require an image manifest

Sometimes an "image" may not actually have a manifest file such as when
using a "baremetal kernel". This change allows for  a user to set a
IMAGE_NO_MANIFEST flag to 1 in order to inform the code that there is no
corresponding manifest that should exist for an image.

(From OE-Core rev: 78f5c3cb3971c31a950deb5cab8992f3ba577440)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Randy Witt 2015-09-16 14:45:49 -07:00 committed by Richard Purdie
parent 39c11d8296
commit a66f586729
1 changed files with 11 additions and 5 deletions

View File

@ -279,14 +279,20 @@ def testimage_main(d):
self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split()
self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split()
manifest = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + ".manifest")
nomanifest = d.getVar("IMAGE_NO_MANIFEST", True)
self.sigterm = False
self.origsigtermhandler = signal.getsignal(signal.SIGTERM)
signal.signal(signal.SIGTERM, self.sigterm_exception)
try:
with open(manifest) as f:
self.pkgmanifest = f.read()
except IOError as e:
bb.fatal("No package manifest file found. Did you build the image?\n%s" % e)
if nomanifest is None or nomanifest != "1":
try:
with open(manifest) as f:
self.pkgmanifest = f.read()
except IOError as e:
bb.fatal("No package manifest file found. Did you build the image?\n%s" % e)
else:
self.pkgmanifest = ""
def sigterm_exception(self, signum, stackframe):
bb.warn("TestImage received SIGTERM, shutting down...")