mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 10:40:10 +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:
parent
2f3022ff65
commit
af22962572
@ -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
|
||||||
|
@ -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,
|
||||||
@ -1019,12 +1021,16 @@ def main():
|
|||||||
f.close()
|
f.close()
|
||||||
logging.info("Generated skeleton metadata for " + apk['id'])
|
logging.info("Generated skeleton metadata for " + apk['id'])
|
||||||
else:
|
else:
|
||||||
logging.warn(apk['apkname'] + " (" + apk['id'] + ") has no metadata - removing")
|
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'])
|
rmf = os.path.join(repodirs[0], apk['apkname'])
|
||||||
if not os.path.exists(rmf):
|
if not os.path.exists(rmf):
|
||||||
logging.error("Could not find {0} to remove it".format(rmf))
|
logging.error("Could not find {0} to remove it".format(rmf))
|
||||||
else:
|
else:
|
||||||
os.remove(rmf)
|
os.remove(rmf)
|
||||||
|
else:
|
||||||
|
logging.warn(msg + "\n\tUse `fdroid update -c` to create it.")
|
||||||
|
|
||||||
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