1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-04 14:30:11 +01:00

Merge branch 'some-compatibility-fixes' of https://gitlab.com/eighthave/fdroidserver

This commit is contained in:
Daniel Martí 2015-07-27 10:41:23 -07:00
commit b4d768b225
5 changed files with 35 additions and 9 deletions

View File

@ -1090,9 +1090,7 @@ def main():
logging.info("...retrieving " + url)
of = "{0}_{1}.apk.binary".format(app['id'], thisbuild['vercode'])
of = os.path.join(output_dir, of)
p = FDroidPopen(['wget', '-nv', '-O', of, url])
if p.returncode != 0 or not os.path.exists(of):
raise BuildException("...failed to retrieve " + url)
common.download_file(url, local_filename=of)
build_succeeded.append(app)
wikilog = "Build succeeded"

View File

@ -22,6 +22,7 @@ import sys
import re
import shutil
import glob
import requests
import stat
import subprocess
import time
@ -70,8 +71,8 @@ default_config = {
'keystore': 'keystore.jks',
'smartcardoptions': [],
'char_limits': {
'Summary': 50,
'Description': 1500
'Summary': 80,
'Description': 4000
},
'keyaliases': {},
'repo_url': "https://MyFirstFDroidRepo.org/fdroid/repo",
@ -2072,3 +2073,17 @@ def string_is_integer(string):
return True
except ValueError:
return False
def download_file(url, local_filename=None, dldir='tmp'):
filename = url.split('/')[-1]
if local_filename is None:
local_filename = os.path.join(dldir, filename)
# the stream=True parameter keeps memory usage low
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
return local_filename

View File

@ -27,6 +27,7 @@ import socket
import zipfile
import hashlib
import pickle
from datetime import datetime, timedelta
from xml.dom.minidom import Document
from optparse import OptionParser
import time
@ -542,6 +543,19 @@ def scan_apks(apps, apkcache, repodir, knownapks):
apk = zipfile.ZipFile(apkfile, 'r')
# if an APK has files newer than the system time, suggest updating
# the system clock. This is useful for offline systems, used for
# signing, which do not have another source of clock sync info. It
# has to be more than 24 hours newer because ZIP/APK files do not
# store timezone info
info = apk.getinfo('AndroidManifest.xml')
dt_obj = datetime(*info.date_time)
checkdt = dt_obj - timedelta(1)
if datetime.today() < checkdt:
logging.warn('System clock is older than manifest in: '
+ apkfilename + '\nSet clock to that time using:\n'
+ 'sudo date -s "' + str(dt_obj) + '"')
iconfilename = "%s.%s.png" % (
thisinfo['id'],
thisinfo['versioncode'])

View File

@ -24,7 +24,7 @@ from optparse import OptionParser
import logging
import common
from common import FDroidPopen, FDroidException
from common import FDroidException
options = None
config = None
@ -78,9 +78,7 @@ def main():
os.remove(remoteapk)
url = 'https://f-droid.org/repo/' + apkfilename
logging.info("...retrieving " + url)
p = FDroidPopen(['wget', '-nv', url], cwd=tmp_dir)
if p.returncode != 0:
raise FDroidException("Failed to get " + apkfilename)
common.download_file(url, dldir=tmp_dir)
compare_result = common.compare_apks(
os.path.join(unsigned_dir, apkfilename),

View File

@ -28,6 +28,7 @@ setup(name='fdroidserver',
'apache-libcloud >= 0.14.1',
'pyasn1',
'pyasn1-modules',
'requests',
],
classifiers=[
'Development Status :: 3 - Alpha',