Download raw body.
improve execv error message
On Fri, Feb 16, 2024 at 08:01:04PM +0100, Omar Polo wrote:
> I was playing with got on alpine and stumbled on this:
>
> ~ # got clone ssh://anon@git.omarpolo.com/plass.git
> Connecting to ssh://anon@git.omarpolo.com/plass.git
> got: execv: No such file or directory
> got: unexpected end of file
> got: unexpected end of file
>
> (please ignore the fact that i'm doing this as root... something
> something containers...)
>
> it fails to execute ssh. While this could just considered an issue of
> how got is packaged on alpine (could have a dependency on openssh), I
> think we could still improve the error message to include what it is
> trying to execute.
>
> opinions?
Sure, ok with me.
> diff /home/op/w/got
> commit - 51f4d4cb56fbe32cd3511fb8d301525ef79483e0
> path + /home/op/w/got
> blob - 37f513651fb8783483a1bb2e446a59adf26cfda6
> file + lib/dial.c
> --- lib/dial.c
> +++ lib/dial.c
> @@ -298,7 +298,7 @@ got_dial_ssh(pid_t *newpid, int *newfd, const char *ho
> if (strlcpy(cmd, command, sizeof(cmd)) >= sizeof(cmd))
> err(1, "snprintf");
> if (execv(GOT_DIAL_PATH_SSH, (char *const *)argv) == -1)
> - err(1, "execv");
> + err(1, "execv %s", GOT_DIAL_PATH_SSH);
> abort(); /* not reached */
> } else {
> if (close(pfd[0]) == -1)
> blob - a51d5610cd2c6be2596b758258e73b8c6ce621c4
> file + lib/sigs.c
> --- lib/sigs.c
> +++ lib/sigs.c
> @@ -124,7 +124,7 @@ got_sigs_sign_tag_ssh(pid_t *newpid, int *in_fd, int *
> if (dup2(out_pfd[1], 1) == -1)
> err(1, "dup2");
> if (execv(GOT_TAG_PATH_SSH_KEYGEN, (char **const)argv) == -1)
> - err(1, "execv");
> + err(1, "execv %s", GOT_TAG_PATH_SSH_KEYGEN);
> abort(); /* not reached */
> }
> if (close(in_pfd[0]) == -1)
> @@ -350,7 +350,7 @@ got_sigs_verify_tag_ssh(char **msg, struct got_tag_obj
> if (dup2(out_pfd[1], 1) == -1)
> err(1, "dup2");
> if (execv(GOT_TAG_PATH_SSH_KEYGEN, (char **const)argv) == -1)
> - err(1, "execv");
> + err(1, "execv %s", GOT_TAG_PATH_SSH_KEYGEN);
> abort(); /* not reached */
> }
> if (close(in_pfd[0]) == -1) {
>
>
improve execv error message