[PATCH] Check substitute --help or --version options early

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • yarl-baudig
Owner
unassigned
Submitted by
yarl-baudig
Severity
normal
Y
Y
yarl-baudig wrote on 22 May 2022 15:54
(address . guix-patches@gnu.org)
ea-mime-628a40a2-1c27-6be783e9@www-7.mailo.com
Running `guix archive --authorize` sets /etc/guix/acl to 600
via with-atomic-file-output via mkstemp!.
Then running `guix substitute --help/--version` fails on "permission denied".
While "guix substitute" is an internal tool, the options --help and --version
exist and you should be able to run those from the command line.

* guix/scripts/substitute.scm: earlier check for --help or --version.
---
guix/scripts/substitute.scm | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

Toggle diff (32 lines)
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 908a8334a8..c5f5d23b47 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -704,6 +704,14 @@ (define-command (guix-substitute . args)
(category internal)
(synopsis "implement the build daemon's substituter protocol")
+ (match args
+ ((or ("-V") ("--version"))
+ (show-version-and-exit "guix substitute"))
+ ((or ("-h") ("--help") ())
+ (show-help)
+ (exit 0))
+ (_ #t))
+
(define print-build-trace?
(match (or (find-daemon-option "untrusted-print-extended-build-trace")
(find-daemon-option "print-extended-build-trace"))
@@ -775,10 +783,6 @@ (define reply-port
#:print-build-trace?
print-build-trace?)
(loop))))))
- ((or ("-V") ("--version"))
- (show-version-and-exit "guix substitute"))
- ((or ("-h") ("--help"))
- (show-help))
(opts
(leave (G_ "~a: unrecognized options~%") opts))))))
--
2.36.0
L
L
Ludovic Courtès wrote on 27 May 2022 23:36
(address . yarl-baudig@mailoo.org)(address . 55577-done@debbugs.gnu.org)
878rqmd5ew.fsf@gnu.org
Hi,

yarl-baudig@mailoo.org skribis:

Toggle quote (8 lines)
> Running `guix archive --authorize` sets /etc/guix/acl to 600
> via with-atomic-file-output via mkstemp!.
> Then running `guix substitute --help/--version` fails on "permission denied".
> While "guix substitute" is an internal tool, the options --help and --version
> exist and you should be able to run those from the command line.
>
> * guix/scripts/substitute.scm: earlier check for --help or --version.

Applied, thanks!

Ludo’.
Closed
?