--- /usr/portage/app-admin/sudo/sudo-1.6.8_p9-r2.ebuild 2006-02-16 05:35:21.000000000 -0500 +++ /home/abrooks/portage/app-admin/sudo/sudo-1.6.8_p9-r2.ebuild 2006-06-20 21:39:11.000000000 -0400 @@ -109,6 +109,9 @@ # remove any duplicate entries ROOTPATH=$(cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${ROOTPATH:+:${ROOTPATH}}) + # let gcc-config do its job; remove gcc path from ROOTPATH + rmpath ROOTPATH '*/gcc-bin/*' + einfo "...done." # XXX: --disable-path-info closes an info leak, but may be confusing. @@ -172,6 +175,20 @@ done; echo "${paths[*]}" } +# syntax: rmpath PATHvar element1 [ element2 ... ] +# example: +# rmpath MANPATH /usr/local/man +# (courtesy agriffis) +rmpath() { + declare e newpath oldpath=${!1} PATHvar=$1 thisp IFS=: + shift + for thisp in $oldpath; do + for e; do [[ $thisp == $e ]] && continue 2; done + newpath=$newpath:$thisp + done + eval $PATHvar='${newpath#:}' +} + # add $1 to default env_delete list. sudo_bad_var() { local target='env.c' marker='\*initial_badenv_table\[\]'