#!/bin/sh
#script by kingdomcome modified by jls_legalize <unsenepopiu@tin.it>

. /etc/init.d/tc-functions

checkroot

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export LDFLAGS="-Wl,-O1"

TODAY=`date +%Y/%m/%d`
PACKAGE="specto"
SEP="-"
VERSION="0.4.1"
MIRROR="http://specto.googlecode.com/files/"
DESCRIPTION="A desktop application that will watch configurable events (website updates, emails, file and folder changes...)"
AUTHORS="Jean-François Fortin Tam and Wout Clymans"
HOMEPAGE="http://specto.sourceforge.net"
LICENSE="GPL 2.0"
ME="jls_legalize <jlselgalize at gmail dot com>"
DEPS="python-numpy.tcz \
shared-mime-info.tcz \
notify-python-2.7.tcz \
dbus-python-2.7.tcz \
librsvg.tcz \
gnome-python.tcz"
BUILDDEPS="intltool"
FLAGS=""
DOCS=""


TCUSER=`cat /etc/sysconfig/tcuser`
SRC="${PACKAGE}${SEP}${VERSION}.tar.gz"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/${PACKAGE}${SEP}${VERSION}"
TCEDIR=/etc/sysconfig/tcedir
COPYING="COPYING"
CURRENT="${TODAY} Updated to ${VERSION}"

clean(){
	rm -rf ${THISDIR}/${PACKAGE}
}
environment(){
	for each in compiletc.tcz ${DEPS} ${BUILDDEPS}; do
		APPNAME=$(getbasefile "$each" 1)
		if [ ! -f /usr/local/tce.installed/"${APPNAME}" ]; then
			if [ ! -e ${TCEDIR}/optional/${each} ]; then
				sudo -u ${TCUSER} tce-load -w ${each}
			fi
			sudo -u ${TCUSER} tce-load -i ${TCEDIR}/optional/${each}
		fi
	done
	[ -d "${PKGDIR}" ] && rm -rf ${PKGDIR}
	sudo -u tc mkdir -p ${PKGDIR}/tmp
	cd ${PKGDIR} && wget ${MIRROR}${SRC}
	tar xzf ${SRC}

	getMirror
	busybox wget "$MIRROR/$PACKAGE.tcz.info"
	busybox wget "$MIRROR/$PACKAGE-locale.tcz.info"
#	wget http://i.altrn.tv/i/bf49036c-dc89-df11-98db-0022190f5762_3090.png
}

buildit(){
	cd ${SRCDIR}
	python setup.py build
	python setup.py install --root ${PKGDIR}/tmp
}

workit(){
	cd ${PKGDIR}/tmp

	rm -rf ${DOCS}

	mkdir -p usr/local/share/doc/License
	cp ${SRCDIR}/$COPYING usr/local/share/doc/License/${PACKAGE}.txt

	find usr/ | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
	find usr/ | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip -g 2> /dev/null

	mkdir -pm 775 usr/local/tce.installed
	cat <<EOF> usr/local/tce.installed/${PACKAGE}
#!/bin/sh
	ln -s /usr/local/share/specto /usr/share
EOF
	chmod 775 usr/local/tce.installed/${PACKAGE}

	#don't clobber tc setup
	chown -R root:staff usr/local/tce.*

	mkdir -p usr/local/share/pixmaps
	cp ${SRCDIR}/data/icons/specto_about.png usr/local/share/pixmaps/${PACKAGE}.png
	echo "X-FullPathIcon=/usr/local/share/pixmaps/${PACKAGE}.png" >> usr/local/share/applications/${PACKAGE}.desktop

	#locale
	mkdir -p ../locale/usr/local/share/locale
	mv usr/local/share/locale ../locale/usr/local/share
	#dev
	for I in $(find `ls` -name *.h); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done

	for I in $(find `ls` -name *.a); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done

	for I in $(find `ls` -name *.la); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done
	
	for I in $(find `ls` -name *.pc); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done

	rm -rf usr/local/include
	rm -rf usr/local/lib/pkgconfig
}

