- "sed -i -e '/AuthorWebSite/d'
-e '/Description: No description available/d'
-e \"/Description: ''/d\"
+ -e '/antifeatures:/d'
-e '/buildozer:/d'
metadata/dump_*/*.yaml"
- diff -uw metadata/dump_*
'gradleprops',
'antcommands',
'novcheck',
+ 'antifeatures',
]
# old .txt format has version name/code inline in the 'Build:' line
self.gradleprops = []
self.antcommands = []
self.novcheck = False
+ self.antifeatures = []
if copydict:
super().__init__(copydict)
return
'forceversion': TYPE_BOOL,
'forcevercode': TYPE_BOOL,
'novcheck': TYPE_BOOL,
+ 'antifeatures': TYPE_LIST,
}
break
+def translate_per_build_anti_features(apps, apks):
+ """Grab the anti-features list from the build metadata
+
+ For most Anti-Features, they are really most applicable per-APK,
+ not for an app. An app can fix a vulnerability, add/remove
+ tracking, etc. This reads the 'antifeatures' list from the Build
+ entries in the fdroiddata metadata file, then transforms it into
+ the 'antiFeatures' list of unique items for the index.
+
+ The field key is all lower case in the metadata file to match the
+ rest of the Build fields. It is 'antiFeatures' camel case in the
+ implementation, index, and fdroidclient since it is translated
+ from the build 'antifeatures' field, not directly included.
+
+ """
+
+ antiFeatures = dict()
+ for packageName, app in apps.items():
+ d = dict()
+ for build in app['builds']:
+ afl = build.get('antifeatures')
+ if afl:
+ d[int(build.versionCode)] = afl
+ if len(d) > 0:
+ antiFeatures[packageName] = d
+
+ for apk in apks:
+ d = antiFeatures.get(apk['packageName'])
+ if d:
+ afl = d.get(apk['versionCode'])
+ if afl:
+ apk['antiFeatures'].update(afl)
+
+
def _get_localized_dict(app, locale):
'''get the dict to add localized store metadata to'''
if 'localized' not in app:
copy_triple_t_store_metadata(apps)
insert_obbs(repodirs[0], apps, apks)
insert_localized_app_metadata(apps)
+ translate_per_build_anti_features(apps, apks)
# Scan the archive repo for apks as well
if len(repodirs) > 1:
fdroidserver.common.config = config
apps = fdroidserver.metadata.read_metadata(xref=True)
- for appid in ('org.smssecure.smssecure', 'org.adaway', 'org.videolan.vlc'):
+ for appid in ('org.smssecure.smssecure', 'org.adaway',
+ 'org.videolan.vlc', 'com.politedroid'):
savepath = os.path.join('metadata', 'dump', appid + '.yaml')
frommeta = dict(apps[appid])
self.assertTrue(appid in apps)
with open(savepath, 'r') as f:
frompickle = yaml.load(f)
self.assertEqual(frommeta, frompickle)
- # Uncomment to overwrite
+ # comment above assert and uncomment below to update test
+ # files when new metadata fields are added
# with open(savepath, 'w') as f:
# yaml.add_representer(fdroidserver.metadata.Build, _build_yaml_representer)
# yaml.dump(frommeta, f, default_flow_style=False)
Build:1.2,3
commit=6a548e4b19
target=android-10
+ antifeatures=KnownVuln,UpstreamNonFree,NonFreeAssets
Build:1.3,4
commit=ad865b57bf3ac59580f38485608a9b1dda4fa7dc
--- /dev/null
+AntiFeatures: []
+ArchivePolicy: 4 versions
+AuthorEmail: null
+AuthorName: null
+AuthorWebSite: null
+AutoName: Polite Droid
+AutoUpdateMode: Version v%v
+Binaries: null
+Bitcoin: null
+Categories:
+- Time
+Changelog: ''
+CurrentVersion: '1.5'
+CurrentVersionCode: '6'
+Description: Activates silent mode during calendar events.
+Disabled: null
+Donate: null
+FlattrID: null
+IssueTracker: https://github.com/miguelvps/PoliteDroid/issues
+License: GPL-3.0
+Litecoin: null
+MaintainerNotes: ''
+Name: null
+NoSourceSince: ''
+Provides: null
+Repo: https://github.com/miguelvps/PoliteDroid.git
+RepoType: git
+RequiresRoot: false
+SourceCode: https://github.com/miguelvps/PoliteDroid
+Summary: Calendar tool
+UpdateCheckData: null
+UpdateCheckIgnore: null
+UpdateCheckMode: Tags
+UpdateCheckName: null
+VercodeOperation: null
+WebSite: ''
+added: null
+builds:
+- androidupdate: []
+ antcommands: []
+ antifeatures:
+ - KnownVuln
+ - UpstreamNonFree
+ - NonFreeAssets
+ build: ''
+ buildjni: []
+ buildozer: false
+ commit: 6a548e4b19
+ disable: false
+ encoding: null
+ extlibs: []
+ forcevercode: false
+ forceversion: false
+ gradle: []
+ gradleprops: []
+ init: ''
+ kivy: false
+ maven: false
+ ndk: null
+ novcheck: false
+ oldsdkloc: false
+ output: null
+ patch: []
+ preassemble: []
+ prebuild: ''
+ rm: []
+ scandelete: []
+ scanignore: []
+ srclibs: []
+ subdir: null
+ submodules: false
+ target: android-10
+ versionCode: '3'
+ versionName: '1.2'
+- androidupdate: []
+ antcommands: []
+ antifeatures: []
+ build: ''
+ buildjni: []
+ buildozer: false
+ commit: ad865b57bf3ac59580f38485608a9b1dda4fa7dc
+ disable: false
+ encoding: null
+ extlibs: []
+ forcevercode: false
+ forceversion: false
+ gradle: []
+ gradleprops: []
+ init: ''
+ kivy: false
+ maven: false
+ ndk: null
+ novcheck: false
+ oldsdkloc: false
+ output: null
+ patch: []
+ preassemble: []
+ prebuild: ''
+ rm: []
+ scandelete: []
+ scanignore: []
+ srclibs: []
+ subdir: null
+ submodules: false
+ target: android-15
+ versionCode: '4'
+ versionName: '1.3'
+- androidupdate: []
+ antcommands: []
+ antifeatures: []
+ build: ''
+ buildjni: []
+ buildozer: false
+ commit: 456bd615f3fbe6dff06433928cf7ea20073601fb
+ disable: false
+ encoding: null
+ extlibs: []
+ forcevercode: false
+ forceversion: false
+ gradle: []
+ gradleprops: []
+ init: ''
+ kivy: false
+ maven: false
+ ndk: null
+ novcheck: false
+ oldsdkloc: false
+ output: null
+ patch: []
+ preassemble: []
+ prebuild: ''
+ rm: []
+ scandelete: []
+ scanignore: []
+ srclibs: []
+ subdir: null
+ submodules: false
+ target: android-10
+ versionCode: '5'
+ versionName: '1.4'
+- androidupdate: []
+ antcommands: []
+ antifeatures: []
+ build: ''
+ buildjni: []
+ buildozer: false
+ commit: v1.5
+ disable: false
+ encoding: null
+ extlibs: []
+ forcevercode: false
+ forceversion: false
+ gradle:
+ - 'yes'
+ gradleprops: []
+ init: ''
+ kivy: false
+ maven: false
+ ndk: null
+ novcheck: false
+ oldsdkloc: false
+ output: null
+ patch: []
+ preassemble: []
+ prebuild: ''
+ rm: []
+ scandelete: []
+ scanignore: []
+ srclibs: []
+ subdir: null
+ submodules: false
+ target: null
+ versionCode: '6'
+ versionName: '1.5'
+comments: {}
+id: com.politedroid
+lastUpdated: null
+metadatapath: metadata/com.politedroid.txt
builds:
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.12'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.15'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.18'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.19'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.20'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.21'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: '1.23'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.24'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.25'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.26'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.27'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '1.29'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: '1.32'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: '1.33'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: '1.34'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: '1.35'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: '1.36'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
- android-libs/ActionBarSherlock
- android-libs/HtmlSpanner/htmlspanner
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
- android-libs/ActionBarSherlock
- android-libs/HtmlSpanner/htmlspanner
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '2.3'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '2.6'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '2.7'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '2.8'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: 2.8.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: '2.9'
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: 2.9.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
versionName: 2.9.2
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni:
- 'yes'
builds:
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.3.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.3.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.4.2
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.5.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.5.2
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.5.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
versionName: 0.5.4
- androidupdate: []
antcommands: []
+ antifeatures: []
build: ''
buildjni: []
buildozer: false
- ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
- ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
- ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
- ../java-libs/SlidingMenu
- ../java-libs/ActionBarSherlock
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=mips ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.0.11-mips
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=mips ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.1.3-MIPS
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.1.3-x86
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.1.3-ARM
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.1.3-ARMv7
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.7
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.7
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=mips ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.7.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.7.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.7.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.8
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.8
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.8
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.9
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.9
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.9
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.10
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.10
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 0.9.10
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 1.0.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
versionName: 1.0.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 1.0.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=x86 ./compile.sh release
buildjni: []
buildozer: false
versionName: 1.0.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi ./compile.sh release
buildjni: []
buildozer: false
versionName: 1.0.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ANDROID_ABI=armeabi-v7a ./compile.sh release
buildjni: []
buildozer: false
versionName: 1.0.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.1.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.1.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.1.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.1.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.1.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.1.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.1.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.1.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.1.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.2.0
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.2.1
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.2
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.2
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.2.2
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.2.3
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.4
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.4
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.2.4
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
versionName: 1.2.5
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi" --release
buildjni: []
buildozer: false
versionName: 1.2.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "armeabi-v7a" --release
buildjni: []
buildozer: false
versionName: 1.2.6
- androidupdate: []
antcommands: []
+ antifeatures: []
build: cd ../ && ./compile.sh -a "x86" --release
buildjni: []
buildozer: false
self.assertIsNone(apk)
self.assertFalse(cachechanged)
+ def test_translate_per_build_anti_features(self):
+ os.chdir(os.path.join(localmodule, 'tests'))
+ if os.path.basename(os.getcwd()) != 'tests':
+ raise Exception('This test must be run in the "tests/" subdir')
+
+ config = dict()
+ fdroidserver.common.fill_config_defaults(config)
+ config['ndk_paths'] = dict()
+ config['accepted_formats'] = ['json', 'txt', 'yml']
+ fdroidserver.common.config = config
+ fdroidserver.update.config = config
+
+ fdroidserver.update.options = type('', (), {})()
+ fdroidserver.update.options.clean = True
+ fdroidserver.update.options.delete_unknown = True
+ fdroidserver.update.options.rename_apks = False
+ fdroidserver.update.options.allow_disabled_algorithms = False
+
+ apps = fdroidserver.metadata.read_metadata(xref=True)
+ knownapks = fdroidserver.common.KnownApks()
+ apks, cachechanged = fdroidserver.update.process_apks({}, 'repo', knownapks, False)
+ fdroidserver.update.translate_per_build_anti_features(apps, apks)
+ self.assertEqual(len(apks), 11)
+ foundtest = False
+ for apk in apks:
+ if apk['packageName'] == 'com.politedroid' and apk['versionCode'] == 3:
+ antiFeatures = apk.get('antiFeatures')
+ self.assertTrue('KnownVuln' in antiFeatures)
+ self.assertEqual(3, len(antiFeatures))
+ foundtest = True
+ self.assertTrue(foundtest)
+
if __name__ == "__main__":
parser = optparse.OptionParser()