From: Hans-Christoph Steiner Date: Tue, 1 Apr 2014 21:37:37 +0000 (-0400) Subject: fix genkey key listing in `fdroid init` X-Git-Tag: 0.2~154^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=e53092cffa993031cdd6f3269ca792e42b41a9a6;p=fdroidserver.git fix genkey key listing in `fdroid init` FDroidPopen() does not have a way to send to stdin, so we will use the password file for now. In the long run, at least the keypass should always be sent via stdin rather than via a file. Ideally, storepass would be too, but if they are different, then storepass is less important. --- diff --git a/fdroidserver/init.py b/fdroidserver/init.py index 3c67b50c..d7ecab59 100644 --- a/fdroidserver/init.py +++ b/fdroidserver/init.py @@ -66,12 +66,13 @@ def genkey(keystore, repo_keyalias, password, keydname): '-storepass:file', config['keystorepassfile'], '-keypass:file', config['keypassfile'], '-dname', keydname]) + # TODO keypass should be sent via stdin if p.returncode != 0: raise BuildException("Failed to generate key", p.stdout) # now show the lovely key that was just generated p = FDroidPopen(['keytool', '-list', '-v', - '-keystore', keystore, '-alias', repo_keyalias]) - output = p.communicate(password)[0] + '-keystore', keystore, '-alias', repo_keyalias], + '-storepass:file', config['keystorepassfile']) logging.info(output.lstrip().strip() + '\n\n') diff --git a/fdroidserver/publish.py b/fdroidserver/publish.py index 1c241501..5a75a85c 100644 --- a/fdroidserver/publish.py +++ b/fdroidserver/publish.py @@ -132,6 +132,7 @@ def main(): '-storepass:file', config['keystorepassfile'], '-keypass:file', config['keypassfile'], '-dname', config['keydname']]) + # TODO keypass should be sent via stdin if p.returncode != 0: raise BuildException("Failed to generate key") @@ -141,6 +142,7 @@ def main(): '-keypass:file', config['keypassfile'], '-sigalg', 'MD5withRSA', '-digestalg', 'SHA1', apkfile, keyalias]) + # TODO keypass should be sent via stdin if p.returncode != 0: raise BuildException("Failed to sign application") diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 55d4b0e2..6e54bbc0 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -800,6 +800,7 @@ def make_index(apps, apks, repodir, archive, categories): '-keypass:file', config['keypassfile'], '-digestalg', 'SHA1', '-sigalg', 'MD5withRSA', os.path.join(repodir, 'index.jar') , config['repo_keyalias']]) + # TODO keypass should be sent via stdin if p.returncode != 0: logging.info("Failed to sign index") sys.exit(1)