diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 64122b62..296310aa 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -23,14 +23,11 @@ from pathlib import Path import platform import re import logging -import yaml -try: - from yaml import CSafeLoader as SafeLoader -except ImportError: - from yaml import SafeLoader import importlib from collections import OrderedDict +from ruamel.yaml import YAML, YAMLError + from . import common from . import _ from .exception import MetaDataException, FDroidException @@ -483,18 +480,19 @@ def parse_yaml_srclib(metadatapath): with metadatapath.open("r", encoding="utf-8") as f: try: - data = yaml.load(f, Loader=SafeLoader) + yaml = YAML(typ='safe') + data = yaml.load(f) if type(data) is not dict: if platform.system() == 'Windows': # Handle symlink on Windows symlink = metadatapath.parent / metadatapath.read_text(encoding='utf-8') if symlink.is_file(): with symlink.open("r", encoding="utf-8") as s: - data = yaml.load(s, Loader=SafeLoader) + data = yaml.load(s) if type(data) is not dict: - raise yaml.error.YAMLError(_('{file} is blank or corrupt!') - .format(file=metadatapath)) - except yaml.error.YAMLError as e: + raise YAMLError(_('{file} is blank or corrupt!') + .format(file=metadatapath)) + except YAMLError as e: _warn_or_exception(_("Invalid srclib metadata: could not " "parse '{file}'") .format(file=metadatapath) + '\n' @@ -797,8 +795,9 @@ def parse_yaml_metadata(mf, app): """ try: - yamldata = yaml.load(mf, Loader=SafeLoader) - except yaml.YAMLError as e: + yaml = YAML(typ='safe') + yamldata = yaml.load(mf) + except YAMLError as e: _warn_or_exception(_("could not parse '{path}'") .format(path=mf.name) + '\n' + common.run_yamllint(mf.name, indent=4), diff --git a/tests/metadata.TestCase b/tests/metadata.TestCase index ef018b99..ccc76a32 100755 --- a/tests/metadata.TestCase +++ b/tests/metadata.TestCase @@ -15,14 +15,11 @@ from collections import OrderedDict from pathlib import Path -import yaml from testcommon import TmpCwd +from ruamel.yaml import YAML -try: - from yaml import CSafeLoader as SafeLoader -except ImportError: - from yaml import SafeLoader +yaml = YAML(typ='safe') localmodule = Path(__file__).resolve().parent.parent print('localmodule: ' + str(localmodule)) @@ -173,7 +170,7 @@ class MetadataTest(unittest.TestCase): def test_valid_funding_yml_regex(self): """Check the regex can find all the cases""" with (self.basedir / 'funding-usernames.yaml').open() as fp: - data = yaml.load(fp, Loader=SafeLoader) + data = yaml.load(fp) for k, entries in data.items(): for entry in entries: @@ -212,7 +209,7 @@ class MetadataTest(unittest.TestCase): frommeta = dict(apps[appid]) self.assertTrue(appid in apps) with savepath.open('r') as f: - from_yaml = yaml.load(f, Loader=SafeLoader) + from_yaml = yaml.load(f) self.assertEqual(frommeta, from_yaml) # comment above assert and uncomment below to update test # files when new metadata fields are added diff --git a/tests/metadata/org.videolan.vlc.yml b/tests/metadata/org.videolan.vlc.yml index 969c9674..266f517d 100644 --- a/tests/metadata/org.videolan.vlc.yml +++ b/tests/metadata/org.videolan.vlc.yml @@ -22,58 +22,54 @@ Builds: versionCode: 110 commit: 0.0.11 subdir: vlc-android - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '48d' ../Makefile androidupdate: - . - ../java-libs/SlidingMenu - ../java-libs/ActionBarSherlock build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.0.11-ARM versionCode: 111 commit: 0.0.11 subdir: vlc-android - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '48d' ../Makefile androidupdate: - . - ../java-libs/SlidingMenu - ../java-libs/ActionBarSherlock build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no - versionName: 0.0.11-x86 versionCode: 112 disable: ffmpeg error 0.0.11 commit: unknown - see disabled subdir: vlc-android - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '48d' ../Makefile androidupdate: - . - ../java-libs/SlidingMenu - ../java-libs/ActionBarSherlock build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.0.11-mips versionCode: 113 commit: 0.0.11 subdir: vlc-android - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '48d' ../Makefile androidupdate: - . - ../java-libs/SlidingMenu - ../java-libs/ActionBarSherlock build: cd ../ && ANDROID_ABI=mips ./compile.sh release - buildjni: no - versionName: 0.1.3-MIPS versionCode: 1301 @@ -82,11 +78,10 @@ Builds: subdir: vlc-android patch: ndkr9.patch srclibs: VLC@7c52aacbe - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=mips ./compile.sh release - buildjni: no - versionName: 0.1.3-x86 versionCode: 1302 @@ -94,11 +89,10 @@ Builds: subdir: vlc-android patch: ndkr9.patch srclibs: VLC@7c52aacbe - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.1.3-ARM versionCode: 1303 @@ -106,11 +100,10 @@ Builds: subdir: vlc-android patch: ndkr9.patch srclibs: VLC@7c52aacbe - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no - versionName: 0.1.3-ARMv7 versionCode: 1304 @@ -118,51 +111,46 @@ Builds: subdir: vlc-android patch: ndkr9.patch srclibs: VLC@7c52aacbe - forceversion: yes - forcevercode: yes + forceversion: true + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.0 versionCode: 9002 commit: 0.9.0 subdir: vlc-android srclibs: VLC@31ffb20309264994 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.0 versionCode: 9004 commit: 0.9.0 subdir: vlc-android srclibs: VLC@31ffb20309264994 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.1 versionCode: 9102 commit: 0.9.1 subdir: vlc-android srclibs: VLC@37e886d113b8b567c15208579fb2f - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.1 versionCode: 9104 commit: 0.9.1 subdir: vlc-android srclibs: VLC@37e886d113b8b567c15208579fb2f - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.5 versionCode: 9502 @@ -170,10 +158,9 @@ Builds: commit: 0.9.5 subdir: vlc-android srclibs: VLC@052600173f376ff58ff04d53746961a2 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.5 versionCode: 9504 @@ -181,50 +168,45 @@ Builds: commit: 0.9.5 subdir: vlc-android srclibs: VLC@052600173f376ff58ff04d53746961a2 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.6 versionCode: 9602 commit: 0.9.6 subdir: vlc-android srclibs: VLC-2.2@27f4799 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.6 versionCode: 9604 commit: 0.9.6 subdir: vlc-android srclibs: VLC-2.2@27f4799 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.7 versionCode: 9702 commit: 0.9.7 subdir: vlc-android srclibs: VLC-2.2@9e1c6ff - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.7 versionCode: 9704 commit: 0.9.7 subdir: vlc-android srclibs: VLC-2.2@9e1c6ff - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.7.1 versionCode: 9711 @@ -232,120 +214,108 @@ Builds: commit: 0.9.7.1 subdir: vlc-android srclibs: VLC-2.2@57cd36b - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=mips ./compile.sh release - buildjni: no - versionName: 0.9.7.1 versionCode: 9712 commit: 0.9.7.1 subdir: vlc-android srclibs: VLC-2.2@57cd36b - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.7.1 versionCode: 9714 commit: 0.9.7.1 subdir: vlc-android srclibs: VLC-2.2@57cd36b - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.8 versionCode: 9802 commit: 0.9.8 subdir: vlc-android srclibs: VLC-2.2@f2db364 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.8 versionCode: 9803 commit: 0.9.8 subdir: vlc-android srclibs: VLC-2.2@f2db364 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no - versionName: 0.9.8 versionCode: 9804 commit: 0.9.8 subdir: vlc-android srclibs: VLC-2.2@f2db364 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.9 versionCode: 9902 commit: 0.9.9 subdir: vlc-android srclibs: VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.9 versionCode: 9903 commit: 0.9.9 subdir: vlc-android srclibs: VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no - versionName: 0.9.9 versionCode: 9904 commit: 0.9.9 subdir: vlc-android srclibs: VLC-2.2@e731dc23a4f8ef6782c7cc2236bbbf41c034dad1 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 0.9.10 versionCode: 10002 commit: 0.9.10 subdir: vlc-android srclibs: VLC-2.2@e33e5de - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 0.9.10 versionCode: 10003 commit: 0.9.10 subdir: vlc-android srclibs: VLC-2.2@e33e5de - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no - versionName: 0.9.10 versionCode: 10004 commit: 0.9.10 subdir: vlc-android srclibs: VLC-2.2@e33e5de - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no #0.9.10 vercodes were off - versionName: 1.0.0 @@ -354,10 +324,9 @@ Builds: commit: 1.0.0 subdir: vlc-android srclibs: VLC-2.2@036010e - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no #0.9.10 vercodes were off - versionName: 1.0.0 @@ -366,10 +335,9 @@ Builds: commit: 1.0.0 subdir: vlc-android srclibs: VLC-2.2@036010e - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no #0.9.10 vercodes were off - versionName: 1.0.0 @@ -378,40 +346,36 @@ Builds: commit: 1.0.0 subdir: vlc-android srclibs: VLC-2.2@036010e - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 1.0.1 versionCode: 10102 commit: 1.0.1 subdir: vlc-android srclibs: VLC-2.2@59409d5 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=x86 ./compile.sh release - buildjni: no - versionName: 1.0.1 versionCode: 10103 commit: 1.0.1 subdir: vlc-android srclibs: VLC-2.2@59409d5 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release - buildjni: no - versionName: 1.0.1 versionCode: 10104 commit: 1.0.1 subdir: vlc-android srclibs: VLC-2.2@59409d5 - forcevercode: yes + forcevercode: true prebuild: sed -i '/ant/d' ../Makefile && ln -s vlc-android/$$VLC-2.2$$ ../vlc build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release - buildjni: no - versionName: 1.1.3 versionCode: 1010303 @@ -422,7 +386,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.1.3 @@ -434,7 +397,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.1.3 @@ -446,7 +408,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.1.5 @@ -458,7 +419,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.1.5 @@ -470,7 +430,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.1.5 @@ -482,7 +441,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.1.6 @@ -494,7 +452,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.1.6 @@ -506,7 +463,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.1.6 @@ -518,7 +474,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.0 @@ -530,7 +485,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.0 @@ -542,7 +496,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.0 @@ -554,7 +507,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.1 @@ -566,7 +518,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.1 @@ -578,7 +529,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.1 @@ -590,7 +540,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.2 @@ -602,7 +551,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.2 @@ -614,7 +562,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.2 @@ -626,7 +573,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.3 @@ -638,7 +584,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.3 @@ -650,7 +595,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.3 @@ -662,7 +606,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.4 @@ -674,7 +617,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.4 @@ -686,7 +628,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.4 @@ -698,7 +639,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.5 @@ -710,7 +650,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.5 @@ -722,7 +661,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.5 @@ -734,7 +672,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d - versionName: 1.2.6 @@ -746,7 +683,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi" --release - buildjni: no ndk: r10d - versionName: 1.2.6 @@ -758,7 +694,6 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "armeabi-v7a" --release - buildjni: no ndk: r10d - versionName: 1.2.6 @@ -770,14 +705,13 @@ Builds: prebuild: sed -i -e '/^TARGET/aexit 0' -e 's@\-d \"gradle\/wrapper\"@1@g' ../compile.sh && ln -s vlc-android/$$VLC$$ ../vlc build: cd ../ && ./compile.sh -a "x86" --release - buildjni: no ndk: r10d MaintainerNotes: | Instructions and dependencies here: http://wiki.videolan.org/AndroidCompile see http://buildbot.videolan.org/builders/ for version code scheme The VLC srclib commit can be found out from TESTED_HASH value in compile.sh - + On new releases remove the updatecheck and force the CV to the last working build. This will make sure users don't get notified about the update until the final build from the BS has been reviewed and tested. Once done, undo diff --git a/tests/update.TestCase b/tests/update.TestCase index 0cac25c7..d83e4b0a 100755 --- a/tests/update.TestCase +++ b/tests/update.TestCase @@ -1179,6 +1179,7 @@ class UpdateTest(unittest.TestCase): def test_update_with_AllowedAPKSigningKeys(self): """Test that APKs without allowed signatures get deleted.""" + # Prepare test environment testdir = tempfile.mkdtemp( prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir ) @@ -1188,12 +1189,15 @@ class UpdateTest(unittest.TestCase): shutil.copy(os.path.join(self.basedir, testapk), testapk) os.mkdir('metadata') metadatafile = os.path.join('metadata', 'com.politedroid.yml') + + # Copy and manipulate metadata file shutil.copy(os.path.join(self.basedir, metadatafile), metadatafile) with open(metadatafile, 'a') as fp: fp.write( '\n\nAllowedAPKSigningKeys: 32a23624c201b949f085996ba5ed53d40f703aca4989476949cae891022e0ed6\n' ) + # Set up options fdroidserver.common.options = Options config = fdroidserver.common.read_config(fdroidserver.common.options) if 'apksigner' not in config: # TODO remove me for buildserver-bullseye @@ -1204,14 +1208,20 @@ class UpdateTest(unittest.TestCase): config['keystore'] = os.path.join(self.basedir, 'keystore.jks') self.assertTrue(os.path.exists(testapk)) + + # Test for non-deletion with mock.patch('sys.argv', ['fdroid update', '--delete-unknown']): fdroidserver.update.main() self.assertTrue(os.path.exists(testapk)) + # Copy and manipulate metadata file again + shutil.copy(os.path.join(self.basedir, metadatafile), metadatafile) with open(metadatafile, 'a') as fp: fp.write( '\n\nAllowedAPKSigningKeys: fa4edeadfa4edeadfa4edeadfa4edeadfa4edeadfa4edeadfa4edeadfa4edead\n' ) + + # Test for deletion with mock.patch('sys.argv', ['fdroid update', '--delete-unknown']): fdroidserver.update.main() self.assertFalse(os.path.exists(testapk))