#!/bin/sh HOMEDIR=`pwd` TMP=.tmp NEXT_LIST=.tmp2 GROUP=$1 SVNUSER=$2 SVNPASS=$3 SVNURL=$4 MAKETYPE=$5 CPUTYPE=$6 SWTYPE=$7 if [ ! -e "$HOMEDIR"/.firstrun ]; then echo "[make-ipk] first run remove old ipkg-build and ipkg-make-index links" sudo rm /bin/ipkg-build sudo rm /sbin/ipkg-build sudo rm /bin/ipkg-make-index sudo rm /sbin/ipkg-make-index touch "$HOMEDIR"/.firstrun fi if [ `which ipkg-build | wc -l` -eq 0 ]; then sudo ln -s $HOMEDIR/ipkg-utils-050831/ipkg-build /bin fi if [ `which ipkg-make-index | wc -l` -eq 0 ]; then sudo ln -s $HOMEDIR/ipkg-utils-050831/ipkg-make-index /bin fi if [ `which gzip | wc -l` -eq 0 ]; then echo "[make-ipk] install gzip" echo "[make-ipk] apt-get install gzip" exit elif [ `which python2.6 | wc -l` -eq 0 ]; then echo "[make-ipk] install python2.6 | search python2.6_2.6.1-1_i386.deb" exit elif [ `which wput | wc -l` -eq 0 ]; then echo "[make-ipk] install wput v0.6.2" echo "[make-ipk] apt-get install wput" exit fi if [ "$MAKETYPE" = "online" ];then WPUTCHECK=`wput --version | tr " " "\n" | tail -n1 | sed 's/\.//' | sed 's/\.//'` echo WPUTCHECK $WPUTCHECK if [ "$WPUTCHECK" -gt "061" ]; then echo "[make-ipk] wput0.6.2 ok" else echo "[make-ipk] install wput0.6.2" echo "[make-ipk] cd /src" echo "[make-ipk] wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/wput-0.6.2.tar.gz" echo "[make-ipk] tar -zxvf wput-0.6.2.tar.gz" echo "[make-ipk] cd wput-0.6.2" echo "[make-ipk] ./configure" echo "[make-ipk] make" echo "[make-ipk] make install" exit fi fi if [ $# -ne 7 ]; then echo "|---------------------------------------------------------------------------------------------|" echo "| |" echo "| IPK Make Script |" echo "| |" echo '| use ./make-ipk |' echo "| |" echo "| for group |" echo "| for svnuser |" echo "| for svnpass |" echo "| for svnurl |" echo "| for maketype |" echo "| for cputype |" echo "| for swtype |" echo "| |" echo "|---------------------------------------------------------------------------------------------|" echo "| v2.1@dev-team |" echo "|---------------------------------------------------------------------------------------------|" exit 1 fi if [ $GROUP = "dev" ] || [ $GROUP = "update" ] || [ $GROUP = "secret" ] || [ $GROUP = "atemio" ] || [ $CPUTYPE = "feeds" ];then echo "[make-ipk] group=$GROUP" else echo "[make-ipk] group " exit 1 fi if [ $MAKETYPE = "online" ] || [ $MAKETYPE = "offline" ] || [ $MAKETYPE = "onlinebeta" ];then echo "[make-ipk] maketype=$MAKETYPE" else echo "[make-ipk] maketype " exit 1 fi if [ $CPUTYPE = "sh4" ] || [ $CPUTYPE = "mipsel" ];then echo "[make-ipk] cputype=$CPUTYPE" else echo "[make-ipk] cputype " exit 1 fi if [ $SWTYPE = "enigma2" ] || [ $SWTYPE = "neutrino" ] || [ $SWTYPE = "titan" ];then echo "[make-ipk] swtype=$SWTYPE" else echo "[make-ipk] swtype " exit 1 fi rm -rf "$HOMEDIR"/BUILD rm -rf "$HOMEDIR"/BUILDRELEASE rm -rf "$HOMEDIR"/preview rm -rf "$HOMEDIR"/config rm -rf "$HOMEDIR"/scripts mkdir -p "$HOMEDIR"/BUILD mkdir -p "$HOMEDIR"/BUILDRELEASE svn co --username $SVNUSER --password $SVNPASS http://"$SVNURL"/svn/image/scripts $HOMEDIR/scripts svn co --username $SVNUSER --password $SVNPASS http://"$SVNURL"/svn/image/config $HOMEDIR/config . ./config/make-config if [ $GROUP = "dev" ];then WWWMAIN="beta" elif [ $GROUP = "secret" ]; then WWWMAIN="ipk" elif [ $GROUP = "atemio" ]; then WWWMAIN="atemio" else WWWMAIN="public" fi WWWPUBLIC="ipk" ls -1 "$HOMEDIR"/source > aaf-flashbeta.txt ls -1 "$HOMEDIR"/source."$CPUTYPE" >> aaf-flashbeta.txt LIST_LINE=`cat aaf-flashbeta.txt` if [ $GROUP = "secret" ]; then ALLOWED=`cat "$HOMEDIR"/trustlist_secret_"$CPUTYPE"_"$SWTYPE"` elif [ $GROUP = "atemio" ]; then ALLOWED=`cat "$HOMEDIR"/trustlist_atemio_"$CPUTYPE"_"$SWTYPE"` else ALLOWED=`cat "$HOMEDIR"/trustlist_allowed_"$CPUTYPE"_"$SWTYPE"` fi if [ $GROUP != "feeds" ];then for DIR in $ALLOWED; do echo cp "$DIR"_* cp -a "$HOMEDIR"/source/"$DIR"_* "$HOMEDIR"/BUILD done for DIR in $ALLOWED; do echo cp "$DIR"_* cp -a "$HOMEDIR"/source."$CPUTYPE"/"$DIR"_* "$HOMEDIR"/BUILD done else for DIR in $ALLOWED; do echo cp "$DIR"_* cp -a "$HOMEDIR"/source.feeds/"$DIR"_* "$HOMEDIR"/BUILD done fi if [ $SWTYPE = "titan" ] && [ $SVNUSER = "aafsvn" ];then # cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/mc/* "$HOMEDIR"/BUILD/titanplayers_mc/var/usr/local/share/titan/plugins/mc cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/networkbrowser/* "$HOMEDIR"/BUILD/titannetwork_networkbrowser/var/usr/local/share/titan/plugins/networkbrowser cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/keylock/* "$HOMEDIR"/BUILD/titantools_keylock/var/usr/local/share/titan/plugins/keylock cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/browser/* "$HOMEDIR"/BUILD/titanbrowser_netsurf/var/usr/local/share/titan/plugins/browser cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/imdb/* "$HOMEDIR"/BUILD/titanplayers_imdb/var/usr/local/share/titan/plugins/imdb cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/permtime/* "$HOMEDIR"/BUILD/titantools_PermanentTime/var/usr/local/share/titan/plugins/permtime cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/lcdpearl1/* "$HOMEDIR"/BUILD/titanswaptools_lcdpearl1/var/swap/titanplugins/lcdpearl1 cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/callmonitor1/* "$HOMEDIR"/BUILD/titaninfos_callmonitor/var/usr/local/share/titan/plugins/callmonitor1 cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/callmonitor1/* "$HOMEDIR"/BUILD/titanswaptools_callmonitor/var/swap/titanplugins/callmonitor1 cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/stopifnotused/* "$HOMEDIR"/BUILD/titantools_stopifnotused/var/usr/local/share/titan/plugins/stopifnotused cp -a $HOME/flashimg/BUILD/titan/var/usr/local/share/titan/plugins/tithek/* "$HOMEDIR"/BUILD/titanplayers_tithek/var/usr/local/share/titan/plugins/tithek # # we need the real src in plugins # rm -rf "$HOMEDIR"/BUILD/titaninfos_callmonitor # # disable for release # rm -rf "$HOMEDIR"/BUILD/titanbrowser_netsurf # disable for release # rm -rf "$HOMEDIR"/BUILD/titaninfos_imdb # is now in image # rm -rf "$HOMEDIR"/BUILD/titanplayers_mc # disable for release #rm -rf "$HOMEDIR"/BUILD/titanswaptools_lcdpearl1 # rm -rf "$HOMEDIR"/BUILD/titanplayers_tithek fi if [ $CPUTYPE = "mipsel" ];then rm -r "$HOMEDIR"/BUILD/*/CONTROL/pre* sed -i 's/sh4/mipsel/g' "$HOMEDIR"/BUILD/*/CONTROL/control fi #cp -a "$HOMEDIR"/bootvideos "$HOMEDIR"/BUILDRELEASE/boot cd "$HOMEDIR"/BUILD # titan work start rm -rf browsers_picasa rm -rf browsers_elektro_1_0 rm -rf browsers_werbezapper_1_0 rm -rf browsers_zaphistorybrowser_1_2 rm -rf swapnetwork_webif rm -rf swapnetwork_wlan_300 rm -rf swapnetwork_wlan_400 rm -rf swapnetwork_libsmbclient_3_0_28b # titan work done ls -1 "$HOMEDIR"/BUILD > $NEXT_LIST LIST=`cat $NEXT_LIST` echo LIST: $LIST rm -rf `find "$HOMEDIR"/BUILD -type d -name "*.svn"` sed -i "s/Package: enigma2-plugin-/Package: $SWTYPE-plugin-/g" "$HOMEDIR"/BUILD/*/CONTROL/control echo "[make-ipk] set executable Folder rights 755 to CONTROL bin sbin emu" chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "CONTROL"` > /dev/null 2>&1 chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "bin"` > /dev/null 2>&1 chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "sbin"` > /dev/null 2>&1 chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "emu"` > /dev/null 2>&1 ################### SHRINK PYTHON FILES ######################### "$HOMEDIR"/scripts/kf-pyshrink.sh ./ "$HOMEDIR"/BUILD "$PYTHONVER" "$SKIPPEDSHRINK" ### #cd $HOMEDIR echo make py var ls -R -1 "$HOMEDIR"/BUILD | grep "/" | sed 's/.$//' > tmp.txt LINE=`cat tmp.txt` for DIR in $LINE; do cd $HOMEDIR cd $DIR echo "[make-ipk] dir $DIR" ls -1 *.py > "$HOMEDIR"/pylist.tmp PYLINE=`cat "$HOMEDIR"/pylist.tmp` for RPY in $PYLINE; do python2.6 -OO "$HOMEDIR"/scripts/mkpyc.py $RPY PYO=`echo "$RPY" | sed "s/.py$/.pyo/"` PYC=`echo "$RPY" | sed "s/.py$/.pyc/"` if [ $CPUTYPE = "sh4" ];then mv $PYO $PYC elif [ $CPUTYPE = "mipsel" ];then mv $PYC $PYO fi if [ $? -ne 0 ]; then echo "[make-ipk] Fehler beim kompilieren $RPY" fi done done cd $HOMEDIR ### rm "$HOMEDIR"/pylist.tmp rm -rf `find "$HOMEDIR"/BUILD -type f -name "*.py" -print` if [ $CPUTYPE = "sh4" ];then rm -rf `find "$HOMEDIR"/BUILD -type f -name "*.pyo" -print` elif [ $CPUTYPE = "mipsel" ];then rm -rf `find "$HOMEDIR"/BUILD -type f -name "*.pyc" -print` fi rm -rf "$HOMEDIR"/preview mkdir "$HOMEDIR"/preview ################### SHRINK PNG FILES ######################### PNGFILES=`find "$HOMEDIR"/BUILD -type f -name "*.png" -print` for DIR in $PNGFILES; do echo "[make-ipk] PNG: $DIR" /usr/bin/advpng -4 -z $DIR #> /dev/null 2>&1 # /usr/bin/advpng -4 -z $DIR #> /dev/null 2>&1 done ################### STRIPPED ALL FILES ######################### if [ $CPUTYPE = "sh4" ];then FILEALL=`find "$HOMEDIR"/BUILD -name "*" -print` if ( test -f ../flashimg/BUILDGIT/checkout_"$STM"/tdt/tufsbox/devkit/sh4/bin/sh4-linux-strip ); then echo "" echo "[make-ipk] Files strippen" echo "" for FILE in $FILEALL do echo $FILE | grep ".ko" >/dev/null 2>&1 if [ $? -eq 0 ]; then param="--strip-unneeded --remove-section=.comment"; else param="-s --remove-section=.comment"; fi ../flashimg/BUILDGIT/checkout_"$STM"/tdt/tufsbox/devkit/sh4/bin/sh4-linux-strip $param $FILE > /dev/null 2>&1 if [ $? -eq 0 ]; then echo "[make-ipk] Strippe: $FILE" fi done else echo "" echo "[make-ipk] Files strippen konnte nicht durchgefuehrt werden, da sh4-linux-strip fehlt." fi fi for DIR in $LIST; do echo "[make-ipk] $DIR" NAME=`cat "$HOMEDIR"/BUILD/"$DIR"/CONTROL/control | grep Package: | tr " " "\n" | tr "-" "\n" | tail -n 1 | cut -d . -f1 | head -n1` # ARCH=`cat "$HOMEDIR"/BUILD/"$DIR"/CONTROL/control | grep Architecture: | tr " " "\n" | tail -n 1` # cp "$HOMEDIR"/BUILD/"$DIR"/preview/prev.png "$HOMEDIR"/preview/enigma2-pluginpreview-"$NAME"_"$ARCH".ipk.png cp "$HOMEDIR"/BUILD/"$DIR"/preview/prev.png "$HOMEDIR"/preview/"$SWTYPE"-pluginpreview-"$NAME".png rm -r "$HOMEDIR"/BUILD/"$DIR"/preview done cd "$HOMEDIR"/BUILDRELEASE for DIR in $LIST; do ipkg-build "$HOMEDIR"/BUILD/"$DIR" done date=`date` echo "[make-ipk] make-index" rm Packages* ipkg-make-index -l Packages.filelist -p Packages -v . if [ $GROUP = "secret" ]; then echo "Here is the secret AAF-Flash-PlugList" > PlugList elif [ $GROUP = "beta" ]; then echo "Here is the beta AAF-Flash-PlugList" > PlugList else echo "Here is the public AAF-Flash-PlugList" > PlugList fi echo "" >> PlugList cat Packages | grep Filename: | sed "s/Filename: $SWTYPE-plugin-//" | sed "s/.ipk//" | sed "s/_sh4//" | sed "s/_/ V/" >> PlugList rm test.txt echo "" >> PlugList echo "mfg AAF-TEAM @ $date" >> PlugList echo "done" rm .tmp* rm tmprc cd "$HOMEDIR" tar czvf Packages.preview.tar.gz ./preview mv "$HOMEDIR"/Packages.preview.tar.gz "$HOMEDIR"/BUILDRELEASE cd "$HOMEDIR"/BUILDRELEASE FULLLIST=`ls -1` PACKAGESLIST=`ls -1 Packages*` IPKLIST=`ls -1 *.ipk` if [ $GROUP = "update" ] && [ "$SVNUSER" = "aafsvn" ] && [ "$SWTYPE" = "titan" ];then COUNT=`cat "$HOMEDIR"/.count` IPKGCROSS_RELEASE=atemio510-rev$COUNT WWWMAIN=$WWWATEMIOSECRET elif [ $GROUP = "secret" ] && [ "$SVNUSER" = "aafsvn" ] && [ "$SWTYPE" = "titan" ];then COUNT=`cat "$HOMEDIR"/.count` IPKGCROSS_RELEASE=atemio510-rev$COUNT WWWMAIN=$WWWATEMIOSECRET fi if [ $GROUP = "update" ] && [ "$SVNUSER" = "aafsvn" ];then rm -rf "$HOMEDIR"/BUILDRELEASE-UPDATE/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE mkdir -p "$HOMEDIR"/BUILDRELEASE-UPDATE/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE for file in $FULLLIST; do if [ -e "$file" ]; then wputcmd="$file "$HOMEDIR"/BUILDRELEASE-UPDATE/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE/$file" echo "[make-ipk] move: $wputcmd" mv -f $wputcmd fi done elif [ $GROUP = "dev" ] && [ "$SVNUSER" = "aafsvn" ];then rm -rf "$HOMEDIR"/BUILDRELEASE-BETA/$IPKGCROSS_BETA/$CPUTYPE/$SWTYPE mkdir -p "$HOMEDIR"/BUILDRELEASE-BETA/$IPKGCROSS_BETA/$CPUTYPE/$SWTYPE for file in $FULLLIST; do if [ -e "$file" ]; then wputcmd="$file "$HOMEDIR"/BUILDRELEASE-BETA/$IPKGCROSS_BETA/$CPUTYPE/$SWTYPE/$file" echo "[make-ipk] move: $wputcmd" mv -f $wputcmd fi done elif [ $GROUP = "secret" ] && [ "$SVNUSER" = "aafsvn" ] && [ $MAKETYPE = "online" ] && [ "$SWTYPE" = "titan" ];then for ROUND in $PACKAGESLIST; do wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE/$ROUND" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd done for ROUND in $IPKLIST; do wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE/$ROUND" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd done wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE/PlugList" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$IPKGCROSS_RELEASE/$CPUTYPE/$SWTYPE/Packages.preview.tar.gz" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd elif [ $GROUP = "secret" ] && [ "$SVNUSER" = "aafsvn" ] && [ $MAKETYPE = "online" ];then for ROUND in $PACKAGESLIST; do wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$CPUTYPE/$SWTYPE/$ROUND" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd done for ROUND in $IPKLIST; do wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$CPUTYPE/$SWTYPE/$ROUND" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd done wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$CPUTYPE/$SWTYPE/PlugList" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$CPUTYPE/$SWTYPE/Packages.preview.tar.gz" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd elif [ $GROUP = "atemio" ] && [ $MAKETYPE = "online" ];then for ROUND in $PACKAGESLIST; do wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$ROUND" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd done for ROUND in $IPKLIST; do wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/$ROUND" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd done wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/PlugList" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd wputcmd="$SECRETRELEASEUPDATEURL/$WWWMAIN/Packages.preview.tar.gz" echo "[make-ipk] upload: $wputbin $wputcmd" $wputbin $wputcmd fi echo "[make-ipk] done" exit 0