mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-04 22:40:12 +01:00
Merge branch 'recent-bug-fixes' into 'master'
Recent bug fixes Fix a couple of bugs from the tracker.
This commit is contained in:
commit
969a568430
@ -129,7 +129,7 @@ __complete_install() {
|
|||||||
__complete_update() {
|
__complete_update() {
|
||||||
opts="-h -c -v -q -b -i -I -e -w"
|
opts="-h -c -v -q -b -i -I -e -w"
|
||||||
lopts="--help --createmeta --verbose --quiet --buildreport --interactive
|
lopts="--help --createmeta --verbose --quiet --buildreport --interactive
|
||||||
--icons --editor --wiki --pretty --clean"
|
--icons --editor --wiki --pretty --clean --delete-unknown"
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
-e|--editor)
|
-e|--editor)
|
||||||
_filedir
|
_filedir
|
||||||
|
@ -134,8 +134,8 @@ def check_tags(app, pattern):
|
|||||||
|
|
||||||
# Only process tags where the manifest exists...
|
# Only process tags where the manifest exists...
|
||||||
paths = common.manifest_paths(build_dir, flavour)
|
paths = common.manifest_paths(build_dir, flavour)
|
||||||
version, vercode, package = common.parse_androidmanifests(paths,
|
version, vercode, package = \
|
||||||
app['Update Check Ignore'])
|
common.parse_androidmanifests(paths, app['Update Check Ignore'])
|
||||||
if not package or package != appid or not version or not vercode:
|
if not package or package != appid or not version or not vercode:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -210,8 +210,8 @@ def check_repomanifest(app, branch=None):
|
|||||||
|
|
||||||
paths = common.manifest_paths(build_dir, flavour)
|
paths = common.manifest_paths(build_dir, flavour)
|
||||||
|
|
||||||
version, vercode, package = common.parse_androidmanifests(paths,
|
version, vercode, package = \
|
||||||
app['Update Check Ignore'])
|
common.parse_androidmanifests(paths, app['Update Check Ignore'])
|
||||||
if not package:
|
if not package:
|
||||||
return (None, "Couldn't find package ID")
|
return (None, "Couldn't find package ID")
|
||||||
if package != appid:
|
if package != appid:
|
||||||
|
@ -884,6 +884,8 @@ def main():
|
|||||||
parser = OptionParser()
|
parser = OptionParser()
|
||||||
parser.add_option("-c", "--createmeta", action="store_true", default=False,
|
parser.add_option("-c", "--createmeta", action="store_true", default=False,
|
||||||
help="Create skeleton metadata files that are missing")
|
help="Create skeleton metadata files that are missing")
|
||||||
|
parser.add_option("--delete-unknown", action="store_true", default=False,
|
||||||
|
help="Delete APKs without metadata from the repo")
|
||||||
parser.add_option("-v", "--verbose", action="store_true", default=False,
|
parser.add_option("-v", "--verbose", action="store_true", default=False,
|
||||||
help="Spew out even more information than normal")
|
help="Spew out even more information than normal")
|
||||||
parser.add_option("-q", "--quiet", action="store_true", default=False,
|
parser.add_option("-q", "--quiet", action="store_true", default=False,
|
||||||
@ -945,6 +947,45 @@ def main():
|
|||||||
if cc:
|
if cc:
|
||||||
cachechanged = True
|
cachechanged = True
|
||||||
|
|
||||||
|
# Generate warnings for apk's with no metadata (or create skeleton
|
||||||
|
# metadata files, if requested on the command line)
|
||||||
|
newmetadata = False
|
||||||
|
for apk in apks:
|
||||||
|
found = False
|
||||||
|
for app in apps:
|
||||||
|
if app['id'] == apk['id']:
|
||||||
|
found = True
|
||||||
|
break
|
||||||
|
if not found:
|
||||||
|
if options.createmeta:
|
||||||
|
f = open(os.path.join('metadata', apk['id'] + '.txt'), 'w')
|
||||||
|
f.write("License:Unknown\n")
|
||||||
|
f.write("Web Site:\n")
|
||||||
|
f.write("Source Code:\n")
|
||||||
|
f.write("Issue Tracker:\n")
|
||||||
|
f.write("Summary:" + apk['name'] + "\n")
|
||||||
|
f.write("Description:\n")
|
||||||
|
f.write(apk['name'] + "\n")
|
||||||
|
f.write(".\n")
|
||||||
|
f.close()
|
||||||
|
logging.info("Generated skeleton metadata for " + apk['id'])
|
||||||
|
newmetadata = True
|
||||||
|
else:
|
||||||
|
msg = apk['apkname'] + " (" + apk['id'] + ") has no metadata!"
|
||||||
|
if options.delete_unknown:
|
||||||
|
logging.warn(msg + "\n\tdeleting: repo/" + apk['apkname'])
|
||||||
|
rmf = os.path.join(repodirs[0], apk['apkname'])
|
||||||
|
if not os.path.exists(rmf):
|
||||||
|
logging.error("Could not find {0} to remove it".format(rmf))
|
||||||
|
else:
|
||||||
|
os.remove(rmf)
|
||||||
|
else:
|
||||||
|
logging.warn(msg + "\n\tUse `fdroid update -c` to create it.")
|
||||||
|
|
||||||
|
# update the metadata with the newly created ones included
|
||||||
|
if newmetadata:
|
||||||
|
apps = metadata.read_metadata()
|
||||||
|
|
||||||
# Scan the archive repo for apks as well
|
# Scan the archive repo for apks as well
|
||||||
if len(repodirs) > 1:
|
if len(repodirs) > 1:
|
||||||
archapks, cc = scan_apks(apps, apkcache, repodirs[1], knownapks)
|
archapks, cc = scan_apks(apps, apkcache, repodirs[1], knownapks)
|
||||||
@ -997,35 +1038,6 @@ def main():
|
|||||||
# name comes from there!)
|
# name comes from there!)
|
||||||
apps = sorted(apps, key=lambda app: app['Name'].upper())
|
apps = sorted(apps, key=lambda app: app['Name'].upper())
|
||||||
|
|
||||||
# Generate warnings for apk's with no metadata (or create skeleton
|
|
||||||
# metadata files, if requested on the command line)
|
|
||||||
for apk in apks:
|
|
||||||
found = False
|
|
||||||
for app in apps:
|
|
||||||
if app['id'] == apk['id']:
|
|
||||||
found = True
|
|
||||||
break
|
|
||||||
if not found:
|
|
||||||
if options.createmeta:
|
|
||||||
f = open(os.path.join('metadata', apk['id'] + '.txt'), 'w')
|
|
||||||
f.write("License:Unknown\n")
|
|
||||||
f.write("Web Site:\n")
|
|
||||||
f.write("Source Code:\n")
|
|
||||||
f.write("Issue Tracker:\n")
|
|
||||||
f.write("Summary:" + apk['name'] + "\n")
|
|
||||||
f.write("Description:\n")
|
|
||||||
f.write(apk['name'] + "\n")
|
|
||||||
f.write(".\n")
|
|
||||||
f.close()
|
|
||||||
logging.info("Generated skeleton metadata for " + apk['id'])
|
|
||||||
else:
|
|
||||||
logging.warn(apk['apkname'] + " (" + apk['id'] + ") has no metadata - removing")
|
|
||||||
rmf = os.path.join(repodirs[0], apk['apkname'])
|
|
||||||
if not os.path.exists(rmf):
|
|
||||||
logging.error("Could not find {0} to remove it".format(rmf))
|
|
||||||
else:
|
|
||||||
os.remove(rmf)
|
|
||||||
|
|
||||||
if len(repodirs) > 1:
|
if len(repodirs) > 1:
|
||||||
archive_old_apks(apps, apks, archapks, repodirs[0], repodirs[1], config['archive_older'])
|
archive_old_apks(apps, apks, archapks, repodirs[0], repodirs[1], config['archive_older'])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user