diff options
Diffstat (limited to 'pkgs/build-support/docker/default.nix')
-rw-r--r-- | pkgs/build-support/docker/default.nix | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 8e7371728029a..c19df29375399 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -907,6 +907,7 @@ rec { , config ? { } , architecture ? defaultArchitecture , created ? "1970-01-01T00:00:01Z" + , mtime ? "1970-01-01T00:00:01Z" , uid ? 0 , gid ? 0 , uname ? "root" @@ -924,7 +925,7 @@ rec { (lib.assertMsg (maxLayers > 1) "the maxLayers argument of dockerTools.buildLayeredImage function must be greather than 1 (current value: ${toString maxLayers})"); assert - (lib.assertMsg (enableFakechroot -> !stdenv.isDarwin) '' + (lib.assertMsg (enableFakechroot -> !stdenv.hostPlatform.isDarwin) '' cannot use `enableFakechroot` because `proot` is not portable to Darwin. Workarounds: - use `fakeRootCommands` with the restricted `fakeroot` environment - cross-compile your packages @@ -1009,7 +1010,7 @@ rec { conf = runCommand "${baseName}-conf.json" { - inherit fromImage maxLayers created uid gid uname gname; + inherit fromImage maxLayers created mtime uid gid uname gname; imageName = lib.toLower name; preferLocalBuild = true; passthru.imageTag = @@ -1029,10 +1030,13 @@ rec { imageTag="${tag}" ''} - # convert "created" to iso format + # convert "created" and "mtime" to iso format if [[ "$created" != "now" ]]; then created="$(date -Iseconds -d "$created")" fi + if [[ "$mtime" != "now" ]]; then + mtime="$(date -Iseconds -d "$mtime")" + fi paths() { cat $paths ${lib.concatMapStringsSep " " @@ -1089,6 +1093,7 @@ rec { "customisation_layer", $customisation_layer, "repo_tag": $repo_tag, "created": $created, + "mtime": $mtime, "uid": $uid, "gid": $gid, "uname": $uname, @@ -1100,6 +1105,7 @@ rec { --arg customisation_layer ${customisationLayer} \ --arg repo_tag "$imageName:$imageTag" \ --arg created "$created" \ + --arg mtime "$mtime" \ --arg uid "$uid" \ --arg gid "$gid" \ --arg uname "$uname" \ |