source: ipk/make-ipk@ 6702

Last change on this file since 6702 was 4897, checked in by obi, 15 years ago

[ipk] fix building for default user

  • Property svn:executable set to *
File size: 9.3 KB
Line 
1#!/bin/sh
2HOMEDIR=`pwd`
3TMP=.tmp
4NEXT_LIST=.tmp2
5
6GROUP=$1
7SVNUSER=$2
8SVNPASS=$3
9SVNURL=$4
10SVNPORT=$5
11MAKETYPE=$6
12
13if [ ! -e "$HOMEDIR"/.firstrun ]; then
14 echo "[make-ipk] first run remove old ipkg-build and ipkg-make-index links"
15 sudo rm /bin/ipkg-build
16 sudo rm /sbin/ipkg-build
17 sudo rm /bin/ipkg-make-index
18 sudo rm /sbin/ipkg-make-index
19 touch "$HOMEDIR"/.firstrun
20fi
21
22if [ `which ipkg-build | wc -l` -eq 0 ]; then
23 sudo ln -s $HOMEDIR/ipkg-utils-050831/ipkg-build /bin
24fi
25if [ `which ipkg-make-index | wc -l` -eq 0 ]; then
26 sudo ln -s $HOMEDIR/ipkg-utils-050831/ipkg-make-index /bin
27fi
28if [ `which gzip | wc -l` -eq 0 ]; then
29 echo "[make-ipk] install gzip"
30 echo "[make-ipk] apt-get install gzip"
31 exit
32elif [ `which python2.6 | wc -l` -eq 0 ]; then
33 echo "[make-ipk] install python2.6 | search python2.6_2.6.1-1_i386.deb"
34 exit
35elif [ `which wput | wc -l` -eq 0 ]; then
36 echo "[make-ipk] install wput v0.6.2"
37 echo "[make-ipk] apt-get install wput"
38 exit
39fi
40
41if [ "$MAKETYPE" = "online" ];then
42 WPUTCHECK=`wput --version | tr " " "\n" | tail -n1 | sed 's/\.//' | sed 's/\.//'`
43 echo WPUTCHECK $WPUTCHECK
44 if [ "$WPUTCHECK" -gt "061" ]; then
45 echo "[make-flash] wput0.6.2 ok"
46 else
47 echo "[make-ipk] install wput0.6.2"
48 echo "[make-ipk] cd /src"
49 echo "[make-ipk] wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/wput-0.6.2.tar.gz"
50 echo "[make-ipk] tar -zxvf wput-0.6.2.tar.gz"
51 echo "[make-ipk] cd wput-0.6.2"
52 echo "[make-ipk] ./configure"
53 echo "[make-ipk] make"
54 echo "[make-ipk] make install"
55 exit
56 fi
57fi
58
59if [ $# -ne 6 ]; then
60 echo "|---------------------------------------------------------------------------|"
61 echo "| |"
62 echo "| IPK Make Script |"
63 echo "| |"
64 echo '| use ./make-ipk <group> <svnuser> <svnpass> <svnurl> <svnport> <maketype> |'
65 echo "| |"
66 echo "| for group <dev|update> |"
67 echo "| for svnuser <your> |"
68 echo "| for svnpass <your> |"
69 echo "| for svnurl <your> |"
70 echo "| for svnport <your> |"
71 echo "| for maketype <online|offline> |"
72 echo "| |"
73 echo "|---------------------------------------------------------------------------|"
74 echo "| v1.0@dev-team |"
75 echo "|---------------------------------------------------------------------------|"
76 exit 1
77fi
78
79if [ $GROUP = "dev" ] || [ $GROUP = "update" ];then
80 echo "[make-ipk] group=$GROUP"
81else
82 echo "[make-ipk] group <dev|update>"
83 exit 1
84fi
85
86if [ $MAKETYPE = "online" ] || [ $MAKETYPE = "offline" ];then
87 echo "[make-ipk] maketype=$MAKETYPE"
88else
89 echo "[make-ipk] maketype <online|offline>"
90 exit 1
91fi
92
93rm -rf "$HOMEDIR"/BUILD
94rm -rf "$HOMEDIR"/BUILDRELEASE
95
96mkdir -p "$HOMEDIR"/BUILD
97mkdir -p "$HOMEDIR"/BUILDRELEASE
98
99svn co --username $SVNUSER --password $SVNPASS svn://"$SVNURL":"$SVNPORT"/ufs910/image/scripts $HOMEDIR/scripts
100svn co --username $SVNUSER --password $SVNPASS svn://"$SVNURL":"$SVNPORT"/ufs910/image/config $HOMEDIR/config
101
102. ./config/make-config
103
104cp -a "$HOMEDIR"/source/* "$HOMEDIR"/BUILD
105ls -1 "$HOMEDIR"/BUILD > aaf-flashbeta.txt
106cp -a "$HOMEDIR"/bootvideos "$HOMEDIR"/BUILDRELEASE/boot
107
108LIST_LINE=`cat aaf-flashbeta.txt`
109ALLOWED=`cat "$HOMEDIR"/aaf-flashbeta_allowed`
110
111cd "$HOMEDIR"/BUILD
112
113echo "[make-ipk] set executable Folder rights 755 to CONTROL bin sbin emu"
114chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "CONTROL"` > /dev/null 2>&1
115chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "bin"` > /dev/null 2>&1
116chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "sbin"` > /dev/null 2>&1
117chmod -R 755 `find "$HOMEDIR"/BUILD -type d -name "emu"` > /dev/null 2>&1
118
119for ROUND in $ALLOWED; do
120 for DIR in $LIST_LINE; do
121 echo $DIR > $TMP
122 if [ ! `grep "$ROUND" $TMP | wc -l` -eq 0 ]; then
123 echo "[make-ipk] ROUND $ROUND == $DIR DIR"
124 echo $DIR >> $NEXT_LIST
125 fi
126 done
127done
128
129LIST=`cat $NEXT_LIST`
130
131echo LIST: $LIST
132
133rm -rf `find "$HOMEDIR"/BUILD -type d -name "*.svn"`
134
135################### SHRINK PYTHON FILES #########################
136
137"$HOMEDIR"/scripts/kf-pyshrink.sh ./ "$HOMEDIR"/BUILD "$PYTHONVER" "$SKIPPEDSHRINK"
138
139###
140cd $HOMEDIR
141echo make py var
142ls -R -1 "$HOMEDIR"/BUILD | grep "/" | sed 's/.$//' > tmp.txt
143LINE=`cat tmp.txt`
144for DIR in $LINE; do
145 cd $HOMEDIR
146 cd $DIR
147 echo "[make-ipk] dir $DIR"
148 ls -1 *.py > "$HOMEDIR"/pylist.tmp
149 PYLINE=`cat "$HOMEDIR"/pylist.tmp`
150 for RPY in $PYLINE; do
151 python2.6 -OO "$HOMEDIR"/scripts/mkpyc.py $RPY
152 PYO=`echo "$RPY" | sed "s/.py$/.pyo/"`
153 PYC=`echo "$RPY" | sed "s/.py$/.pyc/"`
154 mv $PYO $PYC
155 if [ $? -ne 0 ]; then
156 echo "[make-ipk] Fehler beim kompilieren $RPY"
157 fi
158 done
159done
160cd $HOMEDIR
161###
162rm "$HOMEDIR"/pylist.tmp
163rm -rf `find "$HOMEDIR"/BUILD -type f -name "*.py" -print`
164rm -rf `find "$HOMEDIR"/BUILD -type f -name "*.po" -print`
165
166rm -rf "$HOMEDIR"/preview
167mkdir "$HOMEDIR"/preview
168
169################### SHRINK PNG FILES #########################
170
171PNGFILES=`find "$HOMEDIR"/BUILD -type f -name "*.png" -print`
172
173for DIR in $PNGFILES; do
174 echo "[make-ipk] PNG: $DIR"
175 /usr/bin/advpng -4 -z $DIR #> /dev/null 2>&1
176done
177
178################### STRIPPED ALL FILES #########################
179
180FILEALL=`find "$HOMEDIR"/BUILD -name "*" -print`
181
182if ( test -f "$HOMEDIR"/scripts/sh4-linux-strip ); then
183 echo ""
184 echo "[make-ipk] Files strippen"
185 echo ""
186 for FILE in $FILEALL
187 do
188 echo $FILE | grep ".ko" >/dev/null 2>&1
189 if [ $? -eq 0 ]; then param="--strip-unneeded --remove-section=.comment"; else param="-s --remove-section=.comment"; fi
190 "$HOMEDIR"/scripts/sh4-linux-strip $param $FILE > /dev/null 2>&1
191 if [ $? -eq 0 ]; then
192 echo "[make-ipk] Strippe: $FILE"
193 fi
194 done
195else
196 echo ""
197 echo "[make-ipk] Files strippen konnte nicht durchgefuehrt werden, da sh4-linux-strip fehlt."
198fi
199
200
201for DIR in $LIST; do
202 echo "[make-ipk] $DIR"
203 NAME=`cat "$HOMEDIR"/BUILD/"$DIR"/CONTROL/control | grep Package: | tr " " "\n" | tr "-" "\n" | tail -n 1 | cut -d . -f1 | head -n1`
204# ARCH=`cat "$HOMEDIR"/BUILD/"$DIR"/CONTROL/control | grep Architecture: | tr " " "\n" | tail -n 1`
205# cp "$HOMEDIR"/BUILD/"$DIR"/preview/prev.png "$HOMEDIR"/preview/enigma2-pluginpreview-"$NAME"_"$ARCH".ipk.png
206 cp "$HOMEDIR"/BUILD/"$DIR"/preview/prev.png "$HOMEDIR"/preview/enigma2-pluginpreview-"$NAME".png
207 rm -r "$HOMEDIR"/BUILD/"$DIR"/preview
208done
209
210
211cd "$HOMEDIR"/BUILDRELEASE
212
213for DIR in $LIST; do
214 ipkg-build "$HOMEDIR"/BUILD/"$DIR"
215done
216
217date=`date`
218echo "[make-ipk] make-index"
219rm Packages*
220
221ipkg-make-index -l Packages.filelist -p Packages -v .
222
223echo "Here is the public AAF-Flash-PlugList" > PlugList
224echo "" >> PlugList
225cat Packages | grep Filename: | sed "s/Filename: enigma2-plugin-//" | sed "s/.ipk//" | sed "s/_sh4//" | sed "s/_/ V/" >> PlugList
226rm test.txt
227echo "" >> PlugList
228echo "mfg AAF-TEAM @ $date" >> PlugList
229echo "done"
230
231rm .tmp*
232rm tmprc
233
234cd "$HOMEDIR"
235tar czvf Packages.preview.tar.gz ./preview
236
237mv "$HOMEDIR"/Packages.preview.tar.gz "$HOMEDIR"/BUILDRELEASE
238
239cd "$HOMEDIR"/BUILDRELEASE
240
241PACKAGESLIST=`ls -1 Packages*`
242IPKLIST=`ls -1 *.ipk`
243
244if [ $GROUP = "update" ] && [ $MAKETYPE = "online" ];then
245 for ROUND in $PACKAGESLIST; do
246 wput -u "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/"$ROUND"
247 done
248 for ROUND in $IPKLIST; do
249 wput -u "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/"$ROUND"
250 done
251 wput "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/PlugList
252 wput "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/Packages.preview.tar.gz
253 cd boot
254 BOOTLIST=`ls -1`
255 for ROUND in $BOOTLIST; do
256 wput -u "$PUBLICRELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_RELEASE"/boot/"$ROUND"
257 done
258elif [ $GROUP = "dev" ] && [ $MAKETYPE = "online" ];then
259 BTIME=`date +"%Y.%m.%d_%H.%M.%S"`
260 echo quote USER $URLBETAUSER >"$HOMEDIR"/ftp.txt
261 echo quote PASS $URLBETAPASS >>"$HOMEDIR"/ftp.txt
262# echo cd "$WWWMAIN"/"$IPKGCROSS_BETA" >>"$HOMEDIR"/ftp.txt
263# echo cd "$WWWMAIN" >>"$HOMEDIR"//ftp.txt
264 echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages >>"$HOMEDIR"/ftp.txt
265 echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.filelist >>"$HOMEDIR"/ftp.txt
266 echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.gz >>"$HOMEDIR"/ftp.txt
267 echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/PlugList >>"$HOMEDIR"/ftp.txt
268 echo del "$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.preview.tar.gz >>"$HOMEDIR"/ftp.txt
269
270# echo rename aaf-flash-beta aaf-flash-beta_old_"$URLBETAUSER"_"$BTIME" >>"$HOMEDIR"/ftp.txt
271 echo quit >>"$HOMEDIR"/ftp.txt
272 ftp -n "$URLBETA" < "$HOMEDIR"/ftp.txt
273
274 sleep 5
275 for ROUND in $PACKAGESLIST; do
276 wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$ROUND"
277 done
278 for ROUND in $IPKLIST; do
279 wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/"$ROUND"
280 done
281 wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/PlugList
282 wput "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/Packages.preview.tar.gz
283
284 cd boot
285 BOOTLIST=`ls -1`
286 for ROUND in $BOOTLIST; do
287 wput -u "$BETARELEASEUPDATEURL"/"$WWWMAIN"/"$IPKGCROSS_BETA"/boot/"$ROUND"
288 done
289fi
290
291echo "[make-ipk] done"
292
293exit 0
Note: See TracBrowser for help on using the repository browser.