Use $SHELL instead of hardcoding /bin/sh in ratpoison. Patch by Mark H Weaver . --- ratpoison/src/actions.c.orig 2014-09-14 16:46:08.000000000 +0200 +++ ratpoison/src/actions.c 2015-08-06 15:00:54.951575260 +0200 @@ -228,12 +228,12 @@ add_command ("escape", cmd_escape, 1, 1, 1, "Key: ", arg_KEY); add_command ("exec", cmd_exec, 1, 1, 1, - "/bin/sh -c ", arg_SHELLCMD); + "$SHELL -c ", arg_SHELLCMD); add_command ("execa", cmd_execa, 1, 1, 1, - "/bin/sh -c ", arg_SHELLCMD); + "$SHELL -c ", arg_SHELLCMD); add_command ("execf", cmd_execf, 2, 2, 2, "frame to execute in:", arg_FRAME, - "/bin/sh -c ", arg_SHELLCMD); + "$SHELL -c ", arg_SHELLCMD); add_command ("fdump", cmd_fdump, 1, 0, 0, "", arg_NUMBER); add_command ("focus", cmd_next_frame, 0, 0, 0); @@ -367,7 +367,7 @@ add_command ("unsetenv", cmd_unsetenv, 1, 1, 1, "Variable: ", arg_STRING); add_command ("verbexec", cmd_verbexec, 1, 1, 1, - "/bin/sh -c ", arg_SHELLCMD); + "$SHELL -c ", arg_SHELLCMD); add_command ("version", cmd_version, 0, 0, 0); add_command ("vsplit", cmd_v_split, 1, 0, 0, "Split: ", arg_STRING); @@ -2671,6 +2671,9 @@ pid = fork(); if (pid == 0) { + char *shell_path; + char *shell_name; + /* Some process setup to make sure the spawned process runs in its own session. */ putenv(current_screen()->display_string); @@ -2700,7 +2703,18 @@ /* raw means don't run it through sh. */ if (raw) execl (cmd, cmd, (char *)NULL); - execl("/bin/sh", "sh", "-c", cmd, (char *)NULL); + + shell_path = getenv ("SHELL"); + if (shell_path == NULL) + shell_path = "/bin/sh"; + + shell_name = strrchr (shell_path, '/'); + if (shell_name == NULL) + shell_name = shell_path; + else + shell_name++; + + execl(shell_path, shell_name, "-c", cmd, (char *)NULL); _exit(EXIT_FAILURE); } --- ratpoison/src/events.c.orig 2014-09-14 16:46:23.000000000 +0200 +++ ratpoison/src/events.c 2015-08-06 15:02:17.287578780 +0200 @@ -919,7 +919,7 @@ { /* Report any child that didn't return 0. */ if (cur->status != 0) - marked_message_printf (0,0, "/bin/sh -c \"%s\" finished (%d)", + marked_message_printf (0,0, "$SHELL -c \"%s\" finished (%d)", cur->cmd, cur->status); list_del (&cur->node); free (cur->cmd); --- ratpoison/src/messages.h.orig 2014-04-09 01:22:08.000000000 +0200 +++ ratpoison/src/messages.h 2015-08-06 15:04:14.759583801 +0200 @@ -39,7 +39,7 @@ #define MESSAGE_PROMPT_SWITCH_TO_WINDOW "Switch to window: " #define MESSAGE_PROMPT_NEW_WINDOW_NAME "Set window's title to: " -#define MESSAGE_PROMPT_SHELL_COMMAND "/bin/sh -c " +#define MESSAGE_PROMPT_SHELL_COMMAND "$SHELL -c " #define MESSAGE_PROMPT_COMMAND ":" #define MESSAGE_PROMPT_SWITCH_WM "Switch to wm: " #define MESSAGE_PROMPT_XTERM_COMMAND MESSAGE_PROMPT_SHELL_COMMAND TERM_PROG " -e " dingly. * gnu/tests/reconfigure.scm (run-install-bootloader-test): Ditto. Mathieu Othacehe 2020-04-26reconfigure: Don't call build-derivations for upgrade-services test...This commit adjusts the upgrade-services system test to not build anything when computing the derivation for the system test. I came across this when looking at issues computing the system test derivations to store in the Guix Data Service. * gnu/tests/reconfigure.scm (run-upgrade-services-test): Remove the use of, and definition for ensure-service-file. Christopher Baines 2020-02-09Update e-mail address for Jakob L. Kreuze....As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address. Tobias Geerinckx-Rice 2019-08-07reconfigure: Improve tests for system activation....* gnu/tests/reconfigure.scm (run-switch-to-system-test): Assert that '/run/current-system' points to the activated system, and that new user accounts specified in the operating system declaration are created. Jakob L. Kreuze 2019-07-26tests: Add reconfigure system test....[[PGP Signed Part:No public key for F506FD169D8FD95A created at 2019-07-24T18:35:10+0200 using RSA]] * gnu/tests/reconfigure.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Jakob L. Kreuze