mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-29 05:51:05 +03:00
Compare commits
36 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8716474083 | ||
![]() |
49d414635a | ||
![]() |
cad4dc18c6 | ||
![]() |
6bbf0a1722 | ||
![]() |
0ff3c561c0 | ||
![]() |
722a23f571 | ||
![]() |
80a467134f | ||
![]() |
f5f61155ae | ||
![]() |
7b6f089220 | ||
![]() |
3282687f9e | ||
![]() |
dcb72a77ce | ||
![]() |
f92eaf644f | ||
![]() |
aa18746cc4 | ||
![]() |
004e2c8f26 | ||
![]() |
39e4e05c9f | ||
![]() |
c02a98f364 | ||
![]() |
bb36bf6c67 | ||
![]() |
dff47beb01 | ||
![]() |
6b013d01ac | ||
![]() |
8fe1583f83 | ||
![]() |
fd870c59bd | ||
![]() |
fd1e22e791 | ||
![]() |
e8cd0986e3 | ||
![]() |
5ba7419128 | ||
![]() |
4ddd840471 | ||
![]() |
9e32e2d770 | ||
![]() |
b484e9ecfd | ||
![]() |
2e59220644 | ||
![]() |
74a0abc530 | ||
![]() |
5a2534b604 | ||
![]() |
6e7e9b355c | ||
![]() |
833f23cf89 | ||
![]() |
01fb62fff4 | ||
![]() |
bb80c729f5 | ||
![]() |
a5851c083d | ||
![]() |
6634407c60 |
28 changed files with 887 additions and 152 deletions
|
@ -33,20 +33,19 @@ metadata_v0:
|
||||||
- echo "accepted_formats = ('txt', 'yml')" >> config.py
|
- echo "accepted_formats = ('txt', 'yml')" >> config.py
|
||||||
- ../tests/dump_internal_metadata_format.py
|
- ../tests/dump_internal_metadata_format.py
|
||||||
- sed -i
|
- sed -i
|
||||||
-e '/kivy:\sfalse/d'
|
-e '/Liberapay:/d'
|
||||||
|
-e '/OpenCollective/d'
|
||||||
metadata/dump_*/*.yaml
|
metadata/dump_*/*.yaml
|
||||||
- diff -uw metadata/dump_*
|
- diff -uw metadata/dump_*
|
||||||
|
|
||||||
debian_testing:
|
debian_buster:
|
||||||
image: debian:testing
|
image: debian:buster
|
||||||
only:
|
|
||||||
- master@fdroid/fdroidserver
|
|
||||||
script:
|
script:
|
||||||
- apt-get -qy update
|
- apt-get -qy update
|
||||||
- apt-get -qy dist-upgrade
|
- apt-get -qy dist-upgrade
|
||||||
- apt-get -qy install --no-install-recommends
|
- apt-get -qy install --no-install-recommends
|
||||||
fdroidserver git gnupg python3-defusedxml python3-setuptools
|
fdroidserver git gnupg python3-defusedxml python3-setuptools
|
||||||
- sed -i -e 's,testing,sid,g' -e 's,testing,sid,g' /etc/apt/sources.list
|
- echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list
|
||||||
- apt-get -qy update
|
- apt-get -qy update
|
||||||
- apt-get install -y --no-install-recommends aapt androguard android-platform-tools-base zipalign
|
- apt-get install -y --no-install-recommends aapt androguard android-platform-tools-base zipalign
|
||||||
- python3 -c 'import fdroidserver'
|
- python3 -c 'import fdroidserver'
|
||||||
|
@ -135,7 +134,7 @@ lint_format_safety_bandit_checks:
|
||||||
-x fdroidserver/dscanner.py,docker/install_agent.py,docker/drozer.py
|
-x fdroidserver/dscanner.py,docker/install_agent.py,docker/drozer.py
|
||||||
-r $CI_PROJECT_DIR fdroid
|
-r $CI_PROJECT_DIR fdroid
|
||||||
|| export EXITVALUE=1
|
|| export EXITVALUE=1
|
||||||
- safety check --full-report || export EXITVALUE=1
|
- safety check --full-report --ignore=38224 || export EXITVALUE=1
|
||||||
- pylint --rcfile=.pylint-rcfile --output-format=colorized --reports=n
|
- pylint --rcfile=.pylint-rcfile --output-format=colorized --reports=n
|
||||||
fdroid
|
fdroid
|
||||||
makebuildserver
|
makebuildserver
|
||||||
|
|
16
CHANGELOG.md
16
CHANGELOG.md
|
@ -1,4 +1,20 @@
|
||||||
|
|
||||||
|
### 1.1.4 (2019-08-15)
|
||||||
|
|
||||||
|
* include bitcoin validation regex required by fdroiddata
|
||||||
|
|
||||||
|
* merged Debian patches to fix test suite there
|
||||||
|
|
||||||
|
### 1.1.3 (2019-07-03)
|
||||||
|
|
||||||
|
* fixed test suite when run from source tarball
|
||||||
|
|
||||||
|
* fixed test runs in Debian
|
||||||
|
|
||||||
|
### 1.1.2 (2019-03-29)
|
||||||
|
|
||||||
|
* fix bug while downloading repo index ([!636](https://gitlab.com/fdroid/fdroidserver/merge_requests/636))
|
||||||
|
|
||||||
### 1.1.1 (2019-02-03)
|
### 1.1.1 (2019-02-03)
|
||||||
|
|
||||||
* support APK Signature v2 and v3
|
* support APK Signature v2 and v3
|
||||||
|
|
550
MANIFEST.in
550
MANIFEST.in
|
@ -4,9 +4,9 @@ include buildserver/provision-android-sdk
|
||||||
include buildserver/provision-apt-get-install
|
include buildserver/provision-apt-get-install
|
||||||
include buildserver/provision-apt-proxy
|
include buildserver/provision-apt-proxy
|
||||||
include buildserver/provision-gradle
|
include buildserver/provision-gradle
|
||||||
include buildserver/provision-pip
|
|
||||||
include buildserver/setup-env-vars
|
include buildserver/setup-env-vars
|
||||||
include buildserver/Vagrantfile
|
include buildserver/Vagrantfile
|
||||||
|
include CHANGELOG.md
|
||||||
include completion/bash-completion
|
include completion/bash-completion
|
||||||
include docker/Dockerfile
|
include docker/Dockerfile
|
||||||
include docker/drozer.py
|
include docker/drozer.py
|
||||||
|
@ -41,15 +41,513 @@ include locale/uk/LC_MESSAGES/fdroidserver.mo
|
||||||
include locale/zh_Hans/LC_MESSAGES/fdroidserver.mo
|
include locale/zh_Hans/LC_MESSAGES/fdroidserver.mo
|
||||||
include locale/zh_Hant/LC_MESSAGES/fdroidserver.mo
|
include locale/zh_Hant/LC_MESSAGES/fdroidserver.mo
|
||||||
include makebuildserver
|
include makebuildserver
|
||||||
include README.rst
|
include README.md
|
||||||
include tests/androguard_test.py
|
include tests/androguard_test.py
|
||||||
include tests/bad-unicode-*.apk
|
include tests/bad-unicode-*.apk
|
||||||
include tests/build.TestCase
|
include tests/build.TestCase
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/17.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/18.1.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/19.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/19.1.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/20.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/21.1.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/21.1.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/22.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/22.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/23.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/23.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/23.0.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/23.0.3/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/24.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/24.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/24.0.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/24.0.3/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/25.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/25.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/25.0.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/25.0.3/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/26.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/26.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/26.0.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/26.0.3/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/27.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/27.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/27.0.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/27.0.3/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/28.0.0/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-com.moez.QKSMS_182.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/28.0.1/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-org.droidtr.keyboard_34.txt
|
||||||
|
include tests/build-tools/28.0.2/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-com.example.test.helloworld_1.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-com.politedroid_3.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-com.politedroid_4.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-com.politedroid_5.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-com.politedroid_6.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-duplicate.permisssions_9999999.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-info.guardianproject.urzip_100.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-info.zwanenburg.caffeinetile_4.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-no.min.target.sdk_987.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-obb.main.oldversion_1444412523.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-obb.mainpatch.current_1619.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-obb.main.twoversions_1101613.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-obb.main.twoversions_1101615.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-obb.main.twoversions_1101617.txt
|
||||||
|
include tests/build-tools/28.0.3/aapt-output-souch.smsbypass_9.txt
|
||||||
|
include tests/build-tools/generate.sh
|
||||||
|
include tests/check-fdroid-apk
|
||||||
include tests/common.TestCase
|
include tests/common.TestCase
|
||||||
include tests/complete-ci-tests
|
include tests/complete-ci-tests
|
||||||
include tests/config.py
|
include tests/config.py
|
||||||
include tests/description-parsing.py
|
include tests/description-parsing.py
|
||||||
|
include tests/dummy-keystore.jks
|
||||||
include tests/dump_internal_metadata_format.py
|
include tests/dump_internal_metadata_format.py
|
||||||
|
include tests/exception.TestCase
|
||||||
include tests/extra/convert_metadata_to_yaml_then_txt.sh
|
include tests/extra/convert_metadata_to_yaml_then_txt.sh
|
||||||
include tests/extra/manual-vmtools-test.py
|
include tests/extra/manual-vmtools-test.py
|
||||||
include tests/getsig/getsig.java
|
include tests/getsig/getsig.java
|
||||||
|
@ -63,6 +561,8 @@ include tests/import_proxy.py
|
||||||
include tests/import.TestCase
|
include tests/import.TestCase
|
||||||
include tests/index.TestCase
|
include tests/index.TestCase
|
||||||
include tests/install.TestCase
|
include tests/install.TestCase
|
||||||
|
include tests/IsMD5Disabled.java
|
||||||
|
include tests/janus.apk
|
||||||
include tests/keystore.jks
|
include tests/keystore.jks
|
||||||
include tests/lint.TestCase
|
include tests/lint.TestCase
|
||||||
include tests/metadata/apk/info.guardianproject.urzip.yaml
|
include tests/metadata/apk/info.guardianproject.urzip.yaml
|
||||||
|
@ -73,6 +573,7 @@ include tests/metadata/dump/com.politedroid.yaml
|
||||||
include tests/metadata/dump/org.adaway.yaml
|
include tests/metadata/dump/org.adaway.yaml
|
||||||
include tests/metadata/dump/org.smssecure.smssecure.yaml
|
include tests/metadata/dump/org.smssecure.smssecure.yaml
|
||||||
include tests/metadata/dump/org.videolan.vlc.yaml
|
include tests/metadata/dump/org.videolan.vlc.yaml
|
||||||
|
include tests/metadata/duplicate.permisssions.yml
|
||||||
include tests/metadata/fake.ota.update.txt
|
include tests/metadata/fake.ota.update.txt
|
||||||
include tests/metadata/info.guardianproject.checkey/en-US/description.txt
|
include tests/metadata/info.guardianproject.checkey/en-US/description.txt
|
||||||
include tests/metadata/info.guardianproject.checkey/en-US/phoneScreenshots/checkey-phone.png
|
include tests/metadata/info.guardianproject.checkey/en-US/phoneScreenshots/checkey-phone.png
|
||||||
|
@ -87,18 +588,27 @@ include tests/metadata/info.guardianproject.urzip/en-US/short_description.txt
|
||||||
include tests/metadata/info.guardianproject.urzip/en-US/title.txt
|
include tests/metadata/info.guardianproject.urzip/en-US/title.txt
|
||||||
include tests/metadata/info.guardianproject.urzip/en-US/video.txt
|
include tests/metadata/info.guardianproject.urzip/en-US/video.txt
|
||||||
include tests/metadata/info.guardianproject.urzip.yml
|
include tests/metadata/info.guardianproject.urzip.yml
|
||||||
|
include tests/metadata/info.zwanenburg.caffeinetile.yml
|
||||||
|
include tests/metadata/no.min.target.sdk.yml
|
||||||
include tests/metadata/obb.main.oldversion.txt
|
include tests/metadata/obb.main.oldversion.txt
|
||||||
include tests/metadata/obb.mainpatch.current.txt
|
include tests/metadata/obb.mainpatch.current.txt
|
||||||
include tests/metadata/obb.main.twoversions.txt
|
include tests/metadata/obb.main.twoversions.txt
|
||||||
include tests/metadata/org.adaway.json
|
include tests/metadata/org.adaway.json
|
||||||
include tests/metadata/org.fdroid.ci.test.app.txt
|
include tests/metadata/org.fdroid.ci.test.app.txt
|
||||||
include tests/metadata/org.fdroid.fdroid.txt
|
include tests/metadata/org.fdroid.fdroid.txt
|
||||||
|
include tests/metadata/org.smssecure.smssecure/signatures/134/28969C09.RSA
|
||||||
|
include tests/metadata/org.smssecure.smssecure/signatures/134/28969C09.SF
|
||||||
|
include tests/metadata/org.smssecure.smssecure/signatures/134/MANIFEST.MF
|
||||||
|
include tests/metadata/org.smssecure.smssecure/signatures/135/28969C09.RSA
|
||||||
|
include tests/metadata/org.smssecure.smssecure/signatures/135/28969C09.SF
|
||||||
|
include tests/metadata/org.smssecure.smssecure/signatures/135/MANIFEST.MF
|
||||||
include tests/metadata/org.smssecure.smssecure.txt
|
include tests/metadata/org.smssecure.smssecure.txt
|
||||||
include tests/metadata/org.videolan.vlc.yml
|
include tests/metadata/org.videolan.vlc.yml
|
||||||
include tests/metadata/raw.template.txt
|
include tests/metadata/raw.template.txt
|
||||||
include tests/metadata-rewrite-yml/app.with.special.build.params.yml
|
include tests/metadata-rewrite-yml/app.with.special.build.params.yml
|
||||||
include tests/metadata-rewrite-yml/fake.ota.update.yml
|
include tests/metadata-rewrite-yml/fake.ota.update.yml
|
||||||
include tests/metadata-rewrite-yml/org.fdroid.fdroid.yml
|
include tests/metadata-rewrite-yml/org.fdroid.fdroid.yml
|
||||||
|
include tests/metadata/souch.smsbypass.txt
|
||||||
include tests/metadata.TestCase
|
include tests/metadata.TestCase
|
||||||
include tests/openssl-version-check-test.py
|
include tests/openssl-version-check-test.py
|
||||||
include tests/org.bitbucket.tickytacky.mirrormirror_1.apk
|
include tests/org.bitbucket.tickytacky.mirrormirror_1.apk
|
||||||
|
@ -106,17 +616,23 @@ include tests/org.bitbucket.tickytacky.mirrormirror_2.apk
|
||||||
include tests/org.bitbucket.tickytacky.mirrormirror_3.apk
|
include tests/org.bitbucket.tickytacky.mirrormirror_3.apk
|
||||||
include tests/org.bitbucket.tickytacky.mirrormirror_4.apk
|
include tests/org.bitbucket.tickytacky.mirrormirror_4.apk
|
||||||
include tests/org.dyndns.fules.ck_20.apk
|
include tests/org.dyndns.fules.ck_20.apk
|
||||||
|
include tests/publish.TestCase
|
||||||
include tests/repo/categories.txt
|
include tests/repo/categories.txt
|
||||||
|
include tests/repo/com.example.test.helloworld_1.apk
|
||||||
include tests/repo/com.politedroid_3.apk
|
include tests/repo/com.politedroid_3.apk
|
||||||
include tests/repo/com.politedroid_4.apk
|
include tests/repo/com.politedroid_4.apk
|
||||||
include tests/repo/com.politedroid_5.apk
|
include tests/repo/com.politedroid_5.apk
|
||||||
include tests/repo/com.politedroid_6.apk
|
include tests/repo/com.politedroid_6.apk
|
||||||
|
include tests/repo/duplicate.permisssions_9999999.apk
|
||||||
include tests/repo/fake.ota.update_1234.zip
|
include tests/repo/fake.ota.update_1234.zip
|
||||||
|
include tests/repo/index-v1.json
|
||||||
include tests/repo/index.xml
|
include tests/repo/index.xml
|
||||||
|
include tests/repo/info.zwanenburg.caffeinetile_4.apk
|
||||||
include tests/repo/main.1101613.obb.main.twoversions.obb
|
include tests/repo/main.1101613.obb.main.twoversions.obb
|
||||||
include tests/repo/main.1101615.obb.main.twoversions.obb
|
include tests/repo/main.1101615.obb.main.twoversions.obb
|
||||||
include tests/repo/main.1434483388.obb.main.oldversion.obb
|
include tests/repo/main.1434483388.obb.main.oldversion.obb
|
||||||
include tests/repo/main.1619.obb.mainpatch.current.obb
|
include tests/repo/main.1619.obb.mainpatch.current.obb
|
||||||
|
include tests/repo/no.min.target.sdk_987.apk
|
||||||
include tests/repo/obb.main.oldversion_1444412523.apk
|
include tests/repo/obb.main.oldversion_1444412523.apk
|
||||||
include tests/repo/obb.mainpatch.current_1619_another-release-key.apk
|
include tests/repo/obb.mainpatch.current_1619_another-release-key.apk
|
||||||
include tests/repo/obb.mainpatch.current_1619.apk
|
include tests/repo/obb.mainpatch.current_1619.apk
|
||||||
|
@ -154,19 +670,45 @@ include tests/repo/org.videolan.vlc/en-US/sevenInchScreenshots/screenshot5.png
|
||||||
include tests/repo/org.videolan.vlc/en-US/sevenInchScreenshots/screenshot6.png
|
include tests/repo/org.videolan.vlc/en-US/sevenInchScreenshots/screenshot6.png
|
||||||
include tests/repo/org.videolan.vlc/en-US/sevenInchScreenshots/screenshot8.png
|
include tests/repo/org.videolan.vlc/en-US/sevenInchScreenshots/screenshot8.png
|
||||||
include tests/repo/patch.1619.obb.mainpatch.current.obb
|
include tests/repo/patch.1619.obb.mainpatch.current.obb
|
||||||
|
include tests/repo/souch.smsbypass_9.apk
|
||||||
include tests/repo/urzip-*.apk
|
include tests/repo/urzip-*.apk
|
||||||
|
include tests/repo/v1.v2.sig_1020.apk
|
||||||
include tests/run-tests
|
include tests/run-tests
|
||||||
|
include tests/scanner.TestCase
|
||||||
|
include tests/server.TestCase
|
||||||
include tests/signatures.TestCase
|
include tests/signatures.TestCase
|
||||||
include tests/signindex/guardianproject.jar
|
include tests/signindex/guardianproject.jar
|
||||||
include tests/signindex/guardianproject-v1.jar
|
include tests/signindex/guardianproject-v1.jar
|
||||||
include tests/signindex/testy.jar
|
include tests/signindex/testy.jar
|
||||||
include tests/signindex/unsigned.jar
|
include tests/signindex/unsigned.jar
|
||||||
|
include tests/source-files/at.bitfire.davdroid/build.gradle
|
||||||
|
include tests/source-files/com.kunzisoft.testcase/build.gradle
|
||||||
|
include tests/source-files/com.nextcloud.client/build.gradle
|
||||||
|
include tests/source-files/com.nextcloud.client.dev/src/generic/fastlane/metadata/android/en-US/full_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client.dev/src/generic/fastlane/metadata/android/en-US/short_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client.dev/src/generic/fastlane/metadata/android/en-US/title.txt
|
||||||
|
include tests/source-files/com.nextcloud.client.dev/src/versionDev/fastlane/metadata/android/en-US/full_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client.dev/src/versionDev/fastlane/metadata/android/en-US/short_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client.dev/src/versionDev/fastlane/metadata/android/en-US/title.txt
|
||||||
|
include tests/source-files/com.nextcloud.client/src/generic/fastlane/metadata/android/en-US/full_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client/src/generic/fastlane/metadata/android/en-US/short_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client/src/generic/fastlane/metadata/android/en-US/title.txt
|
||||||
|
include tests/source-files/com.nextcloud.client/src/versionDev/fastlane/metadata/android/en-US/full_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client/src/versionDev/fastlane/metadata/android/en-US/short_description.txt
|
||||||
|
include tests/source-files/com.nextcloud.client/src/versionDev/fastlane/metadata/android/en-US/title.txt
|
||||||
|
include tests/source-files/eu.siacs.conversations/build.gradle
|
||||||
|
include tests/source-files/eu.siacs.conversations/metadata/en-US/name.txt
|
||||||
include tests/source-files/fdroid/fdroidclient/AndroidManifest.xml
|
include tests/source-files/fdroid/fdroidclient/AndroidManifest.xml
|
||||||
include tests/source-files/fdroid/fdroidclient/build.gradle
|
include tests/source-files/fdroid/fdroidclient/build.gradle
|
||||||
|
include tests/source-files/firebase-suspect/app/build.gradle
|
||||||
|
include tests/source-files/firebase-suspect/build.gradle
|
||||||
|
include tests/source-files/firebase-whitelisted/app/build.gradle
|
||||||
|
include tests/source-files/firebase-whitelisted/build.gradle
|
||||||
include tests/source-files/open-keychain/open-keychain/build.gradle
|
include tests/source-files/open-keychain/open-keychain/build.gradle
|
||||||
include tests/source-files/open-keychain/open-keychain/OpenKeychain/build.gradle
|
include tests/source-files/open-keychain/open-keychain/OpenKeychain/build.gradle
|
||||||
include tests/source-files/osmandapp/osmand/build.gradle
|
include tests/source-files/osmandapp/osmand/build.gradle
|
||||||
include tests/source-files/Zillode/syncthing-silk/build.gradle
|
include tests/source-files/Zillode/syncthing-silk/build.gradle
|
||||||
|
include tests/SpeedoMeterApp.main_1.apk
|
||||||
include tests/stats/known_apks.txt
|
include tests/stats/known_apks.txt
|
||||||
include tests/testcommon.py
|
include tests/testcommon.py
|
||||||
include tests/update.TestCase
|
include tests/update.TestCase
|
||||||
|
@ -175,3 +717,7 @@ include tests/urzip-badcert.apk
|
||||||
include tests/urzip-badsig.apk
|
include tests/urzip-badsig.apk
|
||||||
include tests/urzip-release.apk
|
include tests/urzip-release.apk
|
||||||
include tests/urzip-release-unsigned.apk
|
include tests/urzip-release-unsigned.apk
|
||||||
|
include tests/v2.only.sig_2.apk
|
||||||
|
include tests/valid-package-names/random-package-names
|
||||||
|
include tests/valid-package-names/RandomPackageNames.java
|
||||||
|
include tests/valid-package-names/test.py
|
||||||
|
|
|
@ -275,7 +275,7 @@ __complete_mirror() {
|
||||||
|
|
||||||
__complete_nightly() {
|
__complete_nightly() {
|
||||||
opts="-v -q"
|
opts="-v -q"
|
||||||
lopts="--show-secret-var"
|
lopts="--show-secret-var --archive-older"
|
||||||
__complete_options
|
__complete_options
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ __complete_stats() {
|
||||||
__complete_deploy() {
|
__complete_deploy() {
|
||||||
opts="-i -v -q"
|
opts="-i -v -q"
|
||||||
lopts="--identity-file --local-copy-dir --sync-from-local-copy-dir
|
lopts="--identity-file --local-copy-dir --sync-from-local-copy-dir
|
||||||
--verbose --quiet --no-checksum"
|
--verbose --quiet --no-checksum --no-keep-git-mirror-archive"
|
||||||
__complete_options
|
__complete_options
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -317,13 +317,17 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
|
||||||
parent.appendChild(el)
|
parent.appendChild(el)
|
||||||
|
|
||||||
def addElementCheckLocalized(name, app, key, doc, parent, default=''):
|
def addElementCheckLocalized(name, app, key, doc, parent, default=''):
|
||||||
'''Fill in field from metadata or localized block
|
"""Fill in field from metadata or localized block
|
||||||
|
|
||||||
For name/summary/description, they can come only from the app source,
|
For name/summary/description, they can come only from the app source,
|
||||||
or from a dir in fdroiddata. They can be entirely missing from the
|
or from a dir in fdroiddata. They can be entirely missing from the
|
||||||
metadata file if there is localized versions. This will fetch those
|
metadata file if there is localized versions. This will fetch those
|
||||||
from the localized version if its not available in the metadata file.
|
from the localized version if its not available in the metadata file.
|
||||||
'''
|
|
||||||
|
Attributes should be alpha-sorted, so they must be added in
|
||||||
|
alpha- sort order.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
el = doc.createElement(name)
|
el = doc.createElement(name)
|
||||||
value = app.get(key)
|
value = app.get(key)
|
||||||
|
@ -349,21 +353,20 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
|
||||||
doc.appendChild(root)
|
doc.appendChild(root)
|
||||||
|
|
||||||
repoel = doc.createElement("repo")
|
repoel = doc.createElement("repo")
|
||||||
|
repoel.setAttribute("icon", os.path.basename(repodict['icon']))
|
||||||
repoel.setAttribute("name", repodict['name'])
|
|
||||||
if 'maxage' in repodict:
|
if 'maxage' in repodict:
|
||||||
repoel.setAttribute("maxage", str(repodict['maxage']))
|
repoel.setAttribute("maxage", str(repodict['maxage']))
|
||||||
repoel.setAttribute("icon", os.path.basename(repodict['icon']))
|
repoel.setAttribute("name", repodict['name'])
|
||||||
|
pubkey, repo_pubkey_fingerprint = extract_pubkey()
|
||||||
|
repoel.setAttribute("pubkey", pubkey.decode('utf-8'))
|
||||||
|
repoel.setAttribute("timestamp", '%d' % repodict['timestamp'].timestamp())
|
||||||
repoel.setAttribute("url", repodict['address'])
|
repoel.setAttribute("url", repodict['address'])
|
||||||
|
repoel.setAttribute("version", str(repodict['version']))
|
||||||
|
|
||||||
addElement('description', repodict['description'], doc, repoel)
|
addElement('description', repodict['description'], doc, repoel)
|
||||||
for mirror in repodict.get('mirrors', []):
|
for mirror in repodict.get('mirrors', []):
|
||||||
addElement('mirror', mirror, doc, repoel)
|
addElement('mirror', mirror, doc, repoel)
|
||||||
|
|
||||||
repoel.setAttribute("version", str(repodict['version']))
|
|
||||||
repoel.setAttribute("timestamp", '%d' % repodict['timestamp'].timestamp())
|
|
||||||
|
|
||||||
pubkey, repo_pubkey_fingerprint = extract_pubkey()
|
|
||||||
repoel.setAttribute("pubkey", pubkey.decode('utf-8'))
|
|
||||||
root.appendChild(repoel)
|
root.appendChild(repoel)
|
||||||
|
|
||||||
for command in ('install', 'uninstall'):
|
for command in ('install', 'uninstall'):
|
||||||
|
@ -442,6 +445,7 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
|
||||||
addElementNonEmpty('litecoin', app.Litecoin, doc, apel)
|
addElementNonEmpty('litecoin', app.Litecoin, doc, apel)
|
||||||
addElementNonEmpty('flattr', app.FlattrID, doc, apel)
|
addElementNonEmpty('flattr', app.FlattrID, doc, apel)
|
||||||
addElementNonEmpty('liberapay', app.LiberapayID, doc, apel)
|
addElementNonEmpty('liberapay', app.LiberapayID, doc, apel)
|
||||||
|
addElementNonEmpty('openCollective', app.OpenCollective, doc, apel)
|
||||||
|
|
||||||
# These elements actually refer to the current version (i.e. which
|
# These elements actually refer to the current version (i.e. which
|
||||||
# one is recommended. They are historically mis-named, and need
|
# one is recommended. They are historically mis-named, and need
|
||||||
|
@ -541,16 +545,16 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
|
||||||
|
|
||||||
for permission in sorted_permissions:
|
for permission in sorted_permissions:
|
||||||
permel = doc.createElement('uses-permission')
|
permel = doc.createElement('uses-permission')
|
||||||
permel.setAttribute('name', permission[0])
|
|
||||||
if permission[1] is not None:
|
if permission[1] is not None:
|
||||||
permel.setAttribute('maxSdkVersion', '%d' % permission[1])
|
permel.setAttribute('maxSdkVersion', '%d' % permission[1])
|
||||||
apkel.appendChild(permel)
|
apkel.appendChild(permel)
|
||||||
|
permel.setAttribute('name', permission[0])
|
||||||
for permission_sdk_23 in sorted(apk['uses-permission-sdk-23']):
|
for permission_sdk_23 in sorted(apk['uses-permission-sdk-23']):
|
||||||
permel = doc.createElement('uses-permission-sdk-23')
|
permel = doc.createElement('uses-permission-sdk-23')
|
||||||
permel.setAttribute('name', permission_sdk_23[0])
|
|
||||||
if permission_sdk_23[1] is not None:
|
if permission_sdk_23[1] is not None:
|
||||||
permel.setAttribute('maxSdkVersion', '%d' % permission_sdk_23[1])
|
permel.setAttribute('maxSdkVersion', '%d' % permission_sdk_23[1])
|
||||||
apkel.appendChild(permel)
|
apkel.appendChild(permel)
|
||||||
|
permel.setAttribute('name', permission_sdk_23[0])
|
||||||
if 'nativecode' in apk:
|
if 'nativecode' in apk:
|
||||||
addElement('nativecode', ','.join(sorted(apk['nativecode'])), doc, apkel)
|
addElement('nativecode', ','.join(sorted(apk['nativecode'])), doc, apkel)
|
||||||
addElementNonEmpty('features', ','.join(sorted(apk['features'])), doc, apkel)
|
addElementNonEmpty('features', ','.join(sorted(apk['features'])), doc, apkel)
|
||||||
|
@ -717,6 +721,7 @@ def download_repo_index(url_str, etag=None, verify_fingerprint=True, timeout=600
|
||||||
|
|
||||||
with tempfile.NamedTemporaryFile() as fp:
|
with tempfile.NamedTemporaryFile() as fp:
|
||||||
fp.write(download)
|
fp.write(download)
|
||||||
|
fp.flush()
|
||||||
index, public_key, public_key_fingerprint = get_index_from_jar(fp.name, fingerprint)
|
index, public_key, public_key_fingerprint = get_index_from_jar(fp.name, fingerprint)
|
||||||
index["repo"]["pubkey"] = hexlify(public_key).decode()
|
index["repo"]["pubkey"] = hexlify(public_key).decode()
|
||||||
index["repo"]["fingerprint"] = public_key_fingerprint
|
index["repo"]["fingerprint"] = public_key_fingerprint
|
||||||
|
|
|
@ -139,9 +139,11 @@ regex_checks = {
|
||||||
],
|
],
|
||||||
'Donate': http_checks + [
|
'Donate': http_checks + [
|
||||||
(re.compile(r'.*flattr\.com'),
|
(re.compile(r'.*flattr\.com'),
|
||||||
_("Flattr donation methods belong in the FlattrID flag")),
|
_("Flattr donation methods belong in the FlattrID: field")),
|
||||||
(re.compile(r'.*liberapay\.com'),
|
(re.compile(r'.*liberapay\.com'),
|
||||||
_("Liberapay donation methods belong in the LiberapayID flag")),
|
_("Liberapay donation methods belong in the Liberapay: field")),
|
||||||
|
(re.compile(r'.*opencollective\.com'),
|
||||||
|
_("OpenCollective donation methods belong in the OpenCollective: field")),
|
||||||
],
|
],
|
||||||
'Changelog': http_checks,
|
'Changelog': http_checks,
|
||||||
'Author Name': [
|
'Author Name': [
|
||||||
|
|
|
@ -36,6 +36,10 @@ from fdroidserver.exception import MetaDataException, FDroidException
|
||||||
srclibs = None
|
srclibs = None
|
||||||
warnings_action = None
|
warnings_action = None
|
||||||
|
|
||||||
|
# validates usernames based on a loose collection of rules from GitHub, GitLab,
|
||||||
|
# Liberapay and issuehunt. This is mostly to block abuse.
|
||||||
|
VALID_USERNAME_REGEX = re.compile(r'^[a-z\d](?:[a-z\d/._-]){0,38}$', re.IGNORECASE)
|
||||||
|
|
||||||
|
|
||||||
def warn_or_exception(value):
|
def warn_or_exception(value):
|
||||||
'''output warning or Exception depending on -W'''
|
'''output warning or Exception depending on -W'''
|
||||||
|
@ -65,7 +69,9 @@ app_fields = set([
|
||||||
'Changelog',
|
'Changelog',
|
||||||
'Donate',
|
'Donate',
|
||||||
'FlattrID',
|
'FlattrID',
|
||||||
|
'Liberapay',
|
||||||
'LiberapayID',
|
'LiberapayID',
|
||||||
|
'OpenCollective',
|
||||||
'Bitcoin',
|
'Bitcoin',
|
||||||
'Litecoin',
|
'Litecoin',
|
||||||
'Name',
|
'Name',
|
||||||
|
@ -109,7 +115,9 @@ yaml_app_field_order = [
|
||||||
'Changelog',
|
'Changelog',
|
||||||
'Donate',
|
'Donate',
|
||||||
'FlattrID',
|
'FlattrID',
|
||||||
|
'Liberapay',
|
||||||
'LiberapayID',
|
'LiberapayID',
|
||||||
|
'OpenCollective',
|
||||||
'Bitcoin',
|
'Bitcoin',
|
||||||
'Litecoin',
|
'Litecoin',
|
||||||
'\n',
|
'\n',
|
||||||
|
@ -168,7 +176,9 @@ class App(dict):
|
||||||
self.Changelog = ''
|
self.Changelog = ''
|
||||||
self.Donate = None
|
self.Donate = None
|
||||||
self.FlattrID = None
|
self.FlattrID = None
|
||||||
|
self.Liberapay = None
|
||||||
self.LiberapayID = None
|
self.LiberapayID = None
|
||||||
|
self.OpenCollective = None
|
||||||
self.Bitcoin = None
|
self.Bitcoin = None
|
||||||
self.Litecoin = None
|
self.Litecoin = None
|
||||||
self.Name = None
|
self.Name = None
|
||||||
|
@ -440,10 +450,18 @@ valuetypes = {
|
||||||
r'^[0-9a-z]+$',
|
r'^[0-9a-z]+$',
|
||||||
['FlattrID']),
|
['FlattrID']),
|
||||||
|
|
||||||
|
FieldValidator("Liberapay",
|
||||||
|
VALID_USERNAME_REGEX,
|
||||||
|
['Liberapay']),
|
||||||
|
|
||||||
FieldValidator("Liberapay ID",
|
FieldValidator("Liberapay ID",
|
||||||
r'^[0-9]+$',
|
r'^[0-9]+$',
|
||||||
['LiberapayID']),
|
['LiberapayID']),
|
||||||
|
|
||||||
|
FieldValidator("Open Collective",
|
||||||
|
r'^[0-9A-Za-z-]+$',
|
||||||
|
['OpenCollective']),
|
||||||
|
|
||||||
FieldValidator("HTTP link",
|
FieldValidator("HTTP link",
|
||||||
r'^http[s]?://',
|
r'^http[s]?://',
|
||||||
["WebSite", "SourceCode", "IssueTracker", "Translation", "Changelog", "Donate"]),
|
["WebSite", "SourceCode", "IssueTracker", "Translation", "Changelog", "Donate"]),
|
||||||
|
@ -453,11 +471,11 @@ valuetypes = {
|
||||||
["AuthorEmail"]),
|
["AuthorEmail"]),
|
||||||
|
|
||||||
FieldValidator("Bitcoin address",
|
FieldValidator("Bitcoin address",
|
||||||
r'^[a-zA-Z0-9]{27,34}$',
|
r'^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$',
|
||||||
["Bitcoin"]),
|
["Bitcoin"]),
|
||||||
|
|
||||||
FieldValidator("Litecoin address",
|
FieldValidator("Litecoin address",
|
||||||
r'^L[a-zA-Z0-9]{33}$',
|
r'^[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}$',
|
||||||
["Litecoin"]),
|
["Litecoin"]),
|
||||||
|
|
||||||
FieldValidator("Repo Type",
|
FieldValidator("Repo Type",
|
||||||
|
@ -1481,6 +1499,7 @@ def write_plaintext_metadata(mf, app, w_comment, w_field, w_build):
|
||||||
w_field_nonempty('Donate')
|
w_field_nonempty('Donate')
|
||||||
w_field_nonempty('FlattrID')
|
w_field_nonempty('FlattrID')
|
||||||
w_field_nonempty('LiberapayID')
|
w_field_nonempty('LiberapayID')
|
||||||
|
w_field_nonempty('OpenCollective')
|
||||||
w_field_nonempty('Bitcoin')
|
w_field_nonempty('Bitcoin')
|
||||||
w_field_nonempty('Litecoin')
|
w_field_nonempty('Litecoin')
|
||||||
mf.write('\n')
|
mf.write('\n')
|
||||||
|
|
|
@ -39,7 +39,7 @@ from . import common
|
||||||
# hard coded defaults for Android ~/.android/debug.keystore files
|
# hard coded defaults for Android ~/.android/debug.keystore files
|
||||||
# https://developers.google.com/android/guides/client-auth
|
# https://developers.google.com/android/guides/client-auth
|
||||||
KEYSTORE_FILE = os.path.join(os.getenv('HOME'), '.android', 'debug.keystore')
|
KEYSTORE_FILE = os.path.join(os.getenv('HOME'), '.android', 'debug.keystore')
|
||||||
PASSWORD = 'android'
|
PASSWORD = 'android' # nosec B105 standard hardcoded password for debug keystores
|
||||||
KEY_ALIAS = 'androiddebugkey'
|
KEY_ALIAS = 'androiddebugkey'
|
||||||
DISTINGUISHED_NAME = 'CN=Android Debug,O=Android,C=US'
|
DISTINGUISHED_NAME = 'CN=Android Debug,O=Android,C=US'
|
||||||
|
|
||||||
|
@ -102,6 +102,8 @@ def main():
|
||||||
help=_('The file to be included in the repo (path or glob)'))
|
help=_('The file to be included in the repo (path or glob)'))
|
||||||
parser.add_argument("--no-checksum", action="store_true", default=False,
|
parser.add_argument("--no-checksum", action="store_true", default=False,
|
||||||
help=_("Don't use rsync checksums"))
|
help=_("Don't use rsync checksums"))
|
||||||
|
parser.add_argument("--archive-older", type=int, default=20,
|
||||||
|
help=_("Set maximum releases in repo before older ones are archived"))
|
||||||
# TODO add --with-btlog
|
# TODO add --with-btlog
|
||||||
options = parser.parse_args()
|
options = parser.parse_args()
|
||||||
|
|
||||||
|
@ -230,9 +232,12 @@ Last updated: {date}'''.format(repo_git_base=repo_git_base,
|
||||||
config += "repo_name = '%s'\n" % repo_git_base
|
config += "repo_name = '%s'\n" % repo_git_base
|
||||||
config += "repo_url = '%s'\n" % repo_url
|
config += "repo_url = '%s'\n" % repo_url
|
||||||
config += "repo_icon = 'icon.png'\n"
|
config += "repo_icon = 'icon.png'\n"
|
||||||
|
config += "repo_description = 'Nightly builds from %s'\n" % git_user_email
|
||||||
config += "archive_name = '%s'\n" % (repo_git_base + ' archive')
|
config += "archive_name = '%s'\n" % (repo_git_base + ' archive')
|
||||||
config += "archive_url = '%s'\n" % (repo_base + '/archive')
|
config += "archive_url = '%s'\n" % (repo_base + '/archive')
|
||||||
config += "archive_icon = 'icon.png'\n"
|
config += "archive_icon = 'icon.png'\n"
|
||||||
|
config += "archive_description = 'Old nightly builds that have been archived.'\n"
|
||||||
|
config += "archive_older = %i\n" % options.archive_older
|
||||||
config += "servergitmirrors = '%s'\n" % servergitmirror
|
config += "servergitmirrors = '%s'\n" % servergitmirror
|
||||||
config += "keystore = '%s'\n" % KEYSTORE_FILE
|
config += "keystore = '%s'\n" % KEYSTORE_FILE
|
||||||
config += "repo_keyalias = '%s'\n" % KEY_ALIAS
|
config += "repo_keyalias = '%s'\n" % KEY_ALIAS
|
||||||
|
@ -293,7 +298,8 @@ Last updated: {date}'''.format(repo_git_base=repo_git_base,
|
||||||
|
|
||||||
if not options.no_deploy:
|
if not options.no_deploy:
|
||||||
try:
|
try:
|
||||||
subprocess.check_call(['fdroid', 'server', 'update', '--verbose'], cwd=repo_basedir)
|
cmd = ['fdroid', 'server', 'update', '--verbose', '--no-keep-git-mirror-archive']
|
||||||
|
subprocess.check_call(cmd, cwd=repo_basedir)
|
||||||
except subprocess.CalledProcessError:
|
except subprocess.CalledProcessError:
|
||||||
logging.error(_('cannot publish update, did you set the deploy key?')
|
logging.error(_('cannot publish update, did you set the deploy key?')
|
||||||
+ '\n' + deploy_key_url)
|
+ '\n' + deploy_key_url)
|
||||||
|
|
|
@ -280,7 +280,7 @@ def main():
|
||||||
signaturefile, signedfile, manifest = signingfiles
|
signaturefile, signedfile, manifest = signingfiles
|
||||||
|
|
||||||
with open(signaturefile, 'rb') as f:
|
with open(signaturefile, 'rb') as f:
|
||||||
devfp = common.signer_fingerprint_short(common.get_signature(f.read()))
|
devfp = common.signer_fingerprint_short(common.get_certificate(f.read()))
|
||||||
devsigned = '{}_{}_{}.apk'.format(appid, vercode, devfp)
|
devsigned = '{}_{}_{}.apk'.format(appid, vercode, devfp)
|
||||||
devsignedtmp = os.path.join(tmp_dir, devsigned)
|
devsignedtmp = os.path.join(tmp_dir, devsigned)
|
||||||
shutil.copy(apkfile, devsignedtmp)
|
shutil.copy(apkfile, devsignedtmp)
|
||||||
|
|
|
@ -109,6 +109,7 @@ def scan_source(build_dir, build=metadata.Build()):
|
||||||
's3.amazonaws.com/repo.commonsware.com', # CommonsWare
|
's3.amazonaws.com/repo.commonsware.com', # CommonsWare
|
||||||
'plugins.gradle.org/m2', # Gradle plugin repo
|
'plugins.gradle.org/m2', # Gradle plugin repo
|
||||||
'maven.google.com', # Google Maven Repo, https://developer.android.com/studio/build/dependencies.html#google-maven
|
'maven.google.com', # Google Maven Repo, https://developer.android.com/studio/build/dependencies.html#google-maven
|
||||||
|
'file:///usr/share/maven-repo', # local repo on Debian installs
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -355,6 +355,10 @@ def update_servergitmirrors(servergitmirrors, repo_section):
|
||||||
if os.path.isdir(dotgit) and _get_size(git_mirror_path) > 1000000000:
|
if os.path.isdir(dotgit) and _get_size(git_mirror_path) > 1000000000:
|
||||||
logging.warning('Deleting git-mirror history, repo is too big (1 gig max)')
|
logging.warning('Deleting git-mirror history, repo is too big (1 gig max)')
|
||||||
shutil.rmtree(dotgit)
|
shutil.rmtree(dotgit)
|
||||||
|
if options.no_keep_git_mirror_archive and _get_size(git_mirror_path) > 1000000000:
|
||||||
|
logging.warning('Deleting archive, repo is too big (1 gig max)')
|
||||||
|
archive_path = os.path.join(git_mirror_path, 'fdroid', 'archive')
|
||||||
|
shutil.rmtree(archive_path, ignore_errors=True)
|
||||||
|
|
||||||
# rsync is very particular about trailing slashes
|
# rsync is very particular about trailing slashes
|
||||||
common.local_rsync(options,
|
common.local_rsync(options,
|
||||||
|
@ -626,6 +630,8 @@ def main():
|
||||||
help=_("Specify a local folder to sync the repo to"))
|
help=_("Specify a local folder to sync the repo to"))
|
||||||
parser.add_argument("--no-checksum", action="store_true", default=False,
|
parser.add_argument("--no-checksum", action="store_true", default=False,
|
||||||
help=_("Don't use rsync checksums"))
|
help=_("Don't use rsync checksums"))
|
||||||
|
parser.add_argument("--no-keep-git-mirror-archive", action="store_true", default=False,
|
||||||
|
help=_("If a git mirror gets to big, allow the archive to be deleted"))
|
||||||
options = parser.parse_args()
|
options = parser.parse_args()
|
||||||
|
|
||||||
config = common.read_config(options)
|
config = common.read_config(options)
|
||||||
|
|
|
@ -53,10 +53,11 @@ fi
|
||||||
# * E501: line too long (82 > 79 characters)
|
# * E501: line too long (82 > 79 characters)
|
||||||
# - Recommended for readability but not enforced
|
# - Recommended for readability but not enforced
|
||||||
# - Some lines are awkward to wrap around a char limit
|
# - Some lines are awkward to wrap around a char limit
|
||||||
|
# * E741: ambiguous variable name 'l'
|
||||||
# * W503: line break before binary operator
|
# * W503: line break before binary operator
|
||||||
# - Quite pedantic
|
# - Quite pedantic
|
||||||
|
|
||||||
PEP8_IGNORE="E123,E501,W503"
|
PEP8_IGNORE="E123,E501,E741,W503"
|
||||||
|
|
||||||
err() {
|
err() {
|
||||||
echo >&2 ERROR: "$@"
|
echo >&2 ERROR: "$@"
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
# uploading here requires Python 3.5.3+ or setuptools 27+,
|
# uploading here requires Python 3.5.3+ or setuptools 27+,
|
||||||
# use instead: twine upload dist/fdroidserver*.tar.gz*
|
# use instead: twine upload --sign dist/fdroidserver*.tar.gz
|
||||||
[aliases]
|
[aliases]
|
||||||
release = versioncheck compile_catalog register sdist upload --sign
|
release = versioncheck compile_catalog sdist
|
||||||
|
|
||||||
# All this below is for Babel config. Ideally we would only use
|
# All this below is for Babel config. Ideally we would only use
|
||||||
# Babel, but it is still missing some key features that gettext gives
|
# Babel, but it is still missing some key features that gettext gives
|
||||||
|
|
12
setup.py
12
setup.py
|
@ -25,7 +25,7 @@ class VersionCheckCommand(Command):
|
||||||
print('ERROR: Release version mismatch! setup.py (%s) does not match git (%s)'
|
print('ERROR: Release version mismatch! setup.py (%s) does not match git (%s)'
|
||||||
% (version, version_git))
|
% (version, version_git))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
print('Upload using: twine upload dist/fdroidserver*.tar.gz*')
|
print('Upload using: twine upload --sign dist/fdroidserver-%s.tar.gz' % version)
|
||||||
|
|
||||||
|
|
||||||
def get_data_files():
|
def get_data_files():
|
||||||
|
@ -49,10 +49,14 @@ def get_data_files():
|
||||||
return data_files
|
return data_files
|
||||||
|
|
||||||
|
|
||||||
|
with open("README.md", "r") as fh:
|
||||||
|
long_description = fh.read()
|
||||||
|
|
||||||
|
|
||||||
setup(name='fdroidserver',
|
setup(name='fdroidserver',
|
||||||
version='1.1.1',
|
version='1.1.9',
|
||||||
description='F-Droid Server Tools',
|
description='F-Droid Server Tools',
|
||||||
long_description='README.md',
|
long_description=long_description,
|
||||||
long_description_content_type='text/markdown',
|
long_description_content_type='text/markdown',
|
||||||
author='The F-Droid Project',
|
author='The F-Droid Project',
|
||||||
author_email='team@f-droid.org',
|
author_email='team@f-droid.org',
|
||||||
|
@ -80,7 +84,7 @@ setup(name='fdroidserver',
|
||||||
'python-vagrant',
|
'python-vagrant',
|
||||||
'PyYAML',
|
'PyYAML',
|
||||||
'qrcode',
|
'qrcode',
|
||||||
'ruamel.yaml >= 0.13',
|
'ruamel.yaml >= 0.15',
|
||||||
'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0',
|
'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0',
|
||||||
'docker-py >= 1.9, < 2.0',
|
'docker-py >= 1.9, < 2.0',
|
||||||
],
|
],
|
||||||
|
|
|
@ -340,10 +340,16 @@ class CommonTest(unittest.TestCase):
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
|
|
||||||
self.assertTrue(fdroidserver.common.verify_apk_signature('bad-unicode-πÇÇ现代通用字-български-عربي1.apk'))
|
self.assertTrue(fdroidserver.common.verify_apk_signature('bad-unicode-πÇÇ现代通用字-български-عربي1.apk'))
|
||||||
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_1.apk'))
|
if 'apksigner' in fdroidserver.common.config: # apksigner considers MD5 signatures valid
|
||||||
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_2.apk'))
|
self.assertTrue(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_1.apk'))
|
||||||
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_3.apk'))
|
self.assertTrue(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_2.apk'))
|
||||||
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_4.apk'))
|
self.assertTrue(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_3.apk'))
|
||||||
|
self.assertTrue(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_4.apk'))
|
||||||
|
else:
|
||||||
|
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_1.apk'))
|
||||||
|
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_2.apk'))
|
||||||
|
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_3.apk'))
|
||||||
|
self.assertFalse(fdroidserver.common.verify_apk_signature('org.bitbucket.tickytacky.mirrormirror_4.apk'))
|
||||||
self.assertTrue(fdroidserver.common.verify_apk_signature('org.dyndns.fules.ck_20.apk'))
|
self.assertTrue(fdroidserver.common.verify_apk_signature('org.dyndns.fules.ck_20.apk'))
|
||||||
self.assertTrue(fdroidserver.common.verify_apk_signature('urzip.apk'))
|
self.assertTrue(fdroidserver.common.verify_apk_signature('urzip.apk'))
|
||||||
self.assertFalse(fdroidserver.common.verify_apk_signature('urzip-badcert.apk'))
|
self.assertFalse(fdroidserver.common.verify_apk_signature('urzip-badcert.apk'))
|
||||||
|
@ -563,6 +569,7 @@ class CommonTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_sign_apk(self):
|
def test_sign_apk(self):
|
||||||
try:
|
try:
|
||||||
|
fdroidserver.common.find_sdk_tools_cmd('aapt')
|
||||||
fdroidserver.common.find_sdk_tools_cmd('zipalign')
|
fdroidserver.common.find_sdk_tools_cmd('zipalign')
|
||||||
except fdroidserver.exception.FDroidException:
|
except fdroidserver.exception.FDroidException:
|
||||||
print('\n\nSKIPPING test_sign_apk, zipalign is not installed!\n')
|
print('\n\nSKIPPING test_sign_apk, zipalign is not installed!\n')
|
||||||
|
|
|
@ -39,6 +39,64 @@ class MetadataTest(unittest.TestCase):
|
||||||
os.makedirs(self.tmpdir)
|
os.makedirs(self.tmpdir)
|
||||||
os.chdir(self.basedir)
|
os.chdir(self.basedir)
|
||||||
|
|
||||||
|
def test_FieldValidator_BitcoinAddress(self):
|
||||||
|
validator = None
|
||||||
|
for vali in fdroidserver.metadata.valuetypes:
|
||||||
|
if vali.name == 'Bitcoin address':
|
||||||
|
validator = vali
|
||||||
|
break
|
||||||
|
self.assertIsNotNone(validator, "could not find 'Bitcoin address' validator")
|
||||||
|
|
||||||
|
fdroidserver.metadata.warnings_action = 'error'
|
||||||
|
|
||||||
|
# some valid addresses (P2PKH, P2SH, Bech32)
|
||||||
|
self.assertIsNone(validator.check('1BrrrrErsrWetrTrnrrrrm4GFg7xJaNVN2', 'fake.app.id'))
|
||||||
|
self.assertIsNone(validator.check('3JrrrrWrEZr3rNrrvrecrnyirrnqRhWNLy', 'fake.app.id'))
|
||||||
|
self.assertIsNone(validator.check('bc1qar0srrr7xrkvr5lr43lrdnwrre5rgtrzrf5rrq', 'fake.app.id'))
|
||||||
|
|
||||||
|
# some invalid addresses
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'21BvMrSYsrWrtrrlL5A10mlGFr7rrarrN2', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'5Hrgr3ur5rGLrfKrrrrrrHSrqJrroGrrzrQrrrrrrLNrsrDrrrA', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'92rr46rUrgTrrromrVrirW6r1rrrdrerrdbJrrrhrCsYrrrrrrc', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'K1BvMrSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'L1BvMrSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'tb1qw5r8drrejxrrg4y5rrrrrraryrrrrwrkxrjrsx', 'fake.app.id')
|
||||||
|
|
||||||
|
def test_FieldValidator_LitecoinAddress(self):
|
||||||
|
validator = None
|
||||||
|
for vali in fdroidserver.metadata.valuetypes:
|
||||||
|
if vali.name == 'Litecoin address':
|
||||||
|
validator = vali
|
||||||
|
break
|
||||||
|
self.assertIsNotNone(validator, "could not find 'Litecoin address' validator")
|
||||||
|
|
||||||
|
fdroidserver.metadata.warnings_action = 'error'
|
||||||
|
|
||||||
|
# some valid addresses (L, M, 3)
|
||||||
|
self.assertIsNone(validator.check('LgeGrrrrJAxyXprrPrrBrrX5Qrrrrrrrrd', 'fake.app.id'))
|
||||||
|
self.assertIsNone(validator.check('MrrrrrrrJAxyXpanPtrrRAX5QHxvUJo8id', 'fake.app.id'))
|
||||||
|
self.assertIsNone(validator.check('3rereVr9rAryrranrrrrrAXrrHx', 'fake.app.id'))
|
||||||
|
|
||||||
|
# some invalid addresses (various special use/testnet addresses, invalid chars)
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'21BvMrSYsrWrtrrrn5Au4l4GFr7rrarrN2', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'5Hrgr3ur5rGLrfKrrrrrr1SrqJrroGrrzrQrrrrrrLNrsrDrrrA', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'92rr46rUrgTrrromrVrirW6r1rrrdrerrdbJrrrhrCsYrrrrrrc', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'K1BvMrSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'L0000rSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
|
||||||
|
self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
|
||||||
|
'tb1qw5r8drrejxrrg4y5rrrrrraryrrrrwrkxrjrsx', 'fake.app.id')
|
||||||
|
|
||||||
def test_read_metadata(self):
|
def test_read_metadata(self):
|
||||||
|
|
||||||
def _build_yaml_representer(dumper, data):
|
def _build_yaml_representer(dumper, data):
|
||||||
|
@ -54,6 +112,7 @@ class MetadataTest(unittest.TestCase):
|
||||||
config['ndk_paths'] = dict()
|
config['ndk_paths'] = dict()
|
||||||
config['accepted_formats'] = ['json', 'txt', 'yml']
|
config['accepted_formats'] = ['json', 'txt', 'yml']
|
||||||
fdroidserver.common.config = config
|
fdroidserver.common.config = config
|
||||||
|
fdroidserver.metadata.warnings_action = None
|
||||||
|
|
||||||
apps = fdroidserver.metadata.read_metadata(xref=True)
|
apps = fdroidserver.metadata.read_metadata(xref=True)
|
||||||
for appid in ('org.smssecure.smssecure', 'org.adaway',
|
for appid in ('org.smssecure.smssecure', 'org.adaway',
|
||||||
|
@ -73,6 +132,7 @@ class MetadataTest(unittest.TestCase):
|
||||||
def test_rewrite_yaml_fakeotaupdate(self):
|
def test_rewrite_yaml_fakeotaupdate(self):
|
||||||
testdir = tempfile.mkdtemp(prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir)
|
testdir = tempfile.mkdtemp(prefix=inspect.currentframe().f_code.co_name, dir=self.tmpdir)
|
||||||
fdroidserver.common.config = {'accepted_formats': ['txt', 'yml']}
|
fdroidserver.common.config = {'accepted_formats': ['txt', 'yml']}
|
||||||
|
fdroidserver.metadata.warnings_action = None
|
||||||
|
|
||||||
# rewrite metadata
|
# rewrite metadata
|
||||||
allapps = fdroidserver.metadata.read_metadata(xref=True)
|
allapps = fdroidserver.metadata.read_metadata(xref=True)
|
||||||
|
|
|
@ -17,12 +17,14 @@ Disabled: null
|
||||||
Donate: null
|
Donate: null
|
||||||
FlattrID: null
|
FlattrID: null
|
||||||
IssueTracker: https://github.com/miguelvps/PoliteDroid/issues
|
IssueTracker: https://github.com/miguelvps/PoliteDroid/issues
|
||||||
|
Liberapay: null
|
||||||
LiberapayID: null
|
LiberapayID: null
|
||||||
License: GPL-3.0-only
|
License: GPL-3.0-only
|
||||||
Litecoin: null
|
Litecoin: null
|
||||||
MaintainerNotes: ''
|
MaintainerNotes: ''
|
||||||
Name: null
|
Name: null
|
||||||
NoSourceSince: '1.5'
|
NoSourceSince: '1.5'
|
||||||
|
OpenCollective: null
|
||||||
Provides: null
|
Provides: null
|
||||||
Repo: https://github.com/miguelvps/PoliteDroid.git
|
Repo: https://github.com/miguelvps/PoliteDroid.git
|
||||||
RepoType: git
|
RepoType: git
|
||||||
|
|
|
@ -40,12 +40,14 @@ Disabled: null
|
||||||
Donate: http://sufficientlysecure.org/index.php/adaway
|
Donate: http://sufficientlysecure.org/index.php/adaway
|
||||||
FlattrID: '369138'
|
FlattrID: '369138'
|
||||||
IssueTracker: https://github.com/dschuermann/ad-away/issues
|
IssueTracker: https://github.com/dschuermann/ad-away/issues
|
||||||
LiberapayID: null
|
Liberapay: null
|
||||||
|
LiberapayID: '1234567890'
|
||||||
License: GPL-3.0-only
|
License: GPL-3.0-only
|
||||||
Litecoin: null
|
Litecoin: null
|
||||||
MaintainerNotes: ''
|
MaintainerNotes: ''
|
||||||
Name: null
|
Name: null
|
||||||
NoSourceSince: ''
|
NoSourceSince: ''
|
||||||
|
OpenCollective: null
|
||||||
Provides: org.sufficientlysecure.adaway
|
Provides: org.sufficientlysecure.adaway
|
||||||
Repo: https://github.com/dschuermann/ad-away.git
|
Repo: https://github.com/dschuermann/ad-away.git
|
||||||
RepoType: git
|
RepoType: git
|
||||||
|
|
|
@ -37,12 +37,14 @@ Disabled: null
|
||||||
Donate: null
|
Donate: null
|
||||||
FlattrID: null
|
FlattrID: null
|
||||||
IssueTracker: https://github.com/SMSSecure/SMSSecure/issues
|
IssueTracker: https://github.com/SMSSecure/SMSSecure/issues
|
||||||
|
Liberapay: null
|
||||||
LiberapayID: null
|
LiberapayID: null
|
||||||
License: GPL-3.0-only
|
License: GPL-3.0-only
|
||||||
Litecoin: null
|
Litecoin: null
|
||||||
MaintainerNotes: ''
|
MaintainerNotes: ''
|
||||||
Name: null
|
Name: null
|
||||||
NoSourceSince: ''
|
NoSourceSince: ''
|
||||||
|
OpenCollective: null
|
||||||
Provides: null
|
Provides: null
|
||||||
Repo: https://github.com/SMSSecure/SMSSecure
|
Repo: https://github.com/SMSSecure/SMSSecure
|
||||||
RepoType: git
|
RepoType: git
|
||||||
|
|
|
@ -24,6 +24,7 @@ Disabled: null
|
||||||
Donate: http://www.videolan.org/contribute.html#money
|
Donate: http://www.videolan.org/contribute.html#money
|
||||||
FlattrID: null
|
FlattrID: null
|
||||||
IssueTracker: http://www.videolan.org/support/index.html#bugs
|
IssueTracker: http://www.videolan.org/support/index.html#bugs
|
||||||
|
Liberapay: null
|
||||||
LiberapayID: null
|
LiberapayID: null
|
||||||
License: GPL-3.0-only
|
License: GPL-3.0-only
|
||||||
Litecoin: null
|
Litecoin: null
|
||||||
|
@ -45,6 +46,7 @@ MaintainerNotes: 'Instructions and dependencies here: http://wiki.videolan.org/A
|
||||||
'
|
'
|
||||||
Name: null
|
Name: null
|
||||||
NoSourceSince: ''
|
NoSourceSince: ''
|
||||||
|
OpenCollective: null
|
||||||
Provides: null
|
Provides: null
|
||||||
Repo: git://git.videolan.org/vlc-ports/android.git
|
Repo: git://git.videolan.org/vlc-ports/android.git
|
||||||
RepoType: git
|
RepoType: git
|
||||||
|
|
|
@ -5,6 +5,7 @@ Source Code:https://github.com/guardianproject/checkey
|
||||||
Issue Tracker:https://dev.guardianproject.info/projects/checkey/issues
|
Issue Tracker:https://dev.guardianproject.info/projects/checkey/issues
|
||||||
Translation:https://www.transifex.com/otf/checkey
|
Translation:https://www.transifex.com/otf/checkey
|
||||||
Bitcoin:1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk
|
Bitcoin:1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk
|
||||||
|
Liberapay:GuardianProject
|
||||||
|
|
||||||
Auto Name:Checkey
|
Auto Name:Checkey
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
AutoName: Urzip:本地应用的信息
|
AutoName: Urzip:本地应用的信息
|
||||||
AutoUpdateMode: None
|
AutoUpdateMode: None
|
||||||
Bitcoin: 1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk
|
Bitcoin: 1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk
|
||||||
|
LiberapayID: '9999999'
|
||||||
|
OpenCollective: f-droid-just-testing
|
||||||
Categories:
|
Categories:
|
||||||
- Development
|
- Development
|
||||||
- GuardianProject
|
- GuardianProject
|
||||||
|
|
|
@ -2,6 +2,7 @@ Categories:Development
|
||||||
License:GPL-3.0-only
|
License:GPL-3.0-only
|
||||||
Source Code:https://github.com/eighthave/urzip
|
Source Code:https://github.com/eighthave/urzip
|
||||||
Bitcoin:1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk
|
Bitcoin:1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk
|
||||||
|
Liberapay:12334
|
||||||
|
|
||||||
Auto Name:OBB Main Old Version
|
Auto Name:OBB Main Old Version
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
"Donate": "http://sufficientlysecure.org/index.php/adaway",
|
"Donate": "http://sufficientlysecure.org/index.php/adaway",
|
||||||
"FlattrID": "369138",
|
"FlattrID": "369138",
|
||||||
"IssueTracker": "https://github.com/dschuermann/ad-away/issues",
|
"IssueTracker": "https://github.com/dschuermann/ad-away/issues",
|
||||||
|
"LiberapayID": "1234567890",
|
||||||
"License": "GPL-3.0-only",
|
"License": "GPL-3.0-only",
|
||||||
"Provides": "org.sufficientlysecure.adaway",
|
"Provides": "org.sufficientlysecure.adaway",
|
||||||
"Repo": "https://github.com/dschuermann/ad-away.git",
|
"Repo": "https://github.com/dschuermann/ad-away.git",
|
||||||
|
|
|
@ -104,6 +104,7 @@
|
||||||
"Development"
|
"Development"
|
||||||
],
|
],
|
||||||
"suggestedVersionCode": "99999999",
|
"suggestedVersionCode": "99999999",
|
||||||
|
"liberapay": "12334",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"name": "OBB Main Old Version",
|
"name": "OBB Main Old Version",
|
||||||
"sourceCode": "https://github.com/eighthave/urzip",
|
"sourceCode": "https://github.com/eighthave/urzip",
|
||||||
|
@ -184,8 +185,10 @@
|
||||||
"suggestedVersionCode": "2147483647",
|
"suggestedVersionCode": "2147483647",
|
||||||
"description": "<p>It\u2019s Urzip \u662f\u4e00\u4e2a\u83b7\u5f97\u5df2\u5b89\u88c5 APK \u76f8\u5173\u4fe1\u606f\u7684\u5b9e\u7528\u5de5\u5177\u3002\u5b83\u4ece\u60a8\u7684\u8bbe\u5907\u4e0a\u5df2\u5b89\u88c5\u7684\u6240\u6709\u5e94\u7528\u5f00\u59cb\uff0c\u4e00\u952e\u89e6\u6478\u5373\u53ef\u663e\u793a APK \u7684\u6307\u7eb9\uff0c\u5e76\u4e14\u63d0\u4f9b\u5230\u8fbe virustotal.com \u548c androidobservatory.org \u7684\u5feb\u6377\u94fe\u63a5\uff0c\u8ba9\u60a8\u65b9\u4fbf\u5730\u4e86\u89e3\u7279\u5b9a APK \u7684\u6863\u6848\u3002\u5b83\u8fd8\u53ef\u4ee5\u8ba9\u60a8\u5bfc\u51fa\u7b7e\u540d\u8bc1\u4e66\u548c\u751f\u6210 ApkSignaturePin Pin \u6587\u4ef6\u4f9b TrustedIntents \u5e93\u4f7f\u7528\u3002</p><p>\u2605 Urzip \u652f\u6301\u4e0b\u5217\u8bed\u8a00\uff1a Deutsch, English, espa\u00f1ol, suomi, \u65e5\u672c\u8a9e, \ud55c\uad6d\uc5b4, Norsk, portugu\u00eas (Portugal), \u0420\u0443\u0441\u0441\u043a\u0438\u0439, Sloven\u0161\u010dina, T\u00fcrk\u00e7e \u6ca1\u770b\u5230\u60a8\u7684\u8bed\u8a00\uff1f\u5e2e\u5fd9\u7ffb\u8bd1\u672c\u5e94\u7528\u5427\uff1a https://www.transifex.com/projects/p/urzip</p><p>\u2605 \u81f4\u7528\u6237\uff1a\u6211\u4eec\u8fd8\u7f3a\u5c11\u4f60\u559c\u6b22\u7684\u529f\u80fd\uff1f\u53d1\u73b0\u4e86\u4e00\u4e2a bug\uff1f\u8bf7\u544a\u8bc9\u6211\u4eec\uff01\u6211\u4eec\u4e50\u4e8e\u542c\u53d6\u60a8\u7684\u610f\u89c1\u3002\u8bf7\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u81f3: support@guardianproject.info \u6216\u8005\u52a0\u5165\u6211\u4eec\u7684\u804a\u5929\u5ba4 https://guardianproject.info/contact</p>",
|
"description": "<p>It\u2019s Urzip \u662f\u4e00\u4e2a\u83b7\u5f97\u5df2\u5b89\u88c5 APK \u76f8\u5173\u4fe1\u606f\u7684\u5b9e\u7528\u5de5\u5177\u3002\u5b83\u4ece\u60a8\u7684\u8bbe\u5907\u4e0a\u5df2\u5b89\u88c5\u7684\u6240\u6709\u5e94\u7528\u5f00\u59cb\uff0c\u4e00\u952e\u89e6\u6478\u5373\u53ef\u663e\u793a APK \u7684\u6307\u7eb9\uff0c\u5e76\u4e14\u63d0\u4f9b\u5230\u8fbe virustotal.com \u548c androidobservatory.org \u7684\u5feb\u6377\u94fe\u63a5\uff0c\u8ba9\u60a8\u65b9\u4fbf\u5730\u4e86\u89e3\u7279\u5b9a APK \u7684\u6863\u6848\u3002\u5b83\u8fd8\u53ef\u4ee5\u8ba9\u60a8\u5bfc\u51fa\u7b7e\u540d\u8bc1\u4e66\u548c\u751f\u6210 ApkSignaturePin Pin \u6587\u4ef6\u4f9b TrustedIntents \u5e93\u4f7f\u7528\u3002</p><p>\u2605 Urzip \u652f\u6301\u4e0b\u5217\u8bed\u8a00\uff1a Deutsch, English, espa\u00f1ol, suomi, \u65e5\u672c\u8a9e, \ud55c\uad6d\uc5b4, Norsk, portugu\u00eas (Portugal), \u0420\u0443\u0441\u0441\u043a\u0438\u0439, Sloven\u0161\u010dina, T\u00fcrk\u00e7e \u6ca1\u770b\u5230\u60a8\u7684\u8bed\u8a00\uff1f\u5e2e\u5fd9\u7ffb\u8bd1\u672c\u5e94\u7528\u5427\uff1a https://www.transifex.com/projects/p/urzip</p><p>\u2605 \u81f4\u7528\u6237\uff1a\u6211\u4eec\u8fd8\u7f3a\u5c11\u4f60\u559c\u6b22\u7684\u529f\u80fd\uff1f\u53d1\u73b0\u4e86\u4e00\u4e2a bug\uff1f\u8bf7\u544a\u8bc9\u6211\u4eec\uff01\u6211\u4eec\u4e50\u4e8e\u542c\u53d6\u60a8\u7684\u610f\u89c1\u3002\u8bf7\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u81f3: support@guardianproject.info \u6216\u8005\u52a0\u5165\u6211\u4eec\u7684\u804a\u5929\u5ba4 https://guardianproject.info/contact</p>",
|
||||||
"issueTracker": "https://dev.guardianproject.info/projects/urzip/issues",
|
"issueTracker": "https://dev.guardianproject.info/projects/urzip/issues",
|
||||||
|
"liberapayID": "9999999",
|
||||||
"license": "GPL-3.0-only",
|
"license": "GPL-3.0-only",
|
||||||
"name": "urzip-\u03c0\u00c7\u00c7\u03c0\u00c7\u00c7\u73b0\u4ee3\u6c49\u8bed\u901a\u7528\u5b57-\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438-\u0639\u0631\u0628\u064a1234",
|
"name": "urzip-\u03c0\u00c7\u00c7\u03c0\u00c7\u00c7\u73b0\u4ee3\u6c49\u8bed\u901a\u7528\u5b57-\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438-\u0639\u0631\u0628\u064a1234",
|
||||||
|
"openCollective": "f-droid-just-testing",
|
||||||
"sourceCode": "https://github.com/guardianproject/urzip",
|
"sourceCode": "https://github.com/guardianproject/urzip",
|
||||||
"summary": "\u4e00\u4e2a\u5b9e\u7528\u5de5\u5177\uff0c\u83b7\u53d6\u5df2\u5b89\u88c5\u5728\u60a8\u7684\u8bbe\u5907\u4e0a\u7684\u5e94\u7528\u7684\u6709\u5173\u4fe1\u606f",
|
"summary": "\u4e00\u4e2a\u5b9e\u7528\u5de5\u5177\uff0c\u83b7\u53d6\u5df2\u5b89\u88c5\u5728\u60a8\u7684\u8bbe\u5907\u4e0a\u7684\u5e94\u7528\u7684\u6709\u5173\u4fe1\u606f",
|
||||||
"webSite": "https://dev.guardianproject.info/projects/urzip",
|
"webSite": "https://dev.guardianproject.info/projects/urzip",
|
||||||
|
|
|
@ -357,6 +357,8 @@
|
||||||
<source>https://github.com/guardianproject/urzip</source>
|
<source>https://github.com/guardianproject/urzip</source>
|
||||||
<tracker>https://dev.guardianproject.info/projects/urzip/issues</tracker>
|
<tracker>https://dev.guardianproject.info/projects/urzip/issues</tracker>
|
||||||
<bitcoin>1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk</bitcoin>
|
<bitcoin>1Fi5xUHiAPRKxHvyUGVFGt9extBe8Srdbk</bitcoin>
|
||||||
|
<liberapay>9999999</liberapay>
|
||||||
|
<openCollective>f-droid-just-testing</openCollective>
|
||||||
<marketversion></marketversion>
|
<marketversion></marketversion>
|
||||||
<marketvercode>2147483647</marketvercode>
|
<marketvercode>2147483647</marketvercode>
|
||||||
<package>
|
<package>
|
||||||
|
|
242
tests/run-tests
242
tests/run-tests
|
@ -128,7 +128,7 @@ set -x # show each command as it is executed
|
||||||
echo_header "run commit hooks"
|
echo_header "run commit hooks"
|
||||||
|
|
||||||
cd $WORKSPACE
|
cd $WORKSPACE
|
||||||
./hooks/pre-commit
|
test -x ./hooks/pre-commit && ./hooks/pre-commit
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
|
@ -305,80 +305,85 @@ cp $WORKSPACE/tests/urzip.apk \
|
||||||
$sed -i.tmp 's,archive_older = [0-9],archive_older = 3,' config.py
|
$sed -i.tmp 's,archive_older = [0-9],archive_older = 3,' config.py
|
||||||
|
|
||||||
$fdroid update --pretty --nosign
|
$fdroid update --pretty --nosign
|
||||||
echo "This will fail when jarsigner allows MD5 for APK signatures"
|
if which apksigner; then
|
||||||
test `grep '<package>' archive/index.xml | wc -l` -eq 5
|
test `grep '<package>' archive/index.xml | wc -l` -eq 2
|
||||||
test `grep '<package>' repo/index.xml | wc -l` -eq 7
|
test `grep '<package>' repo/index.xml | wc -l` -eq 10
|
||||||
|
else
|
||||||
|
echo "This will fail when jarsigner allows MD5 for APK signatures"
|
||||||
|
test `grep '<package>' archive/index.xml | wc -l` -eq 5
|
||||||
|
test `grep '<package>' repo/index.xml | wc -l` -eq 7
|
||||||
|
fi
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
echo_header 'test per-app "Archive Policy"'
|
if ! which apksigner; then
|
||||||
|
echo_header 'test per-app "Archive Policy"'
|
||||||
|
|
||||||
REPOROOT=`create_test_dir`
|
REPOROOT=`create_test_dir`
|
||||||
cd $REPOROOT
|
cd $REPOROOT
|
||||||
fdroid_init_with_prebuilt_keystore
|
fdroid_init_with_prebuilt_keystore
|
||||||
echo "accepted_formats = ['txt']" >> config.py
|
echo "accepted_formats = ['txt']" >> config.py
|
||||||
test -d metadata || mkdir metadata
|
test -d metadata || mkdir metadata
|
||||||
cp $WORKSPACE/tests/metadata/com.politedroid.txt metadata/
|
cp $WORKSPACE/tests/metadata/com.politedroid.txt metadata/
|
||||||
test -d repo || mkdir repo
|
test -d repo || mkdir repo
|
||||||
cp $WORKSPACE/tests/repo/com.politedroid_[0-9].apk repo/
|
cp $WORKSPACE/tests/repo/com.politedroid_[0-9].apk repo/
|
||||||
$sed -i.tmp 's,archive_older = [0-9],archive_older = 3,' config.py
|
$sed -i.tmp 's,archive_older = [0-9],archive_older = 3,' config.py
|
||||||
|
|
||||||
$fdroid update --pretty --nosign
|
$fdroid update --pretty --nosign
|
||||||
test `grep '<package>' archive/index.xml | wc -l` -eq 0
|
test `grep '<package>' archive/index.xml | wc -l` -eq 0
|
||||||
test `grep '<package>' repo/index.xml | wc -l` -eq 4
|
test `grep '<package>' repo/index.xml | wc -l` -eq 4
|
||||||
grep -F com.politedroid_3.apk repo/index.xml
|
grep -F com.politedroid_3.apk repo/index.xml
|
||||||
grep -F com.politedroid_4.apk repo/index.xml
|
grep -F com.politedroid_4.apk repo/index.xml
|
||||||
grep -F com.politedroid_5.apk repo/index.xml
|
grep -F com.politedroid_5.apk repo/index.xml
|
||||||
grep -F com.politedroid_6.apk repo/index.xml
|
grep -F com.politedroid_6.apk repo/index.xml
|
||||||
test -e repo/com.politedroid_3.apk
|
test -e repo/com.politedroid_3.apk
|
||||||
test -e repo/com.politedroid_4.apk
|
test -e repo/com.politedroid_4.apk
|
||||||
test -e repo/com.politedroid_5.apk
|
test -e repo/com.politedroid_5.apk
|
||||||
test -e repo/com.politedroid_6.apk
|
test -e repo/com.politedroid_6.apk
|
||||||
|
|
||||||
echo "enable one app in the repo"
|
echo "enable one app in the repo"
|
||||||
$sed -i.tmp 's,^Archive Policy:4,Archive Policy:1,' metadata/com.politedroid.txt
|
$sed -i.tmp 's,^Archive Policy:4,Archive Policy:1,' metadata/com.politedroid.txt
|
||||||
$fdroid update --pretty --nosign
|
$fdroid update --pretty --nosign
|
||||||
test `grep '<package>' archive/index.xml | wc -l` -eq 3
|
test `grep '<package>' archive/index.xml | wc -l` -eq 3
|
||||||
test `grep '<package>' repo/index.xml | wc -l` -eq 1
|
test `grep '<package>' repo/index.xml | wc -l` -eq 1
|
||||||
grep -F com.politedroid_3.apk archive/index.xml
|
grep -F com.politedroid_3.apk archive/index.xml
|
||||||
grep -F com.politedroid_4.apk archive/index.xml
|
grep -F com.politedroid_4.apk archive/index.xml
|
||||||
grep -F com.politedroid_5.apk archive/index.xml
|
grep -F com.politedroid_5.apk archive/index.xml
|
||||||
grep -F com.politedroid_6.apk repo/index.xml
|
grep -F com.politedroid_6.apk repo/index.xml
|
||||||
test -e archive/com.politedroid_3.apk
|
test -e archive/com.politedroid_3.apk
|
||||||
test -e archive/com.politedroid_4.apk
|
test -e archive/com.politedroid_4.apk
|
||||||
test -e archive/com.politedroid_5.apk
|
test -e archive/com.politedroid_5.apk
|
||||||
test -e repo/com.politedroid_6.apk
|
test -e repo/com.politedroid_6.apk
|
||||||
|
|
||||||
echo "remove all apps from the repo"
|
echo "remove all apps from the repo"
|
||||||
$sed -i.tmp 's,^Archive Policy:1,Archive Policy:0,' metadata/com.politedroid.txt
|
$sed -i.tmp 's,^Archive Policy:1,Archive Policy:0,' metadata/com.politedroid.txt
|
||||||
$fdroid update --pretty --nosign
|
$fdroid update --pretty --nosign
|
||||||
test `grep '<package>' archive/index.xml | wc -l` -eq 4
|
test `grep '<package>' archive/index.xml | wc -l` -eq 4
|
||||||
test `grep '<package>' repo/index.xml | wc -l` -eq 0
|
test `grep '<package>' repo/index.xml | wc -l` -eq 0
|
||||||
grep -F com.politedroid_3.apk archive/index.xml
|
grep -F com.politedroid_3.apk archive/index.xml
|
||||||
grep -F com.politedroid_4.apk archive/index.xml
|
grep -F com.politedroid_4.apk archive/index.xml
|
||||||
grep -F com.politedroid_5.apk archive/index.xml
|
grep -F com.politedroid_5.apk archive/index.xml
|
||||||
grep -F com.politedroid_6.apk archive/index.xml
|
grep -F com.politedroid_6.apk archive/index.xml
|
||||||
test -e archive/com.politedroid_3.apk
|
test -e archive/com.politedroid_3.apk
|
||||||
test -e archive/com.politedroid_4.apk
|
test -e archive/com.politedroid_4.apk
|
||||||
test -e archive/com.politedroid_5.apk
|
test -e archive/com.politedroid_5.apk
|
||||||
test -e archive/com.politedroid_6.apk
|
test -e archive/com.politedroid_6.apk
|
||||||
! test -e repo/com.politedroid_6.apk
|
! test -e repo/com.politedroid_6.apk
|
||||||
|
|
||||||
echo "move back one from archive to the repo"
|
|
||||||
$sed -i.tmp 's,^Archive Policy:0,Archive Policy:1,' metadata/com.politedroid.txt
|
|
||||||
$fdroid update --pretty --nosign
|
|
||||||
test `grep '<package>' archive/index.xml | wc -l` -eq 3
|
|
||||||
test `grep '<package>' repo/index.xml | wc -l` -eq 1
|
|
||||||
grep -F com.politedroid_3.apk archive/index.xml
|
|
||||||
grep -F com.politedroid_4.apk archive/index.xml
|
|
||||||
grep -F com.politedroid_5.apk archive/index.xml
|
|
||||||
grep -F com.politedroid_6.apk repo/index.xml
|
|
||||||
test -e archive/com.politedroid_3.apk
|
|
||||||
test -e archive/com.politedroid_4.apk
|
|
||||||
test -e archive/com.politedroid_5.apk
|
|
||||||
! test -e archive/com.politedroid_6.apk
|
|
||||||
test -e repo/com.politedroid_6.apk
|
|
||||||
|
|
||||||
|
echo "move back one from archive to the repo"
|
||||||
|
$sed -i.tmp 's,^Archive Policy:0,Archive Policy:1,' metadata/com.politedroid.txt
|
||||||
|
$fdroid update --pretty --nosign
|
||||||
|
test `grep '<package>' archive/index.xml | wc -l` -eq 3
|
||||||
|
test `grep '<package>' repo/index.xml | wc -l` -eq 1
|
||||||
|
grep -F com.politedroid_3.apk archive/index.xml
|
||||||
|
grep -F com.politedroid_4.apk archive/index.xml
|
||||||
|
grep -F com.politedroid_5.apk archive/index.xml
|
||||||
|
grep -F com.politedroid_6.apk repo/index.xml
|
||||||
|
test -e archive/com.politedroid_3.apk
|
||||||
|
test -e archive/com.politedroid_4.apk
|
||||||
|
test -e archive/com.politedroid_5.apk
|
||||||
|
! test -e archive/com.politedroid_6.apk
|
||||||
|
test -e repo/com.politedroid_6.apk
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
|
@ -505,29 +510,31 @@ test -e repo/org.bitbucket.tickytacky.mirrormirror_3.apk
|
||||||
test -e repo/org.bitbucket.tickytacky.mirrormirror_4.apk
|
test -e repo/org.bitbucket.tickytacky.mirrormirror_4.apk
|
||||||
test -e archive/urzip-badsig.apk
|
test -e archive/urzip-badsig.apk
|
||||||
|
|
||||||
$sed -i.tmp '/allow_disabled_algorithms/d' config.py
|
if ! which apksigner; then
|
||||||
$fdroid update --pretty --nosign
|
$sed -i.tmp '/allow_disabled_algorithms/d' config.py
|
||||||
test `grep '<package>' archive/index.xml | wc -l` -eq 5
|
$fdroid update --pretty --nosign
|
||||||
test `grep '<package>' repo/index.xml | wc -l` -eq 3
|
test `grep '<package>' archive/index.xml | wc -l` -eq 5
|
||||||
grep -F org.bitbucket.tickytacky.mirrormirror_1.apk archive/index.xml
|
test `grep '<package>' repo/index.xml | wc -l` -eq 3
|
||||||
grep -F org.bitbucket.tickytacky.mirrormirror_2.apk archive/index.xml
|
grep -F org.bitbucket.tickytacky.mirrormirror_1.apk archive/index.xml
|
||||||
grep -F org.bitbucket.tickytacky.mirrormirror_3.apk archive/index.xml
|
grep -F org.bitbucket.tickytacky.mirrormirror_2.apk archive/index.xml
|
||||||
grep -F org.bitbucket.tickytacky.mirrormirror_4.apk archive/index.xml
|
grep -F org.bitbucket.tickytacky.mirrormirror_3.apk archive/index.xml
|
||||||
grep -F com.politedroid_3.apk archive/index.xml
|
grep -F org.bitbucket.tickytacky.mirrormirror_4.apk archive/index.xml
|
||||||
grep -F com.politedroid_4.apk repo/index.xml
|
grep -F com.politedroid_3.apk archive/index.xml
|
||||||
grep -F com.politedroid_5.apk repo/index.xml
|
grep -F com.politedroid_4.apk repo/index.xml
|
||||||
grep -F com.politedroid_6.apk repo/index.xml
|
grep -F com.politedroid_5.apk repo/index.xml
|
||||||
! grep -F urzip-badsig.apk repo/index.xml
|
grep -F com.politedroid_6.apk repo/index.xml
|
||||||
! grep -F urzip-badsig.apk archive/index.xml
|
! grep -F urzip-badsig.apk repo/index.xml
|
||||||
test -e archive/org.bitbucket.tickytacky.mirrormirror_1.apk
|
! grep -F urzip-badsig.apk archive/index.xml
|
||||||
test -e archive/org.bitbucket.tickytacky.mirrormirror_2.apk
|
test -e archive/org.bitbucket.tickytacky.mirrormirror_1.apk
|
||||||
test -e archive/org.bitbucket.tickytacky.mirrormirror_3.apk
|
test -e archive/org.bitbucket.tickytacky.mirrormirror_2.apk
|
||||||
test -e archive/org.bitbucket.tickytacky.mirrormirror_4.apk
|
test -e archive/org.bitbucket.tickytacky.mirrormirror_3.apk
|
||||||
test -e archive/com.politedroid_3.apk
|
test -e archive/org.bitbucket.tickytacky.mirrormirror_4.apk
|
||||||
test -e archive/urzip-badsig.apk
|
test -e archive/com.politedroid_3.apk
|
||||||
test -e repo/com.politedroid_4.apk
|
test -e archive/urzip-badsig.apk
|
||||||
test -e repo/com.politedroid_5.apk
|
test -e repo/com.politedroid_4.apk
|
||||||
test -e repo/com.politedroid_6.apk
|
test -e repo/com.politedroid_5.apk
|
||||||
|
test -e repo/com.politedroid_6.apk
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
|
@ -636,19 +643,21 @@ $fdroid install || true
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
echo_header "create a source tarball"
|
# only run this test if running from a git repo, not all files are in the tarball
|
||||||
|
if [ -e .git/config ]; then
|
||||||
|
echo_header "create a source tarball"
|
||||||
|
|
||||||
cd $WORKSPACE
|
cd $WORKSPACE
|
||||||
./setup.py compile_catalog sdist
|
./setup.py compile_catalog sdist
|
||||||
|
|
||||||
REPOROOT=`create_test_dir`
|
|
||||||
cd $REPOROOT
|
|
||||||
tar xzf `ls -1 $WORKSPACE/dist/fdroidserver-*.tar.gz | sort -n | tail -1`
|
|
||||||
cd $REPOROOT
|
|
||||||
./fdroidserver-*/fdroid init
|
|
||||||
copy_apks_into_repo $REPOROOT
|
|
||||||
./fdroidserver-*/fdroid update --create-metadata --verbose
|
|
||||||
|
|
||||||
|
REPOROOT=`create_test_dir`
|
||||||
|
cd $REPOROOT
|
||||||
|
tar xzf `ls -1 $WORKSPACE/dist/fdroidserver-*.tar.gz | sort -n | tail -1`
|
||||||
|
cd $REPOROOT
|
||||||
|
./fdroidserver-*/fdroid init
|
||||||
|
copy_apks_into_repo $REPOROOT
|
||||||
|
./fdroidserver-*/fdroid update --create-metadata --verbose
|
||||||
|
fi
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
echo_header "test config checks of local_copy_dir"
|
echo_header "test config checks of local_copy_dir"
|
||||||
|
@ -1104,6 +1113,35 @@ if have_git_2_3; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------#
|
||||||
|
echo_header 'test extracting and publishing with developer signature'
|
||||||
|
|
||||||
|
REPOROOT=`create_test_dir`
|
||||||
|
cd $REPOROOT
|
||||||
|
fdroid_init_with_prebuilt_keystore
|
||||||
|
echo "accepted_formats = ['txt']" >> config.py
|
||||||
|
echo 'keydname = "CN=Birdman, OU=Cell, O=Alcatraz, L=Alcatraz, S=California, C=US"' >> config.py
|
||||||
|
test -d metadata || mkdir metadata
|
||||||
|
cp $WORKSPACE/tests/metadata/com.politedroid.txt metadata/
|
||||||
|
test -d repo || mkdir repo
|
||||||
|
test -d unsigned || mkdir unsigned
|
||||||
|
cp $WORKSPACE/tests/repo/com.politedroid_6.apk unsigned/
|
||||||
|
$fdroid signatures unsigned/com.politedroid_6.apk
|
||||||
|
test -d metadata/com.politedroid/signatures/6
|
||||||
|
test -f metadata/com.politedroid/signatures/6/MANIFEST.MF
|
||||||
|
test -f metadata/com.politedroid/signatures/6/RELEASE.RSA
|
||||||
|
test -f metadata/com.politedroid/signatures/6/RELEASE.SF
|
||||||
|
! test -f repo/com.politedroid_6.apk
|
||||||
|
$fdroid publish
|
||||||
|
test -f repo/com.politedroid_6.apk
|
||||||
|
if which jarsigner; then
|
||||||
|
jarsigner -verify repo/com.politedroid_6.apk
|
||||||
|
fi
|
||||||
|
if which apksigner; then
|
||||||
|
apksigner verify repo/com.politedroid_6.apk
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
|
|
||||||
# remove this to prevent git conflicts and complaining
|
# remove this to prevent git conflicts and complaining
|
||||||
|
|
|
@ -408,13 +408,16 @@ class UpdateTest(unittest.TestCase):
|
||||||
|
|
||||||
print('USE_ANDROGUARD', use_androguard)
|
print('USE_ANDROGUARD', use_androguard)
|
||||||
|
|
||||||
apksigner = fdroidserver.common.find_sdk_tools_cmd('apksigner')
|
try:
|
||||||
if use_androguard and apksigner: # v2 parsing needs both
|
apksigner = fdroidserver.common.find_sdk_tools_cmd('apksigner')
|
||||||
config['apksigner'] = apksigner
|
if use_androguard and apksigner: # v2 parsing needs both
|
||||||
apk_info = fdroidserver.update.scan_apk('v2.only.sig_2.apk')
|
config['apksigner'] = apksigner
|
||||||
self.assertIsNone(apk_info.get('maxSdkVersion'))
|
apk_info = fdroidserver.update.scan_apk('v2.only.sig_2.apk')
|
||||||
self.assertEqual(apk_info.get('versionName'), 'v2-only')
|
self.assertIsNone(apk_info.get('maxSdkVersion'))
|
||||||
self.assertEqual(apk_info.get('versionCode'), 2)
|
self.assertEqual(apk_info.get('versionName'), 'v2-only')
|
||||||
|
self.assertEqual(apk_info.get('versionCode'), 2)
|
||||||
|
except fdroidserver.exception.FDroidException:
|
||||||
|
print('WARNING: skipping v2-only test since apksigner cannot be found')
|
||||||
|
|
||||||
apk_info = fdroidserver.update.scan_apk('repo/v1.v2.sig_1020.apk')
|
apk_info = fdroidserver.update.scan_apk('repo/v1.v2.sig_1020.apk')
|
||||||
self.assertIsNone(apk_info.get('maxSdkVersion'))
|
self.assertIsNone(apk_info.get('maxSdkVersion'))
|
||||||
|
@ -622,6 +625,10 @@ class UpdateTest(unittest.TestCase):
|
||||||
self.assertFalse(os.path.exists(os.path.join('archive', apkName)))
|
self.assertFalse(os.path.exists(os.path.join('archive', apkName)))
|
||||||
self.assertTrue(os.path.exists(os.path.join('repo', apkName)))
|
self.assertTrue(os.path.exists(os.path.join('repo', apkName)))
|
||||||
|
|
||||||
|
if os.path.exists('/usr/bin/apksigner') or 'apksigner' in config:
|
||||||
|
print('SKIPPING: apksigner installed and it allows MD5 signatures')
|
||||||
|
return
|
||||||
|
|
||||||
javac = config['jarsigner'].replace('jarsigner', 'javac')
|
javac = config['jarsigner'].replace('jarsigner', 'javac')
|
||||||
v = subprocess.check_output([javac, '-version'], stderr=subprocess.STDOUT)[6:-1].decode('utf-8')
|
v = subprocess.check_output([javac, '-version'], stderr=subprocess.STDOUT)[6:-1].decode('utf-8')
|
||||||
if LooseVersion(v) < LooseVersion('1.8.0_132'):
|
if LooseVersion(v) < LooseVersion('1.8.0_132'):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue