source: ipk/make-ipk@ 4405

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

[ipk] fix

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