summaryrefslogtreecommitdiff
path: root/vkraus
diff options
context:
space:
mode:
authorVivien <vivien@pruneau.lan>2021-10-29 17:53:22 +0200
committerVivien <vivien@pruneau.lan>2021-10-29 17:53:22 +0200
commitdccbcbcf21c95d5a0df4c1e42d2658087967f207 (patch)
treeb91a011c8f8df3e4738d592d749362a049aafb57 /vkraus
parente1e11cd2d2f8337b4c06866e89f39c07e575af15 (diff)
SSH key synthesis: do not generate any key if an error happens.
Diffstat (limited to 'vkraus')
-rw-r--r--vkraus/services/guix-wot.scm11
1 files changed, 8 insertions, 3 deletions
diff --git a/vkraus/services/guix-wot.scm b/vkraus/services/guix-wot.scm
index 34f158b..1bb15f1 100644
--- a/vkraus/services/guix-wot.scm
+++ b/vkraus/services/guix-wot.scm
@@ -67,9 +67,14 @@
((user . fingerprint)
`(,user
,(let ((port (mkstemp "/tmp/user-key-file-XXXXXXXX")))
- (invoke (run-with-store (open-connection) (package-file gnupg "/bin/gpg"))
- "-o" (port-filename port)
- "--export-ssh-key" fingerprint)
+ (with-exception-handler
+ (lambda (exn)
+ (format (current-error-port) "Warning: no SSH key exported for ~a: ~a.\n" user exn))
+ (lambda ()
+ (invoke (run-with-store (open-connection) (package-file gnupg "/bin/gpg"))
+ "-o" (port-filename port)
+ "--export-ssh-key" fingerprint))
+ #:unwind? #t)
(let ((interned
(plain-file (format #f "user-key-file-~a" fingerprint)
(get-string-all port))))