From 2ac38bb79d4444a713ad77ac17b53cc5dc4913f6 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 18 Jun 2017 12:22:48 +0200 Subject: whatsupnix: define NIX_PAGER for remote nix-store --- krebs/5pkgs/simple/whatsupnix/whatsupnix.bash | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'krebs/5pkgs/simple/whatsupnix/whatsupnix.bash') diff --git a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash index eba44be1c..7089e8897 100644 --- a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash +++ b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash @@ -28,7 +28,7 @@ $GAWK -v broken="$broken" ' case $# in 0) print_log() { - $NIX_STORE -l "$1" + NIX_PAGER= $NIX_STORE -l "$1" } ;; 1) @@ -47,7 +47,7 @@ case $# in remote_host=$1 print_log() { ssh "$remote_user@$remote_host" -p "$remote_port" \ - nix-store -l "$1" + env NIX_PAGER= nix-store -l "$1" } ;; *) @@ -55,7 +55,6 @@ case $# in exit 1 esac -export NIX_PAGER='' # for nix-store while read -r drv; do title="** FAILED $drv LOG **" frame=${title//?/*} -- cgit v1.2.3 From 9f2b087650fc27d80e91e9f44d1af3a94155b95e Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 18 Jun 2017 12:30:08 +0200 Subject: whatsupnix: exit 2 if there were build errors --- krebs/5pkgs/simple/whatsupnix/whatsupnix.bash | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'krebs/5pkgs/simple/whatsupnix/whatsupnix.bash') diff --git a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash index 7089e8897..1d93f3e5c 100644 --- a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash +++ b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash @@ -1,14 +1,21 @@ #!/usr/bin/env bash - +# # Prints build logs for failed derivations in quiet build mode (-Q). # See https://github.com/NixOS/nix/issues/443 # # Usage: # -# set -o pipefail # nix-build ... -Q ... | whatsupnix [user@target[:port]] # - +# Exit Codes: +# +# 0 No failed derivations could be found. This either means there where +# no build errors, or stdin wasn't nix-build output. +# +# 1 Usage error; arguments couldn't be parsed. +# +# 2 Build error; at least one failed derivation could be found. +# GAWK=${GAWK:-gawk} NIX_STORE=${NIX_STORE:-nix-store} @@ -69,4 +76,8 @@ while read -r drv; do echo done < "$broken" -exit 0 +if test -s "$broken"; then + exit 2 +else + exit 0 +fi -- cgit v1.2.3 From 0f1ba8dfd4863876a12c5736123680cfa3d194b2 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 18 Jun 2017 12:33:46 +0200 Subject: whatsupnix: s/broken/failed_drvs/ --- krebs/5pkgs/simple/whatsupnix/whatsupnix.bash | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'krebs/5pkgs/simple/whatsupnix/whatsupnix.bash') diff --git a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash index 1d93f3e5c..35785f192 100644 --- a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash +++ b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash @@ -20,14 +20,14 @@ GAWK=${GAWK:-gawk} NIX_STORE=${NIX_STORE:-nix-store} -broken=$(mktemp) -trap 'rm -f -- "$broken"' EXIT +failed_drvs=$(mktemp --tmpdir whatsupnix.XXXXXXXX) +trap 'rm -f -- "$failed_drvs"' EXIT exec >&2 -$GAWK -v broken="$broken" ' +$GAWK -v failed_drvs="$failed_drvs" ' match($0, /^builder for ‘(\/nix\/store\/[^’]+\.drv)’ failed/, m) { - print m[1] >> broken + print m[1] >> failed_drvs } { print $0 } ' @@ -74,9 +74,9 @@ while read -r drv; do print_log "$drv" echo -done < "$broken" +done < "$failed_drvs" -if test -s "$broken"; then +if test -s "$failed_drvs"; then exit 2 else exit 0 -- cgit v1.2.3 From ce89fd63d5d3ed3dc701b11a79d392294d35bd76 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 18 Jun 2017 12:34:34 +0200 Subject: whatsupnix: talk about 2>&1 --- krebs/5pkgs/simple/whatsupnix/whatsupnix.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'krebs/5pkgs/simple/whatsupnix/whatsupnix.bash') diff --git a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash index 35785f192..042763048 100644 --- a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash +++ b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash @@ -5,7 +5,7 @@ # # Usage: # -# nix-build ... -Q ... | whatsupnix [user@target[:port]] +# nix-build ... -Q ... 2>&1 | whatsupnix [user@target[:port]] # # Exit Codes: # -- cgit v1.2.3