chiark / gitweb /
fix genkey key listing in `fdroid init`
authorHans-Christoph Steiner <hans@eds.org>
Tue, 1 Apr 2014 21:37:37 +0000 (17:37 -0400)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 1 Apr 2014 22:04:36 +0000 (18:04 -0400)
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
fdroidserver/publish.py
fdroidserver/update.py

index 3c67b50c4c601bce2b7a132a1eba3852aa7674e6..d7ecab59494fb3600508cfe60efe571bdd0cdd45 100644 (file)
@@ -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')
 
 
index 1c241501002a8cd67ba1ace068eea5d0a4898cf2..5a75a85c97f712f7aca47994694662ffa2c91540 100644 (file)
@@ -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")
 
index 55d4b0e2ec3ecff3badafe1c8c48e46260e960f5..6e54bbc0b6dd2d3f97433c173cf28d8274c10017 100644 (file)
@@ -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)