core: catch failures in graph-depends
authorYann E. MORIN <yann.morin.1998@free.fr>
Sun, 7 Feb 2016 21:34:26 +0000 (22:34 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 7 Feb 2016 22:16:11 +0000 (23:16 +0100)
Currently, we generate the dependency graph in a single command, piping
the stdout of support/scripts/.graph-depends to the stdin of dot.

Unfortunately, this means we can't catch a failure of graph-depends, as
the shell can only treturn the exit code of the last command in a pipe.

Still, we do want to keep the output of graph-depends, and we in fact do
keep it by mean of a tee.

graph-depends has just gained the ability to generate its output to a
file, so we break the pipe in two differnet commands, so we can bail out
on graph-depends errors.

Do that for the two call sites.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Makefile
package/pkg-generic.mk

index 68259fd6a1f4ae4ae662c720d4ad145d94f929dc..7c5daa43b21a1d5c0d0412529c3e417993e52c56 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -721,8 +721,10 @@ graph-depends: graph-depends-requirements
        @$(INSTALL) -d $(GRAPHS_DIR)
        @cd "$(CONFIG_DIR)"; \
        $(TOPDIR)/support/scripts/graph-depends $(BR2_GRAPH_DEPS_OPTS) \
-       |tee $(GRAPHS_DIR)/$(@).dot \
-       |dot $(BR2_GRAPH_DOT_OPTS) -T$(BR_GRAPH_OUT) -o $(GRAPHS_DIR)/$(@).$(BR_GRAPH_OUT)
+               -o $(GRAPHS_DIR)/$(@).dot
+       dot $(BR2_GRAPH_DOT_OPTS) -T$(BR_GRAPH_OUT) \
+               -o $(GRAPHS_DIR)/$(@).$(BR_GRAPH_OUT) \
+               $(GRAPHS_DIR)/$(@).dot
 
 graph-size:
        $(Q)mkdir -p $(GRAPHS_DIR)
index 1e024d34848ef292fd4044c500d7684112b72428..e22babbcd0c9716bf2b9eea3822aa3fc07b87de9 100644 (file)
@@ -668,9 +668,11 @@ $(1)-show-depends:
 $(1)-graph-depends: graph-depends-requirements
                        @$$(INSTALL) -d $$(GRAPHS_DIR)
                        @cd "$$(CONFIG_DIR)"; \
-                       $$(TOPDIR)/support/scripts/graph-depends -p $(1) $$(BR2_GRAPH_DEPS_OPTS) \
-                       |tee $$(GRAPHS_DIR)/$$(@).dot \
-                       |dot $$(BR2_GRAPH_DOT_OPTS) -T$$(BR_GRAPH_OUT) -o $$(GRAPHS_DIR)/$$(@).$$(BR_GRAPH_OUT)
+                       $$(TOPDIR)/support/scripts/graph-depends $$(BR2_GRAPH_DEPS_OPTS) \
+                               -p $(1) -o $$(GRAPHS_DIR)/$$(@).dot
+                       dot $$(BR2_GRAPH_DOT_OPTS) -T$$(BR_GRAPH_OUT) \
+                               -o $$(GRAPHS_DIR)/$$(@).$$(BR_GRAPH_OUT) \
+                               $$(GRAPHS_DIR)/$$(@).dot
 
 $(1)-all-source:       $(1)-source
 $(1)-all-source:       $$(foreach p,$$($(2)_FINAL_ALL_DEPENDENCIES),$$(p)-all-source)