Blame SOURCES/sudo.sh

e4a80b
#! /bin/bash
e4a80b
e4a80b
# Emulate /usr/bin/sudo, so that SCL environment variables
e4a80b
# are passed through via an /bin/env wrapper.
e4a80b
# Includes work by Andy Fong <boringuy@gmail.com>
e4a80b
e4a80b
cmd_started=false
e4a80b
is_option_param_next=false
e4a80b
for arg in "$@"
e4a80b
do
e4a80b
   case "$arg" in
e4a80b
    *\'*)
e4a80b
      arg= ;;
e4a80b
   esac
e4a80b
   if [ "$cmd_started" = true ]; then
e4a80b
       cmd_options="$cmd_options '$arg'"
e4a80b
   elif [ "$is_option_param_next" = true ]; then
e4a80b
       sudo_options="$sudo_options $arg"
e4a80b
       is_option_param_next=false
e4a80b
   elif [[ $arg == -* ]]; then
e4a80b
       sudo_options="$sudo_options $arg"
e4a80b
       case "$arg" in
e4a80b
        # all the options that take a parameter
e4a80b
        "-g" | "-h" | "-p" | "-u" | "-U" | "-C" | "-s" | "-r" | "-t" | "-T")
e4a80b
            is_option_param_next=true
e4a80b
        ;;
e4a80b
        "--")
e4a80b
          cmd_started=true
e4a80b
        ;;
e4a80b
       esac
e4a80b
   elif [[ $arg == *=* ]]; then
e4a80b
       sudo_options="$sudo_options $arg"
e4a80b
   else
e4a80b
       cmd_options="$cmd_options '$arg'"
e4a80b
       cmd_started=true
e4a80b
   fi
e4a80b
done
e4a80b
if [ "$sudo_options" == "" ]; then
e4a80b
    sudo_options="-E"
e4a80b
fi
e4a80b
exec /usr/bin/sudo $sudo_options env LD_LIBRARY_PATH=$LD_LIBRARY_PATH PATH=$PATH scl enable %{scl} "$cmd_options"