1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-07-04 16:30:12 +02:00

Fixes #8: if unknown APKs found, prompt to use -c or use --delete-unknown

This adds the option --delete-unknown for the current default behavior of
`fdroid update`: to delete any unknown APKs.  Instead, it just outputs a
warning about the unknown APKs and suggests -c for adding it.

Fixes #8 https://gitlab.com/fdroid/fdroidserver/issues/8
This commit is contained in:
Hans-Christoph Steiner 2014-05-29 13:40:06 -04:00
parent 2f3022ff65
commit af22962572
2 changed files with 12 additions and 6 deletions

View File

@ -129,7 +129,7 @@ __complete_install() {
__complete_update() {
opts="-h -c -v -q -b -i -I -e -w"
lopts="--help --createmeta --verbose --quiet --buildreport --interactive
--icons --editor --wiki --pretty --clean"
--icons --editor --wiki --pretty --clean --delete-unknown"
case "${prev}" in
-e|--editor)
_filedir

View File

@ -884,6 +884,8 @@ def main():
parser = OptionParser()
parser.add_option("-c", "--createmeta", action="store_true", default=False,
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,
help="Spew out even more information than normal")
parser.add_option("-q", "--quiet", action="store_true", default=False,
@ -1019,12 +1021,16 @@ def main():
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))
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:
os.remove(rmf)
logging.warn(msg + "\n\tUse `fdroid update -c` to create it.")
if len(repodirs) > 1:
archive_old_apks(apps, apks, archapks, repodirs[0], repodirs[1], config['archive_older'])