#!/bin/bash # Written by vapier@gentoo.org # public-domain code ... z0r ... # $Header: /var/cvsroot/gentoo-x86/app-shells/sandboxshell/files/sandboxshell.conf,v 1.4 2004/06/24 00:25:51 vapier Exp $ trap ":" INT QUIT TSTP source /etc/profile # do ebuild environment loading ... detect if we're in portage # build area or not ... uNF uNF uNF #sbs_pdir=`portageq envvar PORTAGE_TMPDIR`/portage/ #portageq takes too long imo if [ -z "${PORTAGE_TMPDIR}" ] ; then sbs_gpdir=`( source /etc/make.globals && echo $PORTAGE_TMPDIR ) 2> /dev/null` sbs_cpdir=`( source /etc/make.conf && echo $PORTAGE_TMPDIR ) 2> /dev/null` [ -z "${sbs_cpdir}" ] \ && sbs_pdir=${sbs_gpdir} \ || sbs_pdir=${sbs_cpdir} else sbs_pdir=${PORTAGE_TMPDIR} fi [ -z "${sbs_pdir}" ] && sbs_pdir=/var/tmp sbs_pdir=${sbs_pdir}/portage/ if [ "${PWD:0:${#sbs_pdir}}" == "${sbs_pdir}" ] ; then sbs_bdir=`echo ${PWD:${#sbs_pdir}} | cut -d/ -f1` sbs_tmpenvfile=${sbs_pdir}${sbs_bdir}/temp/environment if [ -e "${sbs_tmpenvfile}" ] ; then echo "Found environment at ${sbs_tmpenvfile}" printf " * Would you like to enter the portage environment ? " read env sbs_PREPWD=${PWD} if [ "${env}" == "y" ] ; then source ${sbs_tmpenvfile} 2> /dev/null export SANDBOX_WRITE="${SANDBOX_WRITE}:${sbs_pdir}${sbs_bdir}:${sbs_pdir}/homedir" fi PWD=${sbs_PREPWD} fi fi cd ${PWD} export PS1="[s]${PS1}" adddeny() { export SANDBOX_DENY="$SANDBOX_DENY:$1" } addpredict() { export SANDBOX_PREDICT="$SANDBOX_PREDICT:$1" } addread() { export SANDBOX_READ="$SANDBOX_READ:$1" } addwrite() { export SANDBOX_WRITE="$SANDBOX_WRITE:$1" } sandboxon() { export SANDBOX_ON="1" } sandboxoff() { export SANDBOX_OFF="0" }