#! /bin/sh

set -x

getver() {
	sed '/<em:maxVersion>/ !d; s/<[^>]*>//g; s/\s//g' t/install.rdf
}

file="$1"; shift
version="$1"; shift
if test "$1" = "force"; then
	force="yes"
	shift
fi
override="$1"


rm -rf t
mkdir t
unzip -qd t "$file"

if test "$override"; then
	cat "$override/index" | while read file dir; do
		echo "Replacing $dir/$file"
		cp "$override/$file" "t/$dir"
	done
fi


echo -n "Maximum version now: "
maxver=$(getver)
echo "$maxver"


for a in $maxver; do
	sed -i "s/<em:maxVersion>$a</<em:maxVersion>$version</g" t/install.rdf
done


echo -n "After fixing: "
newver=$(getver)
echo "$newver"

if test "$force" -o "$newver" = "$version"; then
	echo "All ok"
elif test "$newver" = "$maxver"; then
	echo "Failed to change!"
	exit 1
else
	echo "Something went terribly wrong..."
	exit 1
fi


newfile="new-$(basename $file)"
rm -rf "$newfile"
echo "Building $newfile"

cd t
zip -9rq "../$newfile" *


echo "$newfile ready."
