#!/bin/sh
. /etc/init.d/tc-functions

checkroot

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti"
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/xine-xvesa/lib

TODAY=`date +%Y/%m/%d`
PACKAGE="no-ip"
SEP="-"
VERSION="2.1.9"
MIRROR="http://www.no-ip.com/client/linux/"
DESCRIPTION="client for the no-ip.com dynamic DNS service"
AUTHORS="?"
HOMEPAGE="http://www.no-ip.com/"
LICENSE="GPLv2"
ME="jls_legalize (unsenepopiu at tin dot it)"
DEPS=""
BUILDDEPS=""
FLAGS="--prefix=/usr/local"
DOCS=""
TCUSER=`cat /etc/sysconfig/tcuser`
SRC="noip-duc-linux.tar.gz"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/noip${SEP}${VERSION}-1"
TCEDIR="$(cat /opt/.tce_dir)"

clean(){
	rm -rf ${THISDIR}/${PACKAGE}
}
environment(){
	for each in compiletc.tcz squashfs-tools-4.0.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}
	mkdir -p ${PKGDIR}/tmp
	cd ${PKGDIR} && wget ${MIRROR}${SRC}
	tar xzf ${SRC}
}

buildit(){
	cd ${SRCDIR}
	#./configure ${FLAGS}
	make
	#touch /tmp/mark
	#make DESTDIR=${PKGDIR}/tmp install
}

workit(){
	#if [ "`ls -A ${PKGDIR}/tmp`" ]; then
		rm /tmp/mark
	#else
	#	cd /
	#	find usr/ -newer /tmp/mark -not -type d > /tmp/${PACKAGE}.list
	#	tar czO -T /tmp/${PACKAGE}.list | tar xzf - -C ${PKGDIR}/tmp
	#	rm /tmp/${PACKAGE}.list
	#fi

	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 -p usr/local/bin
	cp "${SRCDIR}"/noip2 usr/local/bin
	mkdir -p usr/local/etc/init.d/
	cat <<EOF> usr/local/etc/init.d/${PACKAGE}
#!/bin/sh

case "\${1}" in
	start)
		noip2
		;;

	stop)
		pkill noip2
		;;

	status)
		pidof -o %PPID noip2
		;;

	*)
		exit 1
		;;
esac
EOF
	chmod +x usr/local/etc/init.d/${PACKAGE}

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

	##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
}

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

   mksquashfs . ../${PACKAGE}.tcz

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

   for each in ${DEPS}; do echo ${each} >> ${PACKAGE}.tcz.dep; done

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

cat <<EOF> ${PACKAGE}.tcz.info
Title:		${PACKAGE}.tcz
Description:	${DESCRIPTION}
Version:	${VERSION}
Author:		${AUTHORS}
Original-site:	${HOMEPAGE}
Copying-policy:	${LICENSE}
Size:		${size}
Extension_by:	${ME}
Comments:	Service script included
		--------------------------------
		This extension is PPI compatible.
Changelog:	--------------------------------
Current:	${TODAY} First version ${VERSION}
EOF

   
   ##dev
   #cd ${PKGDIR}/dev
   # for dir in `ls -A`; do
#      find ${dir} -not -type d | sort >> ../${PACKAGE}-dev.tcz.list
#   done
#
#   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} dev files
#Version:	${VERSION}
#Author:		${AUTHORS}
#Original-site:	${HOMEPAGE}
#Copying-policy:	${LICENSE}
#Size:		${size}
#Extension_by:	${ME}
#Comments:	dev files
#		This extension is PPI compatible
#Changelog: 	----------------------
#Current:	${TODAY} First version ${VERSION}
#EOF
}
tarit(){	
	cd ${PKGDIR}
	cp ${THISDIR}/${PACKAGE}.tcbuild .
	tar cvf ${PACKAGE}.tar ${PACKAGE}.tcz* ${PACKAGE}.tcbuild ${SRC}
}		
#here we go
clean
environment
buildit
workit
packageit
tarit
