summary refs log tree commit diff
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2018-09-02 14:28:10 -0400
committerGitHub <noreply@github.com>2018-09-02 14:28:10 -0400
commitf14b6cb6ecd9b1a41e5cd939efeb966f612e4b07 (patch)
tree0316b9182bf6e68e3c4d0dbcc25b59394b052556
parente2a731fc5cc18a37434cf209bbcb785d0769b06f (diff)
parent6a25a35e704689d2bfa6c39032844674e6fdb3fd (diff)
downloadnixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.tar
nixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.tar.gz
nixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.tar.bz2
nixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.tar.lz
nixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.tar.xz
nixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.tar.zst
nixlib-f14b6cb6ecd9b1a41e5cd939efeb966f612e4b07.zip
Merge pull request #44526 from samueldr/feature/actiavation-failure-identification
nixos/activation: Identifies the snippet that failed
-rw-r--r--nixos/modules/system/activation/activation-script.nix7
1 files changed, 6 insertions, 1 deletions
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix
index c563614caaaf..93a1b13a81dd 100644
--- a/nixos/modules/system/activation/activation-script.nix
+++ b/nixos/modules/system/activation/activation-script.nix
@@ -8,7 +8,12 @@ let
   addAttributeName = mapAttrs (a: v: v // {
     text = ''
       #### Activation script snippet ${a}:
+      _localstatus=0
       ${v.text}
+
+      if (( _localstatus > 0 )); then
+        printf "Activation script snippet '%s' failed (%s)\n" "${a}" "$_localstatus"
+      fi
     '';
   });
 
@@ -71,7 +76,7 @@ in
             done
 
             _status=0
-            trap "_status=1" ERR
+            trap "_status=1 _localstatus=\$?" ERR
 
             # Ensure a consistent umask.
             umask 0022