aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/docker.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/guix/docker.scm b/guix/docker.scm
index c19a24d45c..c6e9c6fee5 100644
--- a/guix/docker.scm
+++ b/guix/docker.scm
@@ -209,8 +209,13 @@ SRFI-19 time-utc object, as the creation time in metadata."
;; the path "/a" into "/". The presence of "/" in the archive is
;; probably benign, but it is definitely safe to remove it, so let's
;; do that. This fails when "/" is not in the archive, so use system*
- ;; instead of invoke to avoid an exception in that case.
- (system* "tar" "--delete" "/" "-f" "layer.tar")
+ ;; instead of invoke to avoid an exception in that case, and redirect
+ ;; stderr to the bit bucket to avoid "Exiting with failure status"
+ ;; error messages.
+ (with-error-to-port (%make-void-port "w")
+ (lambda ()
+ (system* "tar" "--delete" "/" "-f" "layer.tar")))
+
(for-each delete-file-recursively
(map (compose topmost-component symlink-source)
symlinks))