From e2ba56cccee0273165f0b94a90c9ba9b356a0965 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 17 Oct 2016 02:18:38 +0200 Subject: portability: use py script instead of 'date -d @1234' On FreeBSD, the 'date' command's -d option has a completely different meaning. Instead, use a small python script to do the date format conversion, which should be more portable. As a side effect, we now also use UTC instead of the build server's timezone, which may be considered a more international choice. Add build/unix-time-to-fmt.py, call in build/Makefile.asciidoc.inc. Change-Id: I91a40656184f553ee375216d8ba5c7788fe9990d --- build/Makefile.asciidoc.inc | 2 +- build/unix-time-to-fmt.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100755 build/unix-time-to-fmt.py (limited to 'build') diff --git a/build/Makefile.asciidoc.inc b/build/Makefile.asciidoc.inc index 1a77419..7def592 100644 --- a/build/Makefile.asciidoc.inc +++ b/build/Makefile.asciidoc.inc @@ -1,7 +1,7 @@ BUILDDIR = $(TOPDIR)/build GIT_VERSION := $(shell git describe --abbrev=4 --dirty --always --tags) -GIT_DATE := $(shell date -d @`git log -n 1 "--pretty=%at" ../.` "+%Y-%b-%e") +GIT_DATE := $(shell $(TOPDIR)/build/unix-time-to-fmt.py `git log -n 1 "--pretty=%at" ../.`) # prepend the document name with the version numbe suffix #DOCS_VER = $(foreach P, $(ASCIIDOCS), $(P)-v$(shell xmllint --recover --xpath "//revnumber[position()=last()]/text()" $(P)-docinfo.xml 2>/dev/null)) diff --git a/build/unix-time-to-fmt.py b/build/unix-time-to-fmt.py new file mode 100755 index 0000000..d081797 --- /dev/null +++ b/build/unix-time-to-fmt.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 +""" +Usage: + + unix-time-to-fmt.py 1234567 [%Y-%m-%d[...]] + +Convert unix timestamp to a string of the given format in UTC, according to + https://docs.python.org/2/library/time.html +Default is '%Y-%b-%d' --> 2016-Jan-01 +""" + +import sys, time + +fmt = '%Y-%b-%d' +if len(sys.argv) > 2: + fmt = sys.argv[2] + +print(time.strftime(fmt, time.gmtime(float(sys.argv[1])))) -- cgit v1.2.3