#!/bin/bash
# copyright (C) 2013-2014 FUJITSU LIMITED All Rights Reserved

# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2
# of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.

# check root
if [ ${EUID:-${UID}} != 0 ]; then
    echo "error: Because you are not root, you cannot execute this command. "
    exit 1
fi

# check args
if [ $# -lt 3 ]; then
	echo "usage lxcf-update2 LXCNAME PWD COMMAND"
	exit 1
fi

# args and environment variables
LXCNAME=$1
LXCPWD=$2
shift 2
UPDATECMD=$*

PREFIX=/opt/lxcf/${LXCNAME}

# mount /proc
mkdir -p /proc
/bin/mount -t proc proc /proc
trap '/bin/umount -f /proc >& /dev/null' 0

# cd current-path
mkdir -p ${LXCPWD}
cd ${LXCPWD}

echo "###" $LXCNAME "start:" ${UPDATECMD} "###"
echo

# erase yum chache
yum clean packages >& /dev/null
yum clean all >& /dev/null

# exec UPDATECMD
${UPDATECMD}
UPDATE_RESULT=$?

echo
echo "###" $LXCNAME "end:" ${UPDATECMD} "###"

# umount /proc
/bin/umount -f /proc

exit ${UPDATE_RESULT}
