From e8b043abc2d0db5ba972398a76f2f1da08b4ce73 Mon Sep 17 00:00:00 2001 From: Steve Waldman Date: Sat, 23 Sep 2023 01:25:28 -0400 Subject: [PATCH] Add note about required --pinentry-mode=loopback argument when signing with recent versions of gpg. --- example/scalabuilds/6-publish-module/build.sc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/example/scalabuilds/6-publish-module/build.sc b/example/scalabuilds/6-publish-module/build.sc index 23561c99280..b48735c3ba7 100644 --- a/example/scalabuilds/6-publish-module/build.sc +++ b/example/scalabuilds/6-publish-module/build.sc @@ -54,6 +54,12 @@ Publishing Artifact(com.lihaoyi,foo_2.13,0.0.1) to ivy repo... // // [NOTE] // -- +// Recent versions of `gpg` (versions 2.1 and above) require an additional argument +// in order to accept a passphrase on the command line. Add `--pinentry-mode=loopback` to the +// comma-separated list of `gpg` arguments after `--gpgArgs`, so it becomes +// `--passphrase=$GPG_PASSWORD,--batch,--yes,-a,-b,--pinentry-mode=loopback`. Without the additional +// argument, you may see errors like `gpg: signing failed: Inappropriate ioctl for device`. +// // Sonatype credentials can be passed via environment variables (`SONATYPE_USERNAME` // and `SONATYPE_PASSWORD`) or by passing second or `--sonatypeCreds` argument in format // `username:password`. Consider using environment variables over the direct CLI passing @@ -118,4 +124,4 @@ Publishing Artifact(com.lihaoyi,foo_2.13,0.0.1) to ivy repo... // --sonatypeUri http://example.company.com/release \ // --stagingRelease false // ---- -// \ No newline at end of file +//