From e53092cffa993031cdd6f3269ca792e42b41a9a6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 1 Apr 2014 17:37:37 -0400 Subject: [PATCH] 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. --- fdroidserver/init.py | 5 +++-- fdroidserver/publish.py | 2 ++ fdroidserver/update.py | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) 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) -- 2.30.2