#!/bin/sh

# Copyright (C) 2016 NIWA Hideyuki

FULCONDRIVER=`fulcon driver-name`
PATH=/usr/lib/fulcon/driver/$FULCONDRIVER:/usr/lib/fulcon/lib:$PATH

usage() {
	echo "usage: update-prog [ -c NAME ] COMMAND "
}

# check options
OPT_FLG=""
FLG_C=0; IMAGENAME=""

while getopts c: OPT
do
  case $OPT in
    "c" ) FLG_C=1; IMAGENAME=$OPTARG;;
    \?  ) usage; exit -1;;
  esac
done

shift `expr $OPTIND - 1`

CMD=$*

# get container list
if [ x"$IMAGENAME" == x"" ]; then
	IMAGES=`fulcon list | awk '{printf "%s;%s\n",$1,$2}'`
else
	IMAGES=`fulcon list $IMAGENAME | awk '{printf "%s;%s\n",$1,$2}'`
fi

for i in $IMAGES
do
	NAME=`echo $i | awk '{split($1,a,";");print a[1]}'`
	STATE=`echo $i | awk '{split($1,a,";");print a[2]}'`

	if [ x"$STATE" == x"SUSPENDED" ]; then
		fulcon resume $NAME
	elif [ x"$STATE" == x"STOPPED" ]; then
		fulcon start $NAME
	fi

	lib-update-prog $NAME $CMD

	if [ x"$STATE" == x"SUSPENDED" ]; then
		fulcon suspend $NAME
	elif [ x"$STATE" == x"STOPPED" ]; then
		fulcon stop $NAME
	fi
done


exit 0
