* Convert incorrectly formatted dependencies such as:
    "bar -> "foo" ">=" "1.2.3"
  into dependencies with edge labels:
    "bar -> "foo" [label=">= 1.2.3"]
* Remove rpmlib() and config() dependencies such as:
    "foo" -> "rpmlib(CompressedFileNames)" [label="<= 3.0.4-1"]
  and:
    "base-files" -> "config(base-files)" [label="= 3.0.14-r89.49"]
* Remove the trailing semicolon that was added to each line. It fills
  no purpose.

Signed-off-by: Peter Kjellerstedt <peter.kjellerst...@axis.com>
---
 meta/classes/buildhistory.bbclass | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/meta/classes/buildhistory.bbclass 
b/meta/classes/buildhistory.bbclass
index 3e907fc3f9..4ee7094348 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -434,13 +434,20 @@ buildhistory_get_installed() {
 
        # Produce dependency graph
        # First, quote each name to handle characters that cause issues for dot
-       sed 's:\([^| ]*\):"\1":g' ${WORKDIR}/bh_installed_pkgs_deps.txt > 
$1/depends.tmp && \
+       sed 's:\([^| ]*\):"\1":g' ${WORKDIR}/bh_installed_pkgs_deps.txt > 
$1/depends.tmp &&
                rm ${WORKDIR}/bh_installed_pkgs_deps.txt
-       # Change delimiter from pipe to -> and set style for recommend lines
-       sed -i -e 's:|: -> :' -e 's:"\[REC\]":[style=dotted]:' -e 's:$:;:' 
$1/depends.tmp
+       # Remove lines with rpmlib(...) and config(...) dependencies, change the
+       # delimiter from pipe to "->", set the style for recommend lines and
+       # turn versioned dependencies into edge labels.
+       sed -i -e '/rpmlib(/d' \
+              -e '/config(/d' \
+              -e 's:|: -> :' \
+              -e 's:"\[REC\]":[style=dotted]:' \
+              -e 's:"\([<>=]\+\)" "\([^"]*\)":[label="\1 \2"]:' \
+               $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
-       cat $1/depends.tmp | sort | uniq >> $1/depends.dot
+       cat $1/depends.tmp | sort -u >> $1/depends.dot
        echo "}" >>  $1/depends.dot
        rm $1/depends.tmp
 
-- 
2.12.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to