#!/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-ipk] install ipkg-build source" echo "[make-ipk] cd $HOME" echo "[make-ipk] mkdir src" echo "[make-ipk] cd src" echo "[make-ipk] wget http://www.pengutronix.de/software/ptxdist/temporary-src/ipkg-utils-050831.tar.gz" echo "[make-ipk] tar -zxvf ipkg-utils-050831.tar.gz" echo "[make-ipk] sudo ln -s $HOME/src/ipkg-utils-050831/ipkg-build /sbin" echo "[make-ipk] sudo ln -s $HOME/src/ipkg-utils-050831/ipkg-make-index /sbin" exit elif [ `which ipkg-make-index | wc -l` -eq 0 ]; then echo "[make-ipk] install ipkg-build source" echo "[make-ipk] cd $HOME" echo "[make-ipk] mkdir src" echo "[make-ipk] cd src" echo "[make-ipk] wget http://www.pengutronix.de/software/ptxdist/temporary-src/ipkg-utils-050831.tar.gz" echo "[make-ipk] tar -zxvf ipkg-utils-050831.tar.gz" echo "[make-ipk] sudo ln -s $HOME/src/ipkg-utils-050831/ipkg-build /sbin" echo "[make-ipk] sudo ln -s $HOME/src/ipkg-utils-050831/ipkg-make-index /sbin" exit elif [ `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-flash] 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 6 ]; 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 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/BUILD > /dev/null 2>&1 rm -r "$HOME"/ipk/BUILDRELEASE > /dev/null 2>&1 mkdir -p "$HOME"/ipk/BUILD mkdir -p "$HOME"/ipk/BUILDRELEASE 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 cp -a "$HOME"/ipk/source/* "$HOME"/ipk/BUILD ls -1 "$HOME"/ipk/BUILD > aaf-flashbeta.txt cp -a "$HOME"/ipk/bootvideos "$HOME"/ipk/BUILDRELEASE/boot LIST_LINE=`cat aaf-flashbeta.txt` ALLOWED=`cat "$HOME"/ipk/aaf-flashbeta_allowed` cd "$HOME"/ipk/BUILD chmod -R 755 `find "$HOME"/ipk/BUILD -type d -name "CONTROL"` chmod -R 755 `find "$HOME"/ipk/BUILD -type d -name "bin"` chmod -R 755 `find "$HOME"/ipk/BUILD -type d -name "sbin"` chmod -R 755 `find "$HOME"/ipk/BUILD -type d -name "emu"` 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/BUILD -type d -name "*.svn"` ################### SHRINK PYTHON FILES ######################### "$HOME"/ipk/scripts/kf-pyshrink.sh ./ "$HOME"/ipk/BUILD "$PYTHONVER" "$SKIPPEDSHRINK" ### cd $HOMEDIR echo make py var ls -R -1 "$HOME"/ipk/BUILD | 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/BUILD -type f -name "*.py" -print` rm -r `find "$HOME"/ipk/BUILD -type f -name "*.po" -print` rm -r "$HOME"/ipk/preview mkdir "$HOME"/ipk/preview ################### SHRINK PNG FILES ######################### PNGFILES=`find "$HOME"/ipk/BUILD -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/BUILD -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/BUILD/"$DIR"/CONTROL/control | grep Package: | tr " " "\n" | tr "-" "\n" | tail -n 1 | cut -d . -f1 | head -n1` # ARCH=`cat "$HOME"/ipk/BUILD/"$DIR"/CONTROL/control | grep Architecture: | tr " " "\n" | tail -n 1` # cp "$HOME"/ipk/BUILD/"$DIR"/preview/prev.png "$HOME"/ipk/preview/enigma2-pluginpreview-"$NAME"_"$ARCH".ipk.png cp "$HOME"/ipk/BUILD/"$DIR"/preview/prev.png "$HOME"/ipk/preview/enigma2-pluginpreview-"$NAME".png rm -r "$HOME"/ipk/BUILD/"$DIR"/preview done cd "$HOME"/ipk/BUILDRELEASE for DIR in $LIST; do ipkg-build "$HOME"/ipk/BUILD/"$DIR" done date=`date` echo "make-index" rm Packages* ipkg-make-index -l Packages.filelist -p Packages -v . 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/BUILDRELEASE cd "$HOME"/ipk/BUILDRELEASE 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 BTIME=`date +"%Y.%m.%d_%H.%M.%S"` echo quote USER $URLBETAUSER >"$HOME"/ipk/ftp.txt echo quote PASS $URLBETAPASS >>"$HOME"/ipk/ftp.txt # echo cd "$WWWMAIN"/"$IPKGCROSS_BETA" >>"$HOME"/ipk/ftp.txt # echo cd "$WWWMAIN" >>"$HOME"/ipk//ftp.txt echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages >>"$HOME"/ipk/ftp.txt echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.filelist >>"$HOME"/ipk/ftp.txt echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.gz >>"$HOME"/ipk/ftp.txt echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/PlugList >>"$HOME"/ipk/ftp.txt echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.preview.tar.gz >>"$HOME"/ipk/ftp.txt # echo rename aaf-flash-beta aaf-flash-beta_old_"$URLBETAUSER"_"$BTIME" >>"$HOME"/ipk/ftp.txt echo quit >>"$HOME"/ipk/ftp.txt ftp -n "$URLBETA" < "$HOME"/ipk/ftp.txt sleep 5 for ROUND in $PACKAGESLIST; do wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$ROUND" done for ROUND in $IPKLIST; do wput "$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 echo "[make-ipk] done" exit 0