FS#64523 - [devtools] offload-build expects a posix compliant shell on the server
Attached to Project:
Arch Linux
Opened by Filipe Laíns (FFY00) - Friday, 15 November 2019, 22:17 GMT
Last edited by Kristian (klausenbusk) - Saturday, 03 June 2023, 18:06 GMT
Opened by Filipe Laíns (FFY00) - Friday, 15 November 2019, 22:17 GMT
Last edited by Kristian (klausenbusk) - Saturday, 03 June 2023, 18:06 GMT
|
Details
Description:
Steps to reproduce: - Change shell to a non posix compliant shell (ex. fish) in the target server |
This task depends upon
Closed by Kristian (klausenbusk)
Saturday, 03 June 2023, 18:06 GMT
Reason for closing: Upstream
Additional comments about closing: Please report upstream if this is still relevant: https://gitlab.archlinux.org/archlinux/d evtools.
Saturday, 03 June 2023, 18:06 GMT
Reason for closing: Upstream
Additional comments about closing: Please report upstream if this is still relevant: https://gitlab.archlinux.org/archlinux/d evtools.
Description:
In line 94 of offload-build we ssh into the target server and run a set of posix commands. If the default shell is not posix compliant this will fail.
Steps to reproduce:
- Change shell to a non posix compliant shell (ex. fish) in the target server
- Invoke offload-build
When I write scripts, I write them to expect a POSIX environment specifically because it is meant to be portable. This includes things which are intended to be sourced into, say, /etc/profile in order to use it... or in this case, run via ssh. I'm not sure it makes sense to try to support everyone's unconventional personal shell outside of that?
My understanding is this shortcoming is known and expected by fish users, who therefore start fish by execing it in their .bashrc.
/bin/fish -c '/bin/sh -c "...."'
is not really going to help anything, but it will be nightmarish to try to get quoting right.