diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-04-04 00:23:17 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-04-04 00:23:17 +0200 |
commit | ded1012f3c9f5d5e60481274c5b3280acc277b34 (patch) | |
tree | 59bb97da0ed7fc5ecb05dd085a222ad9282eb4ea | |
parent | 7864504feb54449115e43b6d490f83ae0ca9c349 (diff) | |
download | guix-ded1012f3c9f5d5e60481274c5b3280acc277b34.tar guix-ded1012f3c9f5d5e60481274c5b3280acc277b34.tar.gz |
pki: Introduce 'write-acl', and fix wrong conversion in 'ensure-acl'.
* guix/pki.scm (write-acl): New procedure.
(ensure-acl): Use it. Fixes a regression introduced in 39831f1,
whereby 'ensure-acl' would yield a wrong-type-arg error.
* guix/scripts/archive.scm (authorize-key): Use 'write-acl'.
-rw-r--r-- | guix/pki.scm | 11 | ||||
-rw-r--r-- | guix/scripts/archive.scm | 4 |
2 files changed, 9 insertions, 6 deletions
diff --git a/guix/pki.scm b/guix/pki.scm index 6f5e95b0ab..3cd9763fdf 100644 --- a/guix/pki.scm +++ b/guix/pki.scm @@ -30,6 +30,7 @@ public-keys->acl acl->public-keys authorized-key? + write-acl signature-sexp signature-subject @@ -83,9 +84,13 @@ element in KEYS must be a canonical sexp with type 'public-key'." (mkdir-p (dirname %acl-file)) (with-atomic-file-output %acl-file (lambda (port) - (display (canonical-sexp->string - (public-keys->acl (list public-key))) - port))))))) + (write-acl (public-keys->acl (list public-key)) + port))))))) + +(define (write-acl acl port) + "Write ACL to PORT in canonical-sexp format." + (let ((sexp (sexp->canonical-sexp acl))) + (display (canonical-sexp->string sexp) port))) (define (current-acl) "Return the current ACL." diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index 90dc844281..0a2e186da6 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -288,9 +288,7 @@ the input port." (let ((acl (public-keys->acl (cons key (acl->public-keys acl))))) (mkdir-p (dirname %acl-file)) (with-atomic-file-output %acl-file - (lambda (port) - (display (canonical-sexp->string (sexp->canonical-sexp acl)) - port)))))) + (cut write-acl acl <>))))) (define (guix-archive . args) (define (parse-options) |