Print this page
Kayak uses sudo with variable set (and sudoers set)

*** 26,35 **** --- 26,45 ---- # # We have to build as root to manipulate ZFS datasets export ROOT_OK=yes + if [[ "$UID" != 0 && ! -z $KAYAK_SUDO_BUILD ]]; then + # Run sudo BEFORE functions.sh eats the parameters. + # Installing OmniOS-on-demand should create an entry in /etc/sudoers.d/ + # to cover running this script under sudo. + echo "Running again under sudo, currently UID = $UID, EUID = $EUID." + export OLDUSER=`whoami` + export KAYAK_SUDO_BUILD + exec sudo -n ./build.sh $@ + fi + # Load support functions . ../../lib/functions.sh if [[ "$UID" != "0" ]]; then logerr "--- This script needs to be run as root."
*** 101,110 **** --- 111,126 ---- prep_build logmsg "Now building $PKG" build_server make_package kayak.mog clean_up + # Do extra cleaning up if we got run under sudo from ourselves. + if [[ -z `echo $RPATH | grep http://` ]]; then + OLDUSER=`ls -ltd $RPATH | awk '{print $3}'` + logmsg "--- Re-chowning $RPATH to user $OLDUSER" + chown -R $OLDUSER $RPATH + fi PKG=system/install/kayak-kernel SUMMARY="Kayak - network installer (kernel, miniroot and pxegrub)" PKGE=$(url_encode $PKG) PKGD=${PKGE//%/_}
*** 113,120 **** --- 129,142 ---- logmsg "Now building $PKG" build_miniroot make_package clean_up + # Do extra cleaning up if we got run under sudo from ourselves. + if [[ -z `echo $RPATH | grep http://` ]]; then + OLDUSER=`ls -ltd $RPATH | awk '{print $3}'` + logmsg "--- Re-chowning $RPATH to user $OLDUSER" + chown -R $OLDUSER $RPATH + fi # Vim hints # vim:ts=4:sw=4:et: