File nautilus-dropbox-reproducible.patch of Package nautilus-dropbox
From 218fd8c10d392aa71b38ecafb5c161d71ba43c55 Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Tue, 20 Jun 2017 09:30:10 +0200
Subject: [PATCH 1/2] Drop extra date from man page
to allow for reproducible builds
See https://reproducible-builds.org/ for why this matters.
---
rst2man.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/rst2man.py b/rst2man.py
index 9842573..8ba185f 100644
--- a/rst2man.py
+++ b/rst2man.py
@@ -545,8 +545,7 @@ def depart_document(self, node):
% self._docinfo['copyright'])
self.body.append(
self.comment(
- 'Generated by docutils manpage writer on %s.\n'
- % (time.strftime('%Y-%m-%d %H:%M')) ) )
+ 'Generated by docutils manpage writer.\n') )
def visit_emphasis(self, node):
self.body.append(self.defs['emphasis'][0])
From 1ddc199b2002c7078f13cb9eb695fdff6dc15953 Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Thu, 21 Sep 2017 06:16:29 +0200
Subject: [PATCH 2/2] Allow to override build date
in man page in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
---
docgen.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/docgen.py b/docgen.py
index a2a3912..8ed9049 100644
--- a/docgen.py
+++ b/docgen.py
@@ -1,4 +1,6 @@
+import os
import sys
+import time
import datetime
# heeeheee
@@ -17,9 +19,10 @@
formatted_commands += split[2].decode('ascii').replace('\n', '\n | ')
formatted_commands += '\n\n'
+date = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))).date()
sys.stdout.write(sys.stdin.read().replace\
('@AUTHORS@', authors).replace\
- ('@DATE@', datetime.date.today().isoformat()).replace\
+ ('@DATE@', date.isoformat()).replace\
('@PACKAGE_VERSION@', sys.argv[1]).replace\
('@SYNOPSIS@', '| '+'\n| '.join(commands[cmd].__doc__.split('\n', 2)[1].decode('ascii').replace(cmd, "`%s`" % cmd).replace("dropbox", "``dropbox``") for cmd in commands)).replace\
('@COMMANDS@', formatted_commands))