Description:
 Normally fdroid auto-detects Java's keytool and jarsigner, but if the
 user changes the default JDK to something other than Java 1.7, then
 fdroid will break.  So this package first uses the path to the
 default Debian version of the tools.
Forwarded: not-needed
Author: Hans-Christoph Steiner <hans@eds.org>
Date: Thu, 18 Feb 2016 12:27:16 +0100

--- a/fdroidserver/common.py
+++ b/fdroidserver/common.py
@@ -164,15 +164,21 @@
                     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']:
-            continue
-        java_home = thisconfig['java_paths'][java_version]
-        jarsigner = os.path.join(java_home, 'bin', 'jarsigner')
-        if os.path.exists(jarsigner):
-            thisconfig['jarsigner'] = jarsigner
-            thisconfig['keytool'] = os.path.join(java_home, 'bin', 'keytool')
-            break  # Java7 is preferred, so quit if found
+    # for Debian/Ubuntu packaging, always prefer the built-in, unless it does not exist
+    default_java = '/usr/lib/jvm/default-java'
+    if os.path.exists(default_java):
+        thisconfig['jarsigner'] = os.path.join(default_java, 'bin', 'jarsigner')
+        thisconfig['keytool'] = os.path.join(default_java, 'bin', 'keytool')
+    else:
+        for java_version in ('7', '8', '9'):
+            if java_version not in thisconfig['java_paths']:
+                continue
+            java_home = thisconfig['java_paths'][java_version]
+            jarsigner = os.path.join(java_home, 'bin', 'jarsigner')
+            if os.path.exists(jarsigner):
+                thisconfig['jarsigner'] = jarsigner
+                thisconfig['keytool'] = os.path.join(java_home, 'bin', 'keytool')
+                break  # Java7 is preferred, so quit if found
 
     for k in ['ndk_paths', 'java_paths']:
         d = thisconfig[k]
