1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-20 13:50:12 +01:00

index: ensure index.xml timestamp is in UTC, closes #481

use verbose but safe syntax so this works with all versions of sed, e.g. osx
This commit is contained in:
Hans-Christoph Steiner 2018-04-25 14:20:19 +02:00
parent 8fbe0738ec
commit 74c6555c71
2 changed files with 6 additions and 2 deletions

View File

@ -32,7 +32,7 @@ import urllib.parse
import zipfile import zipfile
import calendar import calendar
from binascii import hexlify, unhexlify from binascii import hexlify, unhexlify
from datetime import datetime from datetime import datetime, timezone
from xml.dom.minidom import Document from xml.dom.minidom import Document
from . import _ from . import _
@ -67,7 +67,7 @@ def make(apps, sortedids, apks, repodir, archive):
common.assert_config_keystore(common.config) common.assert_config_keystore(common.config)
repodict = collections.OrderedDict() repodict = collections.OrderedDict()
repodict['timestamp'] = datetime.utcnow() repodict['timestamp'] = datetime.utcnow().replace(tzinfo=timezone.utc)
repodict['version'] = METADATA_VERSION repodict['version'] = METADATA_VERSION
if common.config['repo_maxage'] != 0: if common.config['repo_maxage'] != 0:

View File

@ -258,6 +258,10 @@ if [ "$TRAVIS_OS_NAME" != "osx" ]; then
! test -e repo/index.xml.asc ! test -e repo/index.xml.asc
fi 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 # 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 $sed -i.tmp -e 's,timestamp="[0-9]*",timestamp="1480431575",' repo/index.xml
diff -uw $WORKSPACE/tests/repo/index.xml repo/index.xml diff -uw $WORKSPACE/tests/repo/index.xml repo/index.xml