#!/bin/bash
#################################################
# Title: run-in-chroot.sh #
# Date: 2015-02-26 #
# Version: 1.0 #
# Author: sharathg@vmware.com #
#################################################
set -o errexit
set -o nounset
set +h
source common.inc
LOGFILE="$(date +%Y-%m-%d).log"
PRGNAME=${0##*/}
LOGFILE=/var/log/"${PRGNAME}-${LOGFILE}"
if [ $# -lt 1 ]; then
fail "${PRGNAME}: No build root specified. Usage : ${PRGNAME} <build-root>"
fi
SOURCES=$1
shift
RPMS=$1
shift
BUILDROOT=$1
shift
#
# Goto chroot and run the command specified as parameter.
#
if [ ${EUID} -eq 0 ] ; then
CHROOT_CMD=chroot
else
# CHROOT_CMD="contain -b $SOURCES:usr/src/photon/SOURCES,$RPMS:usr/src/photon/RPMS -c"
CHROOT_CMD="contain -b $RPMS:usr/src/photon/RPMS -c -n"
fi
# Close all fds except stdin, stdout and stderr
for fd in $(ls /proc/$$/fd/); do
[ $fd -gt 2 ] && exec {fd}<&-
done
$CHROOT_CMD "${BUILDROOT}" \
/usr/bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
SHELL=/bin/bash \
/bin/bash --login +h -c "$*"
exit 0