about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorJos van Bakel <jos@codeaddict.org>2020-07-09 09:34:18 +0200
committerJos van Bakel <jos@codeaddict.org>2020-07-09 09:34:18 +0200
commit66737168a44924c582b697833a4e0867654a43ce (patch)
treec9997965b1303812152ddc596cacb55f542738bf /pkgs/build-support
parent0dbc88331f639c24f8c2a760f377a9c584b06bb5 (diff)
dockerTools.buildLayeredImage: fix created=now
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/docker/examples.nix10
-rw-r--r--pkgs/build-support/docker/stream_layered_image.py6
2 files changed, 13 insertions, 3 deletions
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 068daa8df722e..81dae9b612411 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -354,4 +354,14 @@ rec {
       Env = [ "USER=root" ];
     };
   };
+
+  # 20. Ensure that setting created to now results in a date which
+  # isn't the epoch + 1 for layered images.
+  unstableDateLayered = pkgs.dockerTools.buildLayeredImage {
+    name = "unstable-date-layered";
+    tag = "latest";
+    contents = [ pkgs.coreutils ];
+    created = "now";
+  };
+
 }
diff --git a/pkgs/build-support/docker/stream_layered_image.py b/pkgs/build-support/docker/stream_layered_image.py
index 9a13878a783df..8ffd336fce498 100644
--- a/pkgs/build-support/docker/stream_layered_image.py
+++ b/pkgs/build-support/docker/stream_layered_image.py
@@ -41,7 +41,7 @@ import pathlib
 import tarfile
 import itertools
 import threading
-from datetime import datetime
+from datetime import datetime, timezone
 from collections import namedtuple
 
 
@@ -242,7 +242,7 @@ def main():
         conf = json.load(f)
 
     created = (
-      datetime.now(tz=datetime.timezone.utc)
+      datetime.now(tz=timezone.utc)
       if conf["created"] == "now"
       else datetime.fromisoformat(conf["created"])
     )
@@ -280,7 +280,7 @@ def main():
             },
             "history": [
                 {
-                  "created": conf["created"],
+                  "created": datetime.isoformat(created),
                   "comment": f"store paths: {layer.paths}"
                 }
                 for layer in layers