chiark / gitweb /
index: ensure index.xml timestamp is in UTC, closes #481
authorHans-Christoph Steiner <hans@eds.org>
Wed, 25 Apr 2018 12:20:19 +0000 (14:20 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Wed, 25 Apr 2018 14:35:22 +0000 (16:35 +0200)
use verbose but safe syntax so this works with all versions of sed, e.g. osx

fdroidserver/index.py
tests/run-tests

index 61552138fcab4e5e54d2b146a53a2006378c699b..56caaad12dbbccae8652d28774fb93e0ccd777ff 100644 (file)
@@ -32,7 +32,7 @@ import urllib.parse
 import zipfile
 import calendar
 from binascii import hexlify, unhexlify
-from datetime import datetime
+from datetime import datetime, timezone
 from xml.dom.minidom import Document
 
 from . import _
@@ -67,7 +67,7 @@ def make(apps, sortedids, apks, repodir, archive):
         common.assert_config_keystore(common.config)
 
     repodict = collections.OrderedDict()
-    repodict['timestamp'] = datetime.utcnow()
+    repodict['timestamp'] = datetime.utcnow().replace(tzinfo=timezone.utc)
     repodict['version'] = METADATA_VERSION
 
     if common.config['repo_maxage'] != 0:
index aadd82f197064d23d4c946fe02a3970bae5debf6..9ab5a9b6f714b3cf9a545a0c1d94c08f11df8f12 100755 (executable)
@@ -258,6 +258,10 @@ if [ "$TRAVIS_OS_NAME" != "osx" ]; then
     ! test -e repo/index.xml.asc
 fi
 
+v0timestamp=`$sed -n -e 's,.*timestamp="\([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\)".*,\1,p' repo/index.xml`
+v1timestamp=`$sed -n -e 's,.*"timestamp": \([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\).*,\1,p' repo/index-v1.json`
+test $v0timestamp -eq $v1timestamp
+
 # we can't easily reproduce the timestamps for things, so just hardcode them
 $sed -i.tmp -e 's,timestamp="[0-9]*",timestamp="1480431575",' repo/index.xml
 diff -uw $WORKSPACE/tests/repo/index.xml repo/index.xml