Skip to content
Browse files

Communicate the structured log FD to builders

Since we may use a dedicated file descriptor in the future, this
allows us to change it. So builders can do

  if [[ -n $NIX_LOG_FD ]]; then
    echo "@nix { message... }" >&$NIX_LOG_FD
  • Loading branch information
edolstra committed Sep 8, 2017
1 parent 24e23a1 commit 88e6bb76de5564b3217be9688677d1c89101b2a3
Showing with 6 additions and 1 deletion.
  1. +6 −1 src/libstore/
@@ -2202,7 +2202,7 @@ void DerivationGoal::initEnv()
env["NIX_BUILD_CORES"] = (format("%d") % settings.buildCores).str();

/* In non-structured mode, add all bindings specified in the
derivation via the environments, except those listed in the
derivation via the environment, except those listed in the
passAsFile attribute. Those are passed as file names pointing
to temporary files containing the contents. Note that
passAsFile is ignored in structure mode because it's not
@@ -2258,6 +2258,11 @@ void DerivationGoal::initEnv()
Strings varNames = tokenizeString<Strings>(get(drv->env, "impureEnvVars"));
for (auto & i : varNames) env[i] = getEnv(i);

/* Currently structured log messages piggyback on stderr, but we
may change that in the future. So tell the builder which file
descriptor to use for that. */
env["NIX_LOG_FD"] = "2";

1 comment on commit 88e6bb7


This comment has been minimized.

Copy link

@copumpkin copumpkin commented on 88e6bb7 Sep 21, 2017


Please sign in to comment.