summaryrefslogtreecommitdiffstats
path: root/meta/classes/buildhistory.bbclass
diff options
context:
space:
mode:
authorAndres Beltran <abeltran@linux.microsoft.com>2021-08-30 22:53:03 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-01 14:05:41 +0100
commit2ba33093017574bbe29eeba699eb90628614d03a (patch)
treeb942c4b43714941e7e4be233e8170799a0b048c8 /meta/classes/buildhistory.bbclass
parent4accf77ea5b5810cb2330acc6773690ec1b1c71b (diff)
downloadopenembedded-core-contrib-2ba33093017574bbe29eeba699eb90628614d03a.tar.gz
buildhistory: Label packages providing per-file dependencies in depends.dot
Currently, depends.dot includes per-file dependencies but not the packages providing those files. This makes it hard to obtain all package dependencies by just looking at depends.dot. Parse the RPROVIDES and FILERPROVIDES fields from pkgdata to map each of their values to the package providing the component. Include runtime packages as dependencies in depends.dot, together with the component provided by the package as a label. Signed-off-by: Andres Beltran <abeltran@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/buildhistory.bbclass')
-rw-r--r--meta/classes/buildhistory.bbclass4
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index cdcf99a499..a613306270 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -446,7 +446,7 @@ def buildhistory_list_installed(d, rootfs_type="image"):
output_file_full = os.path.join(d.getVar('WORKDIR'), output_file)
with open(output_file_full, 'w') as output:
- output.write(format_pkg_list(pkgs, output_type))
+ output.write(format_pkg_list(pkgs, output_type, d.getVar('PKGDATA_DIR')))
python buildhistory_list_installed_image() {
buildhistory_list_installed(d)
@@ -487,6 +487,8 @@ buildhistory_get_installed() {
-e 's:|: -> :' \
-e 's:"\[REC\]":[style=dotted]:' \
-e 's:"\([<>=]\+\)" "\([^"]*\)":[label="\1 \2"]:' \
+ -e 's:"\([*]\+\)" "\([^"]*\)":[label="\2"]:' \
+ -e 's:"\[RPROVIDES\]":[style=dashed]:' \
$1/depends.tmp
# Add header, sorted and de-duped contents and footer and then delete the temp file
printf "digraph depends {\n node [shape=plaintext]\n" > $1/depends.dot