[Python-modules-commits] [sphinx] 07/17: add support for $SOURCE_DATE_EPOCH env variable
Dmitry Shachnev
mitya57 at moszumanska.debian.org
Wed Mar 2 07:30:02 UTC 2016
This is an automated email from the git hooks/post-receive script.
mitya57 pushed a commit to branch master
in repository sphinx.
commit d4b462f911079567e69d272c302644798bdbc6ec
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date: Thu Oct 8 13:58:08 2015 -0700
add support for $SOURCE_DATE_EPOCH env variable
Origin: upstream, https://github.com/sphinx-doc/sphinx/commit/71bac48e03d07f61
Last-Update: 2015-07-25
Patch-Name: source_date_epoch.diff
---
sphinx/util/osutil.py | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/sphinx/util/osutil.py b/sphinx/util/osutil.py
index 70d5cf5..e1d29a9 100644
--- a/sphinx/util/osutil.py
+++ b/sphinx/util/osutil.py
@@ -151,15 +151,22 @@ no_fn_re = re.compile(r'[^a-zA-Z0-9_-]')
def make_filename(string):
return no_fn_re.sub('', string) or 'sphinx'
-if PY2:
+
+def ustrftime(format, *args):
# strftime for unicode strings
- def ustrftime(format, *args):
+ if not args:
+ # If time is not specified, try to use $SOURCE_DATE_EPOCH variable
+ # See https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal
+ source_date_epoch = os.getenv('SOURCE_DATE_EPOCH')
+ if source_date_epoch is not None:
+ time_struct = time.gmtime(float(source_date_epoch))
+ args = [time_struct]
+ if PY2:
# if a locale is set, the time strings are encoded in the encoding
# given by LC_TIME; if that is available, use it
enc = locale.getlocale(locale.LC_TIME)[1] or 'utf-8'
return time.strftime(text_type(format).encode(enc), *args).decode(enc)
-else: # Py3
- def ustrftime(format, *args):
+ else: # Py3
# On Windows, time.strftime() and Unicode characters will raise UnicodeEncodeError.
# http://bugs.python.org/issue8304
try:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/sphinx.git
More information about the Python-modules-commits
mailing list