2017-08-24 14 views
1

私は一般的に 'gpg'を無効にすることなく 'stack sdist'に 'no-tty'を設定するにはどうしたらいいですか?

stack sdist --sign ... 

を実行した場合、私は私の~/.gnupg/gpg.conf

Error signing with GPG 
gpg: cannot open `/dev/tty': Device not configured 

unless I place

no-tty 

を取得します。

しかし、私は、その後

gpg -e ... 

gpg: Sorry, no terminal at all requested - can't get input 

を与えることを行う場合、私はかつて、後者のためにno-ttyを使用しますが、できないようにgpgまたはstack sdistを設定する方法はありますか?たとえば、私がstack sdistを実行しているプロジェクトでローカルgpg.confを使用できますか?または、同じ効果を持つgpgまたはstack sdistのいずれかに指定できるコマンドライン引数がありますか?おそらく、--no-ttystack sdistを基になるGPGに渡す方法がありますか?追加の制約として


、私は(私はバッチこのまたはそれを行うための小さなスクリプトを書くことができない)私は、単一のシェルコマンドに制限されていますIDEで動作するようにこれが必要:

enter image description here

答えて

1

source code of stack's GnuPG interfaceを見ると、GnuPGのパラメータを追加するには、スタック内の可能性がない:

マイクロソフトがサポートを追加した考える
(_hIn,hOut,hErr,process) <- 
    gpg 
     [ "--output" 
     , "-" 
     , "--use-agent" 
     , "--detach-sig" 
     , "--armor" 
     , toFilePath path] 

適切なTTY変数は現実的ではありません。おそらく、スタックを変更した方がよいでしょう。スタックの--no-terminalパラメータがバグを設定している場合は、GnuPGパラメータとして--no-ttyを指定しないでください。さらに、カスタムオプションをGnuPGに渡すためのいくつかの方法は、サポートと機能要求の合理的なものです。

回避策として、stack --signの周りに何らかの種類のラッパーバッチスクリプトを用意する必要があります。可能な解決策は、GNUPGHOMEという環境変数を設定オプションとしてno-ttyを含むGnuPGホームディレクトリのスタック固有のコピーを指すように設定することです(GnuPGのホームディレクトリには、コード署名のための特定のもの)。このような環境変数をIDEに提供することもできます。

関連する問題