#!/bin/sh
if [ $# -lt 3 ]; then
	echo "Usage: `basename $0` [-i] pkgname version filelist"
	echo "Options:"
	echo "	-i	Include pre/postinstall configuration shell"
	exit 1
fi

tmpdir="/var/tmp/IPKMAKE_$$"
mkdir -p $tmpdir
conf=0
if [ $1 = "-i" ]; then
	conf=1
	shift
fi
name=$1
version=$2
shift
shift

while [ $# -gt 0 ]
do
	
	if [ -e $1 ]; then
		mkdir -p $tmpdir`dirname $1`	
		cp -a $1 $tmpdir$1
	fi
	shift
done
curdir=`pwd -L`
cd $tmpdir
tar zcf /var/tmp/IPKDATA$$.tar.gz .
rm -rf * 
echo "Package: $name" >control
echo "Source: " >>control
echo "Priority: " >>control
echo "Section: " >>control
echo "Maintainer:" >>control
echo "Architecture: armv5tel" >>control
echo "Version: $version" >>control
echo "Depends: " >>control
echo "Description: " >>control
echo "Size: `du -h ../IPKDATA$$.tar.gz |awk '{print $1}'`" >>control
leafpad control
if [ $conf = 1 ]; then
	echo "#!/bin/sh" > preinst
	echo 'case $1 in' >>preinst
	echo "	update)" >>preinst
	echo "		exit 0;; #update operation" >>preinst
	echo "	install)" >>preinst
	echo "		exit 0;; #pre-install operation" >>preinst
	echo "	configure)" >>preinst
	echo "		exit 0;; #pre-install operation" >>preinst
	echo "	remove)" >>preinst
	echo '		script=`basename $0`' >>preinst
	echo '		if [ $script = prerm ] ; then' >>preinst
	echo "			exit 0 #pre-delete operation" >>preinst
	echo "		else" >>preinst
	echo "			exit 0 #post-delete operation" >>preinst
	echo "		fi" >>preinst
	echo "		;;" >>preinst
	echo "	*) # unknown error" >>preinst
	echo "		exit 1;;" >>preinst
	echo "	esac" >>preinst
	leafpad preinst
	ln preinst postinst
	ln preinst prerm
	ln preinst postrm
	chmod 755 p*
fi
tar zcf /var/tmp/IPKCONT$$.tar.gz .
rm -rf * 
mv /var/tmp/IPKDATA$$.tar.gz data.tar.gz
mv /var/tmp/IPKCONT$$.tar.gz control.tar.gz
echo '2.0' > debian-binary
tar zcf "$curdir/$name-$version.ipk" ./debian-binary ./data.tar.gz ./control.tar.gz
cd ..
rm -rf $tmpdir
cd $curdir
