diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-10-04 09:28:01 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-10-04 18:15:35 +0200 |
commit | 5bc4b8e8e3960d431d66e3e4ac97f196059a875b (patch) | |
tree | d2a7e267cfaac488e06ba206d8f6e9ee97c94d37 | |
parent | ae1af5d7875c9c5f6f50a5f63650e575c10ee231 (diff) | |
download | guix-5bc4b8e8e3960d431d66e3e4ac97f196059a875b.tar.gz |
channels: Warn about missing introductions.
* guix/channels.scm (latest-channel-instance): Warn when CHANNEL has no introduction and CHECKOUT contains '.guix-authorizations'.
-rw-r--r-- | guix/channels.scm | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/guix/channels.scm b/guix/channels.scm index ad6d3fb8ac..f1c23c17fb 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -419,19 +419,28 @@ their relation. When AUTHENTICATE? is false, CHANNEL is not authenticated." (if authenticate? (if (channel-introduction channel) (authenticate-channel channel checkout commit) - ;; TODO: Warn for all the channels once the authentication interface - ;; is public. - (when (guix-channel? channel) - (raise (make-compound-condition - (formatted-message (G_ "channel '~a' lacks an \ + (begin + (when (file-exists? + (string-append checkout "/.guix-authorizations")) + (warning (and=> (channel-location channel) + source-properties->location) + (G_ "channel '~a' lacks 'introduction' field but \ +'.guix-authorizations' found\n") + (channel-name channel))) + + ;; TODO: Warn for all the channels once the authentication interface + ;; is public. + (when (guix-channel? channel) + (raise (make-compound-condition + (formatted-message (G_ "channel '~a' lacks an \ introduction and cannot be authenticated~%") - (channel-name channel)) - (condition - (&fix-hint - (hint (G_ "Add the missing introduction to your + (channel-name channel)) + (condition + (&fix-hint + (hint (G_ "Add the missing introduction to your channels file to address the issue. Alternatively, you can pass @option{--disable-authentication}, at the risk of running unauthenticated and -thus potentially malicious code.")))))))) +thus potentially malicious code."))))))))) (warning (G_ "channel authentication disabled~%"))) (when (guix-channel? channel) |