device: renew dhcp leases on awake for software devices
[NetworkManager.git] / tools / test-sudo-wrapper.sh
1 #!/bin/bash
2
3 CMD="$1"
4 shift;
5
6 # convert the libtool internal path
7 resolve_cmd() {
8     local C="$1"
9
10     local C2="$(echo "$C" | sed 's#^\(.*/\)\.libs/lt-\([^/]\+\)$#\1\2#')"
11     if [[ "$C2" != "$C" && ! -x "$C2" ]]; then
12         # such a file does not exist... back to $C
13         C2="$C"
14     fi
15     echo "$C2"
16 }
17
18 if [[ $UID == 0 ]]; then
19     # we are already root. Execute directly.
20     exec "$(resolve_cmd "$CMD")" "$@"
21 elif [[ "$NMTST_SUDO_NO_CALL_SELF" != "" ]]; then
22     # when setting $NMTST_SUDO_NO_CALL_SELF, pass the (resolved) command
23     # directly to sudo.
24     exec sudo "$(resolve_cmd "$CMD")" "$@"
25 else
26     # by default, call self again with sudo.
27     exec sudo -E "$0" "$CMD" "$@"
28 fi
29