From: relan Date: Wed, 3 Aug 2016 05:24:45 +0000 (+0300) Subject: Check javac existence when looking for JDK X-Git-Tag: 0.7.0~14^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=fdroidserver.git;a=commitdiff_plain;h=162808a4ccd7eb4e2c0f502c12beb1e20ef07ad8 Check javac existence when looking for JDK Empty JDK directories can remain from previous JDK installations. For example in RHEL/Fedora when RPM upgrades a package it can leave modified files (usually configs) and, consequently, their directories. So we could end up selecting a bad JDK path. --- diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 229c6e4d..a9a4b487 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -158,11 +158,9 @@ def fill_config_defaults(thisconfig): m = re.match(regex, j) if not m: continue - osxhome = os.path.join(d, 'Contents', 'Home') - if os.path.exists(osxhome): - thisconfig['java_paths'][m.group(1)] = osxhome - else: - thisconfig['java_paths'][m.group(1)] = d + for p in [d, os.path.join(d, 'Contents', 'Home')]: + if os.path.exists(os.path.join(p, 'bin', 'javac')): + thisconfig['java_paths'][m.group(1)] = p for java_version in ('7', '8', '9'): if java_version not in thisconfig['java_paths']: