From: Hans-Christoph Steiner Date: Tue, 15 Mar 2016 10:30:27 +0000 (+0100) Subject: fix stab at a Cygwin port (aaaahh Windows!) X-Git-Tag: 0.7.0~79^2~4 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=016fa7811178bf1655904dee5548b8dc27c23ba1;p=fdroidserver.git fix stab at a Cygwin port (aaaahh Windows!) This gets `fdroid init` and `fdroid readmeta` working on Cygwin. --- diff --git a/fdroidserver/common.py b/fdroidserver/common.py index ab6f238a..9b6f303d 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -128,10 +128,16 @@ def fill_config_defaults(thisconfig): # find all installed JDKs for keytool, jarsigner, and JAVA[6-9]_HOME env vars if thisconfig['java_paths'] is None: thisconfig['java_paths'] = dict() - for d in sorted(glob.glob('/usr/lib/jvm/j*[6-9]*') - + glob.glob('/usr/java/jdk1.[6-9]*') - + glob.glob('/System/Library/Java/JavaVirtualMachines/1.[6-9].0.jdk') - + glob.glob('/Library/Java/JavaVirtualMachines/*jdk*[6-9]*')): + pathlist = [] + pathlist += glob.glob('/usr/lib/jvm/j*[6-9]*') + pathlist += glob.glob('/usr/java/jdk1.[6-9]*') + pathlist += glob.glob('/System/Library/Java/JavaVirtualMachines/1.[6-9].0.jdk') + pathlist += glob.glob('/Library/Java/JavaVirtualMachines/*jdk*[6-9]*') + if os.getenv('JAVA_HOME') is not None: + pathlist += os.getenv('JAVA_HOME') + if os.getenv('PROGRAMFILES') is not None: + pathlist += glob.glob(os.path.join(os.getenv('PROGRAMFILES'), 'Java', 'jdk1.[6-9].*')) + for d in sorted(pathlist): if os.path.islink(d): continue j = os.path.basename(d) @@ -139,6 +145,7 @@ def fill_config_defaults(thisconfig): for regex in [ r'^1\.([6-9])\.0\.jdk$', # OSX r'^jdk1\.([6-9])\.0_[0-9]+.jdk$', # OSX and Oracle tarball + r'^jdk1\.([6-9])\.0_[0-9]+$', # Oracle Windows r'^jdk([6-9])-openjdk$', # Arch r'^java-([6-9])-openjdk$', # Arch r'^java-([6-9])-jdk$', # Arch (oracle) diff --git a/fdroidserver/init.py b/fdroidserver/init.py index 590307d9..4b301de9 100644 --- a/fdroidserver/init.py +++ b/fdroidserver/init.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# update.py - part of the FDroid server tools +# init.py - part of the FDroid server tools # Copyright (C) 2010-2013, Ciaran Gultnieks, ciaran@ciarang.com # Copyright (C) 2013-2014 Daniel Martí # Copyright (C) 2013 Hans-Christoph Steiner @@ -100,6 +100,9 @@ def main(): else: # if neither --android-home nor the default sdk_path exist, prompt the user default_sdk_path = '/opt/android-sdk' + if sys.platform == 'win32' or sys.platform == 'cygwin': + default_sdk_path = os.path.join(os.getenv('USERPROFILE'), + 'AppData', 'Local', 'Android', 'android-sdk') while not options.no_prompt: try: s = input('Enter the path to the Android SDK ('