From 047fe2fe23a902c777e10ba37534b8a1b7072a1e Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 12 Jun 2021 17:28:00 +0200 Subject: [PATCH 1/3] emptyFile, emptyDirectory: init --- pkgs/build-support/trivial-builders.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 0bf67d21b3be..219f808403cc 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -571,6 +571,22 @@ rec { installPhase = "cp -R ./ $out"; }; + /* An immutable file in the store with a length of 0 bytes. */ + emptyFile = runCommand "empty-file" { + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p"; + preferLocalBuild = true; + } "touch $out"; + + /* An immutable empty directory in the store. */ + emptyDirectory = runCommand "empty-directory" { + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; + preferLocalBuild = true; + } "mkdir $out"; + /* Checks the command output contains the specified version * * Although simplistic, this test assures that the main program From d48591123f4d5936ef6c9fd5d963ce3b1925d4c4 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 12 Jun 2021 17:28:42 +0200 Subject: [PATCH 2/3] nixos/apache-httpd: Use pkgs.emptyDirectory --- nixos/modules/services/web-servers/apache-httpd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index a7b93c9c4598..df7035c03cc2 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -202,7 +202,7 @@ let let documentRoot = if hostOpts.documentRoot != null then hostOpts.documentRoot - else pkgs.runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out" + else pkgs.emptyDirectory ; mkLocations = locations: concatStringsSep "\n" (map (config: '' From c38c5dba10e5a239a4d297c64f4c0a5fd2d5e1b9 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 12 Jun 2021 17:29:27 +0200 Subject: [PATCH 3/3] tests.trivial: Add emptyFile, emptyDirectory to samples --- pkgs/build-support/trivial-builders/test/sample.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/build-support/trivial-builders/test/sample.nix b/pkgs/build-support/trivial-builders/test/sample.nix index 060be011093a..27aee6b73dbe 100644 --- a/pkgs/build-support/trivial-builders/test/sample.nix +++ b/pkgs/build-support/trivial-builders/test/sample.nix @@ -12,4 +12,8 @@ in norefs = writeText "hi" "hello"; helloRef = writeText "hi" "hello ${hello}"; helloFigletRef = writeText "hi" "hello ${hello} ${figlet}"; + inherit (pkgs) + emptyFile + emptyDirectory + ; }