#!/bin/bash

set -e

#
# AIM : Manage Opennebula database update
#
#

. /usr/lib/eole/ihm.sh

function clean_backups()
{
	file=${1}
	bcks=($(ls ${file}_* 2> /dev/null)) || true
	nbbck=$(( ${#bcks[@]} - 2 ))


	if [[ ${nbbck} -gt 1 ]]
	then
		EchoGras "Cleaning up old backups !"
		for idx in `seq 0 ${nbbck}`
		do
			rm -f ${bcks[${idx}]}
		done
	fi
}

function updateDB()
{
	local dbfile='/var/lib/one/one.db'
	local cmd="onedb"
	local res=0

	if [[ -f ${dbfile} ]]
	then
		$cmd upgrade -f -s ${dbfile}
		res=${?}
		clean_backups ${dbfile}
		return ${res}
	else
		return 0
	fi
}

echo
EchoGras "Mise à jour de la base de données ONE"
echo

OVERRIDE_FILES="/usr/lib/one/ruby/onedb/local/4.11.80_to_4.13.80.rb"
for dst in ${OVERRIDE_FILES}
do
    filename="$(basename ${dst})"
    src="/usr/share/eole/hapy/${filename}"
    if [ -f "${dst}" ]
    then
	echo "Override '${dst}' with '${src}'"
	cp -f "${src}" "${dst}"
    fi
done

updateDB
echo

exit 0
