Skip to content
  • Andrew Gregory's avatar
    set bash env variables before running scripts · 53c34c0e
    Andrew Gregory authored
    Bash sources user configuration files under a number of conditions that
    can cause issues with scripts when bash is used as the scriptlet shell.
    
    Bash assumes it's being run under rsh/ssh if stdin is connected to a
    socket and sources the user bashrc unless the environment variable
    $SHLVL is >= 2.  Commit 6a4c6a02
    switched from pipes to sockets when communicating with child processes
    to work around SIGPIPE issues.  Normally $SHLVL would be inherited from
    the shell running pacman, but operations involving scriptlets are
    generally run with sudo which does not let the $SHLVL variable through
    unless specifically configured to.
    
    Similarly $BASH_ENV can cause bash to source user-specified configuration
    files if set.
    
    https://lists.gnu.org/archive/html/help-bash/2022-02/msg00082.html
    
    
    
    Signed-off-by: default avatarAndrew Gregory <andrew.gregory.8@gmail.com>
    53c34c0e