GNU bug report logs -
#46303
Typo helper doesn't always know which command is missing
Previous Next
To reply to this bug, email your comments to 46303 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#46303
; Package
guix
.
(Thu, 04 Feb 2021 19:54:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Leo Famulari <leo <at> famulari.name>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Thu, 04 Feb 2021 19:54:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
On Tue, Jan 19, 2021 at 10:28:08PM +0100, zimoun wrote:
> * guix/utils.scm (string-distance): New procedure.
> (string-closest): New procedure.
> * tests/utils.scm: Test it.
This is a great feature, but I found a tricky failure:
------
$ ./pre-inst-env guix system vm --no-grafts doc/os-config-bare-bones.texi --substitute-urls=https://ci.guix.gnu.org -d
guix: system: command not found
hint: Did you mean `system'?
Try `guix --help' for more information.
$ guix environment guix
$ ./pre-inst-env guix system vm --no-grafts doc/os-config-bare-bones.texi -d
/gnu/store/pw453xpixcll02w1nz9mfggm2cn0jqpx-run-vm.sh.drv
------
It will only be seen by developers, so not a big deal, but it would
still be nice to correctly report which command is missing. Some
run-time dependency of guix is missing.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#46303
; Package
guix
.
(Thu, 04 Feb 2021 21:40:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi Leo,
On Thu, 04 Feb 2021 at 14:53, Leo Famulari <leo <at> famulari.name> wrote:
> On Tue, Jan 19, 2021 at 10:28:08PM +0100, zimoun wrote:
>> * guix/utils.scm (string-distance): New procedure.
>> (string-closest): New procedure.
>> * tests/utils.scm: Test it.
>
> This is a great feature, but I found a tricky failure:
>
> ------
> $ ./pre-inst-env guix system vm --no-grafts doc/os-config-bare-bones.texi --substitute-urls=https://ci.guix.gnu.org -d
> guix: system: command not found
> hint: Did you mean `system'?
>
> Try `guix --help' for more information.
> $ guix environment guix
> $ ./pre-inst-env guix system vm --no-grafts doc/os-config-bare-bones.texi -d
> /gnu/store/pw453xpixcll02w1nz9mfggm2cn0jqpx-run-vm.sh.drv
> ------
>
> It will only be seen by developers, so not a big deal, but it would
> still be nice to correctly report which command is missing. Some
> run-time dependency of guix is missing.
I am missing, because the command line is not wrong. :-)
Well, I am missing what you are suggesting. I mean if “./pre-inst-env
guix <foo>” is run in an incorrect environment, then, I am not sure what
could be done. How does it work with a commit which predates the hint
introduction? How does it fail? I guess it fails, if not I am missing
something. :-)
Basically, when “guix system” is called (or any other command), it
enters in ’run-guix-command’ and does this snippet:
--8<---------------cut here---------------start------------->8---
(catch 'misc-error
(lambda ()
(resolve-interface `(guix scripts ,command)))
(lambda _
(let ((hint (command-hint command (commands))))
(format (current-error-port)
(G_ "guix: ~a: command not found~%") command)
(when hint
(display-hint (format #f (G_ "Did you mean @code{~a}?")
hint)))
(show-guix-usage)))))
--8<---------------cut here---------------end--------------->8---
Therefore, it means that “(resolve-interface `(guix scripts ,command))”
fails for some reasons. It seems really hard to catch the reasons.
Well, this cannot happen with regular “guix <foo>” otherwise it is
severe bug. And in a developer setup, so much stuff could be wrong.
Well, these run-time dependencies could be checked by the script
“./pre-inst-env” but I do not know if it is worth.
Could you explain more what you would like?
On a side note, trying I get that the hint seems to work…
--8<---------------cut here---------------start------------->8---
$ guix system vm --no-grafts ~/src/guix/guix/doc/os-config-bare-bones.texi --substitute-urls=https://ci.guix.gnu.org --dry-run --derivatio
guix system: error: derivatio: unrecognized option
hint: Did you mean `derivation'?
--8<---------------cut here---------------end--------------->8---
…but not work for all the options:
--8<---------------cut here---------------start------------->8---
$ guix system vm --no-grafts ~/src/guix/guix/doc/os-config-bare-bones.texi --substitute-rls=https://ci.guix.gnu.org --dr-run --derivation
guix system: error: substitute-rls=https://ci.guix.gnu.org: unrecognized option
--8<---------------cut here---------------end--------------->8---
Another story than your report, right?
Cheers,
simon
This bug report was last modified 4 years and 128 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.