#!/bin/sh -eu

: ${TOPDIR:=/usr/src/packages}

TARGET_DIR=$TOPDIR/KIWI/
RPM_SOURCE_DIR=$TOPDIR/SOURCES
FILES_DIR=/usr/lib/build

cd $TARGET_DIR

STEM=openSUSE-Rubic
EXT=.qcow2
SOURCE=$(echo $STEM.*$EXT)

# check if a qcow2 file exists to encapsulate
if ls *$EXT 1> /dev/null 2>&1; then
	# extract os/platform, version, release from the source 
	set -- $(echo $SOURCE | sed -r "s/(.*)-(.*)$EXT/\1 \2/")
	NAME="openSUSE-Rubic" 
	VERSION=$2
	RELEASE=$(date +%Y%m%d%H%M%S)
	
	echo "name $NAME"
	echo "version $VERSION"
	echo "release $RELEASE"

	sed -e "s/__NAME__/$NAME/g" \
	    -e "s/__VERSION__/$VERSION/g" \
	    -e "s/__RELEASE__/$RELEASE/g" \
	    -e "s/__SOURCE__/$SOURCE/g" \
	    < $FILES_DIR/image.spec.in \
	    > $FILES_DIR/image.spec

	qemu-img convert $SOURCE $NAME-$VERSION-$RELEASE.raw
	mkdir casync
	casync make --store=casync/$NAME.castr casync/$NAME-$VERSION-$RELEASE.caibx $NAME-$VERSION-$RELEASE.raw
	# DEBUG
	ls -l
	ls -l casync
	#mv $NAME-$VERSION-$RELEASE.ca* $RPM_SOURCE_DIR/
#	rpmbuild -ba $FILES_DIR/image.spec

	# required for the BS to find the rpm, because it is
	# a "non-standard result file for KIWI"
#	mkdir -p $TOPDIR/OTHER
#	mv $TOPDIR/RPMS/noarch/$NAME-$VERSION-$RELEASE.noarch.rpm $TOPDIR/OTHER/
#	mkdir -p $TOPDIR/OTHER
#	mv $NAME.castr $TOPDIR/OTHER/
#	mv $NAME-$VERSION-$RELEASE.caibx $TOPDIR/OTHER/
else
	echo "No $EXT image to contain in an RPM"
fi
