From 1ef3d46f6bc433d25d03df9ca917b162ccf6cd3c Mon Sep 17 00:00:00 2001 From: Erik Assum Date: Sat, 18 Sep 2021 12:06:36 +0200 Subject: [PATCH] [Fix #33] Don't ask for password when running headless Also, don't supply password to `gpg` when no password is supplied --- src/deps_deploy/gpg.clj | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/deps_deploy/gpg.clj b/src/deps_deploy/gpg.clj index 2d09687..7b32b31 100644 --- a/src/deps_deploy/gpg.clj +++ b/src/deps_deploy/gpg.clj @@ -5,7 +5,7 @@ (or (System/getenv "DEPS_DEPLOY_GPG") "gpg")) (defn read-passphrase [] - (let [console (System/console)] + (when-let [console (System/console)] (String. (.readPassword console "%s" (into-array ["gpg passphrase: "]))))) (defn gpg [{:keys [passphrase args]}] @@ -36,9 +36,11 @@ (update cmd :args into ["--yes" "--armour" "--detach-sign" file])) (defn add-passphrase [cmd passphrase] - (-> cmd - (update :args #(into ["--batch" "--pinentry-mode" "loopback" "--passphrase-fd" "0"] %)) - (assoc :passphrase passphrase))) + (if passphrase + (-> cmd + (update :args #(into ["--batch" "--pinentry-mode" "loopback" "--passphrase-fd" "0"] %)) + (assoc :passphrase passphrase)) + (update cmd :args #(into ["--batch"] %)))) (defn add-key [cmd key] (update cmd :args #(into ["--default-key" key] %)))