4bdf0ab402
[ DO NOT FORWARD TO FACTORY! ] - Upgrade to Docker 18.09.0-ce. See upstream changelog in the packaged /usr/share/doc/packages/docker/CHANGELOG.md - Add revert of an upstream patch to fix docker-* handling. + packaging-0001-revert-Remove-docker-prefix-for-containerd-and-runc-.patch - Rebase patches: * bsc1047218-0001-man-obey-SOURCE_DATE_EPOCH-when-generating-man-pages.patch * bsc1073877-0001-apparmor-allow-receiving-of-signals-from-docker-kill.patch * bsc1073877-0002-apparmor-clobber-docker-default-profile-on-start.patch * private-registry-0001-Add-private-registry-mirror-support.patch * secrets-0001-daemon-allow-directory-creation-in-run-secrets.patch * secrets-0002-SUSE-implement-SUSE-container-secrets.patch - Remove upstreamed patches: - bsc1100727-0001-build-add-buildmode-pie.patch OBS-URL: https://build.opensuse.org/request/show/652637 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/docker?expand=0&rev=271
59 lines
2.0 KiB
Diff
59 lines
2.0 KiB
Diff
From 0a2ba19d51fef679d2a695fd14c30facd5f901f1 Mon Sep 17 00:00:00 2001
|
|
From: Aleksa Sarai <asarai@suse.de>
|
|
Date: Thu, 23 Aug 2018 19:53:55 +1000
|
|
Subject: [PATCH] man: obey SOURCE_DATE_EPOCH when generating man pages
|
|
|
|
Previously our man pages included the current time each time they were
|
|
generated. This causes an issue for reproducible builds, since each
|
|
re-build of a package that includes the man pages will have different
|
|
times listed in the man pages.
|
|
|
|
To fix this, add support for SOURCE_DATE_EPOCH (which is a standardised
|
|
packaging environment variable, designed to be used specifically for
|
|
this purpose[1]). spf13/cobra doesn't support this natively yet (though
|
|
I will push a patch for that as well), but it's simpler to fix it
|
|
directly in docker/cli.
|
|
|
|
[1]: https://reproducible-builds.org/specs/source-date-epoch/
|
|
|
|
SUSE-Bugs: boo#1047218
|
|
Signed-off-by: Aleksa Sarai <asarai@suse.de>
|
|
---
|
|
components/cli/man/generate.go | 13 +++++++++++++
|
|
1 file changed, 13 insertions(+)
|
|
|
|
diff --git a/components/cli/man/generate.go b/components/cli/man/generate.go
|
|
index 2d940e31fd10..e5e480be3f32 100644
|
|
--- a/components/cli/man/generate.go
|
|
+++ b/components/cli/man/generate.go
|
|
@@ -6,6 +6,8 @@ import (
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
+ "strconv"
|
|
+ "time"
|
|
|
|
"github.com/docker/cli/cli/command"
|
|
"github.com/docker/cli/cli/command/commands"
|
|
@@ -24,6 +26,17 @@ func generateManPages(opts *options) error {
|
|
Source: "Docker Community",
|
|
}
|
|
|
|
+ // If SOURCE_DATE_EPOCH is set, in order to allow reproducible package
|
|
+ // builds, we explicitly set the build time to SOURCE_DATE_EPOCH.
|
|
+ if epoch := os.Getenv("SOURCE_DATE_EPOCH"); epoch != "" {
|
|
+ unixEpoch, err := strconv.ParseInt(epoch, 10, 64)
|
|
+ if err != nil {
|
|
+ return fmt.Errorf("invalid SOURCE_DATE_EPOCH: %v", err)
|
|
+ }
|
|
+ now := time.Unix(unixEpoch, 0)
|
|
+ header.Date = &now
|
|
+ }
|
|
+
|
|
stdin, stdout, stderr := term.StdStreams()
|
|
dockerCli := command.NewDockerCli(stdin, stdout, stderr, false, nil)
|
|
cmd := &cobra.Command{Use: "docker"}
|
|
--
|
|
2.19.1
|
|
|