mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-20 13:50:12 +01:00
update: fix unarchiving of allowed disabled algorithm
6d0b1bbe6fae0909683f2c6a154515bc4bfcb674 didn't handle the allow_disabled_algorithm case at all, so we add it back. This additionally fixes a (previously existing) bug where setting allow_disabled_algorithms to True didn't move apks back from archive to repo. Introduce a new test for this. The disabled_algorithm archiving logic is still all over the place so ideally that needs a future refactor.
This commit is contained in:
parent
a7a83e1ee3
commit
83526e09a3
@ -117,6 +117,10 @@ def get_all_icon_dirs(repodir):
|
|||||||
yield get_icon_dir(repodir, density)
|
yield get_icon_dir(repodir, density)
|
||||||
|
|
||||||
|
|
||||||
|
def disabled_algorithms_allowed():
|
||||||
|
return options.allow_disabled_algorithms or config['allow_disabled_algorithms']
|
||||||
|
|
||||||
|
|
||||||
def update_wiki(apps, sortedids, apks):
|
def update_wiki(apps, sortedids, apks):
|
||||||
"""Update the wiki
|
"""Update the wiki
|
||||||
|
|
||||||
@ -460,7 +464,7 @@ def get_cache():
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
apkcachefile = get_cache_file()
|
apkcachefile = get_cache_file()
|
||||||
ada = options.allow_disabled_algorithms or config['allow_disabled_algorithms']
|
ada = disabled_algorithms_allowed()
|
||||||
if not options.clean and os.path.exists(apkcachefile):
|
if not options.clean and os.path.exists(apkcachefile):
|
||||||
with open(apkcachefile) as fp:
|
with open(apkcachefile) as fp:
|
||||||
apkcache = json.load(fp, object_pairs_hook=collections.OrderedDict)
|
apkcache = json.load(fp, object_pairs_hook=collections.OrderedDict)
|
||||||
@ -1598,7 +1602,7 @@ def process_apks(apkcache, repodir, knownapks, use_date_from_apk=False):
|
|||||||
apks = []
|
apks = []
|
||||||
for apkfile in sorted(glob.glob(os.path.join(repodir, '*.apk'))):
|
for apkfile in sorted(glob.glob(os.path.join(repodir, '*.apk'))):
|
||||||
apkfilename = apkfile[len(repodir) + 1:]
|
apkfilename = apkfile[len(repodir) + 1:]
|
||||||
ada = options.allow_disabled_algorithms or config['allow_disabled_algorithms']
|
ada = disabled_algorithms_allowed()
|
||||||
(skip, apk, cachethis) = process_apk(apkcache, apkfilename, repodir, knownapks,
|
(skip, apk, cachethis) = process_apk(apkcache, apkfilename, repodir, knownapks,
|
||||||
use_date_from_apk, ada, True)
|
use_date_from_apk, ada, True)
|
||||||
if skip:
|
if skip:
|
||||||
@ -1857,7 +1861,7 @@ def archive_old_apks(apps, apks, archapks, repodir, archivedir, defaultkeepversi
|
|||||||
break
|
break
|
||||||
if 'antiFeatures' not in apk:
|
if 'antiFeatures' not in apk:
|
||||||
keep.append(apk)
|
keep.append(apk)
|
||||||
elif 'DisabledAlgorithm' not in apk['antiFeatures']:
|
elif 'DisabledAlgorithm' not in apk['antiFeatures'] or disabled_algorithms_allowed():
|
||||||
keep.append(apk)
|
keep.append(apk)
|
||||||
|
|
||||||
# actually move apks to the target section
|
# actually move apks to the target section
|
||||||
|
@ -555,6 +555,30 @@ if ! which apksigner; then
|
|||||||
test -e repo/com.politedroid_6.apk
|
test -e repo/com.politedroid_6.apk
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# test unarchiving when disabled_algorithms are allowed again
|
||||||
|
echo 'allow_disabled_algorithms = True' >> config.py
|
||||||
|
$fdroid update --pretty --nosign
|
||||||
|
test `grep '<package>' archive/index.xml | wc -l` -eq 2
|
||||||
|
test `grep '<package>' repo/index.xml | wc -l` -eq 6
|
||||||
|
grep -F com.politedroid_3.apk archive/index.xml
|
||||||
|
grep -F com.politedroid_4.apk repo/index.xml
|
||||||
|
grep -F com.politedroid_5.apk repo/index.xml
|
||||||
|
grep -F com.politedroid_6.apk repo/index.xml
|
||||||
|
grep -F org.bitbucket.tickytacky.mirrormirror_1.apk archive/index.xml
|
||||||
|
grep -F org.bitbucket.tickytacky.mirrormirror_2.apk repo/index.xml
|
||||||
|
grep -F org.bitbucket.tickytacky.mirrormirror_3.apk repo/index.xml
|
||||||
|
grep -F org.bitbucket.tickytacky.mirrormirror_4.apk repo/index.xml
|
||||||
|
! grep -F urzip-badsig.apk repo/index.xml
|
||||||
|
! grep -F urzip-badsig.apk archive/index.xml
|
||||||
|
test -e archive/com.politedroid_3.apk
|
||||||
|
test -e repo/com.politedroid_4.apk
|
||||||
|
test -e repo/com.politedroid_5.apk
|
||||||
|
test -e repo/com.politedroid_6.apk
|
||||||
|
test -e archive/org.bitbucket.tickytacky.mirrormirror_1.apk
|
||||||
|
test -e repo/org.bitbucket.tickytacky.mirrormirror_2.apk
|
||||||
|
test -e repo/org.bitbucket.tickytacky.mirrormirror_3.apk
|
||||||
|
test -e repo/org.bitbucket.tickytacky.mirrormirror_4.apk
|
||||||
|
test -e archive/urzip-badsig.apk
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
echo_header 'rename apks with `fdroid update --rename-apks`, --nosign for speed'
|
echo_header 'rename apks with `fdroid update --rename-apks`, --nosign for speed'
|
||||||
|
Loading…
Reference in New Issue
Block a user