Commit 03611dc6 authored by Seblu's avatar Seblu Committed by Pierre Schmitz
Browse files

Switch to root when started as regular user



In collaborative builder machine, these scripts are often allowed to become root
via sudo. This patch avoid to prefix them by sudo each time or call su.

Signed-off-by: default avatarPierre Schmitz <pierre@archlinux.de>
parent 7aac293d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -37,8 +37,8 @@ while getopts 'hC:M:c:' arg; do
done
shift $(($OPTIND - 1))

(( $EUID != 0 )) && die 'This script must be run as root.'
(( $# < 1 )) && die 'You must specify a directory.'
check_root "$0" "$@"

working_dir=$(readlink -f "$1")
shift 1
+1 −3
Original line number Diff line number Diff line
@@ -40,9 +40,7 @@ done
# Pass all arguments after -- right to makepkg
makechrootpkg_args+=("${@:$OPTIND}")

if (( EUID )); then
	die 'This script must be run as root.'
fi
check_root "$0" "$@"

if ${clean_first} || [[ ! -d "${chroots}/${repo}-${arch}" ]]; then
	msg "Creating chroot for [${repo}] (${arch})..."
+13 −0
Original line number Diff line number Diff line
@@ -228,3 +228,16 @@ find_cached_package() {
			return 1
	esac
}

##
#  usage : check_root ("$0" "$@")
##
check_root() {
	(( EUID == 0 )) && return
	if type -P sudo >/dev/null; then
		exec sudo -- "$@"
	else
		exec su root -c "$(printf '%q' "$@")"
	fi
	die 'This script must be run as root.'
}
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ while getopts 'hcur:I:l:nTD:d:' arg; do
	esac
done

(( EUID != 0 )) && die 'This script must be run as root.'
check_root "$0" "$@"

[[ ! -f PKGBUILD && -z "${install_pkgs[*]}" ]] && die 'This must be run in a directory containing a PKGBUILD.'

+2 −1
Original line number Diff line number Diff line
@@ -35,9 +35,10 @@ while getopts 'hC:M:c:' arg; do
done
shift $(($OPTIND - 1))

(( $EUID != 0 )) && die 'This script must be run as root.'
(( $# < 2 )) && die 'You must specify a directory and one or more packages.'

check_root "$0" "$@"

working_dir="$(readlink -f $1)"
shift 1