#!/bin/sh HOMEDIR=`pwd` TMP=.tmp NEXT_LIST=.tmp2 GROUP=$1 SVNUSER=$2 SVNPASS=$3 SVNURL=$4 SVNPORT=$5 MAKETYPE=$6 if [ `which ipkg-build | wc -l` -eq 0 ]; then echo "[make-flash] install ipkg-build from http://www.handhelds.org/pub/packages/ipkg-utils/ipkg-utils-050831.tar.gz" exit elif [ `which ipkg-make-index | wc -l` -eq 0 ]; then echo "[make-flash] install ipkg-make-index from http://www.handhelds.org/pub/packages/ipkg-utils/ipkg-utils-050831.tar.gz" exit elif [ `which gzip | wc -l` -eq 0 ]; then echo "[make-flash] install gzip | apt-get install gzip" exit elif [ `which python2.6 | wc -l` -eq 0 ]; then echo "[make-flash] install python2.6 | search python2.6_2.6.1-1_i386.deb" exit elif [ `which wput | wc -l` -eq 0 ]; then echo "[make-flash] install wput | apt-get install wput v0.6.2" 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-flash] wput0.6.2 ok" else echo "[make-flash] install wput0.6.2" echo "[make-flash] cd /src" echo "[make-flash] wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/wput-0.6.2.tar.gz" echo "[make-flash] tar -zxvf wput-0.6.2.tar.gz" echo "[make-flash] cd wput-0.6.2" echo "[make-flash] ./configure" echo "[make-flash] make" echo "[make-flash] make install" exit fi fi if [ $# -ne 6 ]; then echo "|---------------------------------------------------------------------------|" echo "| |" echo "| IPK Make Script |" echo "| |" echo '| use ./runipk.sh |' echo "| |" echo "| for group |" echo "| for svnuser |" echo "| for svnpass |" echo "| for svnurl |" echo "| for svnport |" echo "| for maketype |" echo "| |" echo "|---------------------------------------------------------------------------|" echo "| v1.0@dev-team |" echo "|---------------------------------------------------------------------------|" exit 1 fi if [ $GROUP = "dev" ] || [ $GROUP = "update" ];then echo "group=$GROUP" else echo "group " exit 1 fi if [ $MAKETYPE = "online" ] || [ $MAKETYPE = "offline" ];then echo "maketype=$MAKETYPE" else echo "maketype " exit 1 fi rm -r "$HOME"/ipk/WWW/*.ipk > /dev/null 2>&1 rm -r "$HOME"/ipk/WWW/Packages* > /dev/null 2>&1 rm -r "$HOME"/ipk/WWW/PlugList > /dev/null 2>&1 rm -r "$HOME"/ipk/WWW/boot > /dev/null 2>&1 rm -r "$HOME"/ipk/*.ipk > /dev/null 2>&1 rm -r "$HOME"/ipk/Packages* > /dev/null 2>&1 rm -r "$HOME"/ipk/PlugList > /dev/null 2>&1 rm -r "$HOME"/ipk/boot > /dev/null 2>&1 svn co --username $SVNUSER --password $SVNPASS svn://"$SVNURL":"$SVNPORT"/ufs910/image/scripts $HOMEDIR/scripts svn co --username $SVNUSER --password $SVNPASS svn://"$SVNURL":"$SVNPORT"/ufs910/image/config $HOMEDIR/config . ./config/make-config if [ $GROUP = "dev" ];then mkdir -p "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA" ln -s "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA" "$HOME"/ipk/WWW ln -s "$HOME"/ipk/tmp-source "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/source elif [ $GROUP = "update" ];then mkdir -p "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE" ln -s "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE" "$HOME"/ipk/WWW ln -s "$HOME"/ipk/tmp-source "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/source fi rm -r "$HOME"/ipk/tmp-source cp -a "$HOME"/ipk/source "$HOME"/ipk/tmp-source ls -1 "$HOME"/ipk/tmp-source > aaf-flashbeta.txt cp -a "$HOME"/ipk/bootvideos "$HOME"/ipk/tmp-source/bootvideos LIST_LINE=`cat aaf-flashbeta.txt` ALLOWED=`cat "$HOME"/ipk/aaf-flashbeta_allowed` cd "$HOME"/ipk/WWW chmod -R 755 `find "$HOME"/ipk/source -type d -name "CONTROL"` chmod -R 755 `find "$HOME"/ipk/source -type d -name "bin"` chmod -R 755 `find "$HOME"/ipk/source -type d -name "sbin"` chmod -R 755 `find "$HOME"/ipk/source -type d -name "emu"` # for externel files #cp "$HOME"/WWW/civer/*.ipk ~/WWW for ROUND in $ALLOWED; do for DIR in $LIST_LINE; do echo $DIR > $TMP if [ ! `grep "$ROUND" $TMP | wc -l` -eq 0 ]; then echo ROUND $ROUND == $DIR DIR echo $DIR >> $NEXT_LIST fi done done LIST=`cat $NEXT_LIST` echo LIST: $LIST rm -r `find "$HOME"/ipk/tmp-source -type d -name "*.svn"` ################### SHRINK PYTHON FILES ######################### "$HOME"/ipk/scripts/kf-pyshrink.sh ./ "$HOME"/ipk/tmp-source "$PYTHONVER" "$SKIPPEDSHRINK" ### cd $HOMEDIR echo make py var ls -R -1 "$HOME"/ipk/tmp-source | grep "/" | sed 's/.$//' > tmp.txt LINE=`cat tmp.txt` for DIR in $LINE; do cd $HOMEDIR cd $DIR echo dir $DIR ls -1 *.py > "$HOME"/ipk/pylist.tmp PYLINE=`cat "$HOME"/ipk/pylist.tmp` for RPY in $PYLINE; do python2.6 -OO "$HOME"/ipk/scripts/mkpyc.py $RPY PYO=`echo "$RPY" | sed "s/.py$/.pyo/"` PYC=`echo "$RPY" | sed "s/.py$/.pyc/"` mv $PYO $PYC if [ $? -ne 0 ]; then echo "Fehler beim kompilieren $RPY" fi done done cd $HOMEDIR ### rm "$HOME"/ipk/pylist.tmp rm -r `find "$HOME"/ipk/tmp-source -type f -name "*.py" -print` rm -r "$HOME"/ipk/preview mkdir "$HOME"/ipk/preview ################### SHRINK PNG FILES ######################### PNGFILES=`find "$HOME"/ipk/tmp-source -type f -name "*.png" -print` for DIR in $PNGFILES; do echo "PNG: $DIR" /usr/bin/advpng -4 -z $DIR #> /dev/null 2>&1 done ################### STRIPPED ALL FILES ######################### FILEALL=`find "$HOME"/ipk/tmp-source -name "*" -print` if ( test -f "$HOME"/ipk/scripts/sh4-linux-strip ); then echo "" echo "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 "$HOME"/ipk/scripts/sh4-linux-strip $param $FILE > /dev/null 2>&1 if [ $? -eq 0 ]; then echo "Strippe: $FILE" fi done else echo "" echo "Files strippen konnte nicht durchgefuehrt werden, da sh4-linux-strip fehlt." fi for DIR in $LIST; do echo "$DIR" NAME=`cat "$HOME"/ipk/tmp-source/"$DIR"/CONTROL/control | grep Package: | tr " " "\n" | tr "-" "\n" | tail -n 1 | cut -d . -f1 | head -n1` # ARCH=`cat "$HOME"/ipk/tmp-source/"$DIR"/CONTROL/control | grep Architecture: | tr " " "\n" | tail -n 1` # cp "$HOME"/ipk/tmp-source/"$DIR"/preview/prev.png "$HOME"/ipk/preview/enigma2-pluginpreview-"$NAME"_"$ARCH".ipk.png cp "$HOME"/ipk/tmp-source/"$DIR"/preview/prev.png "$HOME"/ipk/preview/enigma2-pluginpreview-"$NAME".png rm -r "$HOME"/ipk/tmp-source/"$DIR"/preview done if [ $GROUP = "dev" ];then rm "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$IPKGCROSS_BETA" cd "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA" elif [ $GROUP = "update" ];then rm "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/"$IPKGCROSS_RELEASE" cd "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE" fi rm *.ipk rm Packages* for DIR in $LIST; do ipkg-build "$HOME"/ipk/tmp-source/"$DIR" done rm "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$IPKGCROSS_BETA" date=`date` echo "make-index" rm Packages* ipkg-make-index -l Packages.filelist -p Packages -v . #ipkg-make-index . > Packages #echo "pack Packages" #gzip Packages #ipkg-make-index . > Packages echo "Here is the public AAF-Flash-PlugList" > PlugList echo "" >> PlugList cat Packages | grep Filename: | sed "s/Filename: enigma2-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 "$HOME"/ipk/ tar czvf Packages.preview.tar.gz ./preview mv "$HOME"/ipk/Packages.preview.tar.gz "$HOME"/ipk/WWW/ mkdir "$HOME"/ipk/WWW/boot mv "$HOME"/ipk/bootvideos/* "$HOME"/ipk/WWW/boot #mv *.ipk "$HOME"/ipk/WWW/ if [ $GROUP = "dev" ];then cd "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_BETA" elif [ $GROUP = "update" ];then cd "$WWWLOCAL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE" fi PACKAGESLIST=`ls -1 Packages*` IPKLIST=`ls -1 *.ipk` if [ $GROUP = "update" ] && [ $MAKETYPE = "online" ];then for ROUND in $PACKAGESLIST; do wput -u "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/"$ROUND" done for ROUND in $IPKLIST; do wput -u "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/"$ROUND" done wput "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/PlugList wput "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/Packages.preview.tar.gz cd boot BOOTLIST=`ls -1` for ROUND in $BOOTLIST; do wput -u "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/boot/"$ROUND" done elif [ $GROUP = "dev" ] && [ $MAKETYPE = "online" ];then for ROUND in $PACKAGESLIST; do echo round $ROUND wput -u "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$ROUND" done for ROUND in $IPKLIST; do wput -u "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$ROUND" done wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/PlugList wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.preview.tar.gz cd boot BOOTLIST=`ls -1` for ROUND in $BOOTLIST; do wput -u "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/boot/"$ROUND" done fi exit 0