From a4cad32c3d13908303f480677b189844a70705bf Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 15 Oct 2012 16:01:30 -0400 Subject: [PATCH] Generate more user-friendly script filenames This is primarily important in journal entries. --- modules/system/boot/systemd.nix | 12 +++++++----- modules/system/upstart/upstart.nix | 10 +++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/modules/system/boot/systemd.nix b/modules/system/boot/systemd.nix index 2545eaf7393..66cc048d9c0 100644 --- a/modules/system/boot/systemd.nix +++ b/modules/system/boot/systemd.nix @@ -158,7 +158,9 @@ let KillSignal=SIGHUP ''; - makeJobScript = name: content: "${pkgs.writeScriptBin name content}/bin/${name}"; + makeJobScript = name: text: + let x = pkgs.writeTextFile { name = "unit-script"; executable = true; destination = "/bin/${name}"; inherit text; }; + in "${x}/bin/${name}"; unitConfig = { name, config, ... }: { config = { @@ -224,28 +226,28 @@ let ${optionalString (!def.restartIfChanged) "X-RestartIfChanged=false"} ${optionalString (def.preStart != "") '' - ExecStartPre=${makeJobScript "prestart.sh" '' + ExecStartPre=${makeJobScript "${name}-pre-start" '' #! ${pkgs.stdenv.shell} -e ${def.preStart} ''} ''} ${optionalString (def.script != "") '' - ExecStart=${makeJobScript "start.sh" '' + ExecStart=${makeJobScript "${name}-start" '' #! ${pkgs.stdenv.shell} -e ${def.script} ''} ''} ${optionalString (def.postStart != "") '' - ExecStartPost=${makeJobScript "poststart.sh" '' + ExecStartPost=${makeJobScript "${name}-post-start" '' #! ${pkgs.stdenv.shell} -e ${def.postStart} ''} ''} ${optionalString (def.postStop != "") '' - ExecStopPost=${makeJobScript "poststop.sh" '' + ExecStopPost=${makeJobScript "${name}-post-stop" '' #! ${pkgs.stdenv.shell} -e ${def.postStop} ''} diff --git a/modules/system/upstart/upstart.nix b/modules/system/upstart/upstart.nix index 9d17b352dc8..5761ed4c5a4 100644 --- a/modules/system/upstart/upstart.nix +++ b/modules/system/upstart/upstart.nix @@ -21,13 +21,13 @@ let env = config.system.upstartEnvironment // job.environment; - preStartScript = makeJobScript "${job.name}-pre-start.sh" + preStartScript = makeJobScript "${job.name}-pre-start" '' #! ${pkgs.stdenv.shell} -e ${job.preStart} ''; - startScript = makeJobScript "${job.name}-start.sh" + startScript = makeJobScript "${job.name}-start" '' #! ${pkgs.stdenv.shell} -e ${if job.script != "" then job.script else '' @@ -35,19 +35,19 @@ let ''} ''; - postStartScript = makeJobScript "${job.name}-post-start.sh" + postStartScript = makeJobScript "${job.name}-post-start" '' #! ${pkgs.stdenv.shell} -e ${job.postStart} ''; - preStopScript = makeJobScript "${job.name}-pre-stop.sh" + preStopScript = makeJobScript "${job.name}-pre-stop" '' #! ${pkgs.stdenv.shell} -e ${job.preStop} ''; - postStopScript = makeJobScript "${job.name}-post-stop.sh" + postStopScript = makeJobScript "${job.name}-post-stop" '' #! ${pkgs.stdenv.shell} -e ${job.postStop}