packageit(){
   if [ ! -f /usr/local/tce.installed/squashfs-tools-4.x ]; then
	if [ ! -e ${TCEDIR}/optional/squashfs-tools-4.x.tcz ]; then
		sudo -u ${TCUSER} tce-load -w squashfs-tools-4.x.tcz 
	fi
	su ${TCUSER} -c "tce-load -is squashfs-tools-4.x.tcz"
   fi
	
   cd ${PKGDIR}/tmp
   for dir in `ls -A`; do
      find ${dir} -not -type d | sort >> ../${PACKAGE}.tcz.list
   done

   [ -e ../${PACKAGE}.tcz ] && rm ../${PACKAGE}.tcz
   mksquashfs . ../${PACKAGE}.tcz

   cd ${PKGDIR}
   md5sum ${PACKAGE}.tcz > ${PACKAGE}.tcz.md5.txt

   [ -e ${PACKAGE}.tcz.dep ] && rm ${PACKAGE}.tcz.dep
   for each in ${DEPS}; do echo ${each} >> ${PACKAGE}.tcz.dep; done

   size=`du -h ${PACKAGE}.tcz | cut -f 1`

   sed -i "s/Version:.*/Version:	${VERSION}/" ${PACKAGE}.tcz.info
   sed -i "s/Size:.*/Size:	${size}/" ${PACKAGE}.tcz.info
   sed -i "s/Current:/	/" $PACKAGE.tcz.info
   echo "Current:	$CURRENT" >> $PACKAGE.tcz.info

   #locale
   cd ${PKGDIR}/locale
   for dir in `ls -A`; do
      find ${dir} -not -type d | sort >> ../${PACKAGE}-locale.tcz.list
   done

   [ -e ../${PACKAGE}-locale.tcz ] && rm ../${PACKAGE}-locale.tcz*
   mksquashfs . ../${PACKAGE}-locale.tcz

   cd ${PKGDIR}
   md5sum ${PACKAGE}-locale.tcz > ${PACKAGE}-locale.tcz.md5.txt

   echo ${PACKAGE}.tcz > ${PACKAGE}-locale.tcz.dep
   
   size=`du -h ${PACKAGE}-locale.tcz | cut -f 1`

   sed -i "s/Version:.*/Version:	${VERSION}/" ${PACKAGE}-locale.tcz.info
   sed -i "s/Size:.*/Size:	${size}/" ${PACKAGE}-locale.tcz.info
   sed -i "s/Current:/	/" $PACKAGE-locale.tcz.info
   echo "Current:	${TODAY} Updated to ${VERSION}" >> $PACKAGE-locale.tcz.info


#   #dev
#   cd ${PKGDIR}/dev
#   for dir in `ls -A`; do
#      find ${dir} -not -type d | sort >> ../${PACKAGE}-dev.tcz.list
#   done
#
#   [ -e ../${PACKAGE}-dev.tcz ] && rm ../${PACKAGE}-dev.tcz*
#   mksquashfs . ../${PACKAGE}-dev.tcz
#
#   cd ${PKGDIR}
#   md5sum ${PACKAGE}-dev.tcz > ${PACKAGE}-dev.tcz.md5.txt
#
#   echo ${PACKAGE}.tcz > ${PACKAGE}-dev.tcz.dep
#   for each in ${BUILDDEPS}; do echo ${each} >> ${PACKAGE}-dev.tcz.dep; done
#
#   size=`du -h ${PACKAGE}-dev.tcz | cut -f 1`
#
#   cat <<EOF> ${PACKAGE}-dev.tcz.info
#Title:		${PACKAGE}-dev.tcz
#Description:	${DESCRIPTION}. Development files
#Version:	${VERSION}
#Author:		${AUTHORS}
#Original-site:	${HOMEPAGE}
#Copying-policy:	${LICENSE}
#Size:		${size}
#Extension_by:	${ME}
#Comments:	development files
#				
#		This extension is PPI compatible
#Change-log:    	----------------------
#Current:	${TODAY} first version ${VERSION}
#EOF
}
checkit(){
	sudo chown ${TCUSER}:staff ${THISDIR}
	cd ${PKGDIR}
	if [ ! -f /usr/local/tce.installed/submitqc4 ]; then
		if [ ! -e ${TCEDIR}/optional/submitqc4 ]; then
			sudo -u ${TCUSER} tce-load -w submitqc4
		fi
		su ${TCUSER} -c "tce-load -is submitqc4"
	fi
	submitqc4
}
tarit(){	
	cd ${PKGDIR}
	cp ../${PACKAGE}.tcbuild .

	if [ ! -f /usr/local/tce.installed/xz ]; then
		if [ ! -e ${TCEDIR}/optional/xz ]; then
			sudo -u ${TCUSER} tce-load -w xz
		fi
		su ${TCUSER} -c "tce-load -is xz"
	fi
	[ -e ../${PACKAGE}$SEP$VERSION.tar ] && rm ../${PACKAGE}$SEP$VERSION.tar
	tar	cvf ../${PACKAGE}$SEP$VERSION.tar \
		${PACKAGE}.tcz* \
		${PACKAGE}-locale.tcz* \
		${PACKAGE}.tcbuild \
		${SRC}
	cd ${THISDIR}
	[ -e ${PACKAGE}$SEP$VERSION.tar.xz ] && rm ${PACKAGE}$SEP$VERSION.tar.xz
	xz ${PACKAGE}$SEP$VERSION.tar
}
#here we go

clean
environment
echo -n "Press Enter key."
read gagme
buildit
echo -n "Press Enter key."
read gagme
workit
echo -n "Press Enter key."
read gagme
packageit
echo -n "Press Enter key."
read gagme
checkit
tarit
