summaryrefslogtreecommitdiffstats
path: root/scripts/opkg-query-helper.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-11-26 12:09:52 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-11-26 23:01:32 +0000
commit960e305d9abbbeed0ed2d5251ff94cf1719e5159 (patch)
treef87d43abb5a24f12b58d73e934ee2bb05456fa75 /scripts/opkg-query-helper.py
parentbbbd6fc1d1342936b583289c6dcaf7b4ea60eb5c (diff)
downloadpoky-960e305d9abbbeed0ed2d5251ff94cf1719e5159.tar.gz
classes/image: write image manifest
Write a list of installed packages to a .manifest file next to the image, so we can find out what went into the image after it has been constructed without necessarily having to have buildhistory enabled (although that will provide more detail.) We can make use of this for example in the testimage class associated code that checks for installed packages for determining whether or not to run specific tests. Note: this replaces the previous ipk-specific manifest code with something that works for ipk, rpm and deb, and instead of a pruned status file, packages are listed one per line, in the following format: <packagename> <packagearch> <version> Tests for all three backends have shown that the performance impact of this change is negligible (about 1.5s max). Implements [YOCTO #5410] (From OE-Core rev: 2978d1f2617a33e2e3a77e249d73e998d79b4ec9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/opkg-query-helper.py')
-rwxr-xr-xscripts/opkg-query-helper.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/opkg-query-helper.py b/scripts/opkg-query-helper.py
index fa6c44fa8b..2fb1a78970 100755
--- a/scripts/opkg-query-helper.py
+++ b/scripts/opkg-query-helper.py
@@ -28,6 +28,7 @@ import re
28 28
29archmode = False 29archmode = False
30filemode = False 30filemode = False
31vermode = False
31 32
32args = [] 33args = []
33for arg in sys.argv[1:]: 34for arg in sys.argv[1:]:
@@ -35,6 +36,8 @@ for arg in sys.argv[1:]:
35 archmode = True 36 archmode = True
36 elif arg == '-f': 37 elif arg == '-f':
37 filemode = True 38 filemode = True
39 elif arg == '-v':
40 vermode = True
38 else: 41 else:
39 args.append(arg) 42 args.append(arg)
40 43
@@ -60,6 +63,12 @@ for line in fileinput.input(args):
60 elif line.startswith("Architecture:"): 63 elif line.startswith("Architecture:"):
61 arch = line.split(": ")[1] 64 arch = line.split(": ")[1]
62 print("%s %s_%s_%s.ipk %s" % (pkg,pkg,ver,arch,arch)) 65 print("%s %s_%s_%s.ipk %s" % (pkg,pkg,ver,arch,arch))
66 elif vermode:
67 if line.startswith("Version:"):
68 ver = line.split(": ")[1]
69 elif line.startswith("Architecture:"):
70 arch = line.split(": ")[1]
71 print("%s %s %s" % (pkg,arch,ver))
63 else: 72 else:
64 if line.startswith("Depends:"): 73 if line.startswith("Depends:"):
65 depval = line.split(": ")[1] 74 depval = line.split(": ")[1]