From c3b361c91bfb0ed61b264cacd9dba5d05b033004 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 22 Jun 2018 10:10:21 +0200 Subject: [PATCH 1/3] remove 'from distutils.util import strtobool' dependency Most of distutils is being removed from the Python standard library, and this is totally not needed here. --- fdroidserver/common.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index b8f4fd38..b4a2382d 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -51,8 +51,6 @@ from pyasn1.codec.der import decoder, encoder from pyasn1_modules import rfc2315 from pyasn1.error import PyAsn1Error -from distutils.util import strtobool - import fdroidserver.metadata from fdroidserver import _ from fdroidserver.exception import FDroidException, VCSException, NoSubmodulesException,\ @@ -2031,8 +2029,8 @@ def is_apk_and_debuggable_androguard(apkfile): apkobject = _get_androguard_APK(apkfile) if apkobject.is_valid_APK(): debuggable = apkobject.get_element("application", "debuggable") - if debuggable is not None: - return bool(strtobool(debuggable)) + if debuggable == 'true': + return True return False From 669401640a02baa45ceecb1a94b3918c92573d4a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 22 Jun 2018 10:11:16 +0200 Subject: [PATCH 2/3] tests: only run gpgsign tests if gpg is present and executable This allows the full test suite to run in Debian/Ubuntu autopkgtest with only the Depends: installed, and nothing from Recommends:. --- tests/run-tests | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/run-tests b/tests/run-tests index f17f933b..d747dddf 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -262,7 +262,7 @@ grep -F '> config.py $fdroid checkupdates --allow-dirty -$fdroid gpgsign +which gpg && $fdroid gpgsign $fdroid lint $fdroid readmeta $fdroid rewritemeta fake From d20e8613fe4d26d3a99fa86cd5b96c6ef936042c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 22 Jun 2018 23:26:15 +0200 Subject: [PATCH 3/3] build: only test for all Android SDK paths where it is needed Now that androguard can be used, the android-sdk is no longer required for most operations. --- fdroidserver/build.py | 6 ++++++ fdroidserver/common.py | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 3e88fe26..f47c51d7 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -1000,6 +1000,12 @@ def main(): if options.reset_server and not options.server: parser.error("option %s: Using --reset-server without --server makes no sense" % "reset-server") + if options.onserver or not options.server: + for d in ['build-tools', 'platform-tools', 'tools']: + if not os.path.isdir(os.path.join(config['sdk_path'], d)): + raise FDroidException(_("Android SDK '{path}' does not have '{dirname}' installed!") + .format(path=config['sdk_path'], dirname=d)) + log_dir = 'logs' if not os.path.isdir(log_dir): logging.info("Creating log directory") diff --git a/fdroidserver/common.py b/fdroidserver/common.py index b4a2382d..e3cd165d 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -437,11 +437,6 @@ def test_sdk_exists(thisconfig): logging.critical(_("Android SDK path '{path}' is not a directory!") .format(path=thisconfig['sdk_path'])) return False - for d in ['build-tools', 'platform-tools', 'tools']: - if not os.path.isdir(os.path.join(thisconfig['sdk_path'], d)): - logging.critical(_("Android SDK '{path}' does not have '{dirname}' installed!") - .format(path=thisconfig['sdk_path'], dirname=d)) - return False return True