summaryrefslogtreecommitdiff
path: root/scripts
authorkergoth <kergoth>2003-04-26 15:25:19 (UTC)
committer kergoth <kergoth>2003-04-26 15:25:19 (UTC)
commitdd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf (patch) (unidiff)
tree667849b9c8bace1c558b4c9af668a5ab5a177ab9 /scripts
parent908a099ba19192dcb341959125efce6cf0df20f1 (diff)
downloadopie-dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf.zip
opie-dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf.tar.gz
opie-dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf.tar.bz2
Countless improvements to the ipk creation script
Diffstat (limited to 'scripts') (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/mkipkg104
1 files changed, 58 insertions, 46 deletions
diff --git a/scripts/mkipkg b/scripts/mkipkg
index 54651af..7877078 100755
--- a/scripts/mkipkg
+++ b/scripts/mkipkg
@@ -144,8 +144,9 @@ findFile()
144 if [ $# = 1 ]; then 144 if [ $# = 1 ]; then
145 find $1 -type f -o -type b -o -type c -o -type l -o -type d 145 find $1 -type f -o -type b -o -type c -o -type l
146 find $1 -type d -a -empty
146 else 147 else
147 find . -type f -o -type b -o -type c -o -type l -o -type d | \ 148 find . -type f -o -type b -o -type c -o -type l | \
148 sed -e "s,\./\(.*\),\\1,g" 149 sed -e "s,\./\(.*\),\\1,g"
150 find . -type d -a -empty
149 fi 151 fi
150
151} 152}
@@ -166,9 +167,5 @@ expandMaskToList()
166 if [ -d $f ]; then 167 if [ -d $f ]; then
167 find="`findFile $f`" 168 f="`findFile $f`"
168 if [ -z "$find" ]; then
169 find="$f"
170 fi
171 f="$f `findFile $f`"
172 fi 169 fi
173 _tmpFileList=$f" $_tmpFileList" 170 _tmpFileList="`eval echo $f` $_tmpFileList"
174 done 171 done
@@ -181,2 +178,5 @@ createFileList()
181 local includeMask 178 local includeMask
179 local includemaskpresent=0
180 local excludemaskpresent=0
181
182 if (cat $1|grep -q ^FileExcludeMask); then 182 if (cat $1|grep -q ^FileExcludeMask); then
@@ -195,21 +195,22 @@ createFileList()
195 195
196 excludeMask="$excludeMask CONTROL/* usr/share/* CVS/* SCCS/*" 196 _pushd $destdir
197
198 excludeMask="$excludeMask CONTROL/* usr/share/*"
197 199
198 if [ $includemaskpresent == 1 ]; then 200 if [ $includemaskpresent != 1 ]; then
199 if [ -z "$includeMask" ]; then 201 includeMask="."
200 setVar $2 "" 202 fi
201 return 0 203
202 fi 204 if [ -z "$includeMask" ]; then
203 _pushd $destdir 205 setVar $2 ""
204 expandMaskToList "$includeMask" _fileList 206 _popd
205 _popd 207 return 0
206 else
207 _fileList=`cd $destdir && findFile`
208 fi 208 fi
209 209
210 expandMaskToList "$includeMask" _fileList
211
210 _excludeList= 212 _excludeList=
211 if [ -n "$excludeMask" ]; then 213 if [ -n "$excludeMask" ]; then
212 _pushd $destdir
213 expandMaskToList "$excludeMask" _excludeList 214 expandMaskToList "$excludeMask" _excludeList
214 _popd 215 _excludeList="$_excludeList `find -name \*CVS\* -o -name \*SCCS\*`"
215 fi 216 fi
@@ -226,4 +227,4 @@ createFileList()
226 if [ $containedInList = 0 ]; then 227 if [ $containedInList = 0 ]; then
227 if [ ! -e $file ]; then 228 if ! [ -e $file -o -L $file ]; then
228# echo "$self: $file not found" 229 echo "$self: $file not found"
229 missing=1 230 missing=1
@@ -234,2 +235,4 @@ createFileList()
234 235
236 _popd
237
235 if [ $missing = 1 ]; then 238 if [ $missing = 1 ]; then
@@ -254,7 +257,10 @@ substFile()
254 257
255 if [ -e $oldfile ]; then 258 if [ -e $oldfile -o -L $oldfile ]; then
256 newfile=./`echo $1|sed -f $2|sed -e's,^/,,g'` 259 newfile=`echo $oldfile|sed -f $2|sed -e's,^/,,g'`
257 olddir=./`dirname $1` 260 olddir=`dirname $oldfile`
261 base=`basename $oldfile`
258 newdir=`dirname $newfile` 262 newdir=`dirname $newfile`
259 263
264# echo >&2 moving $oldfile to $newfile
265
260 if [ "$newdir" = "$olddir" ]; then 266 if [ "$newdir" = "$olddir" ]; then
@@ -264,3 +270,3 @@ substFile()
264 mkdir -p $newdir 270 mkdir -p $newdir
265 mv $1 $newfile 271 mv $olddir/$base $newfile
266 rmdir -p $olddir 2>/dev/null 272 rmdir -p $olddir 2>/dev/null
@@ -272,3 +278,3 @@ stripFiles()
272 for f in $1; do 278 for f in $1; do
273 stripFile $f 279 stripFile ./$f
274 done 280 done
@@ -279,3 +285,3 @@ substFiles()
279 for f in $1; do 285 for f in $1; do
280 substFile $f 286 substFile ./$f
281 done 287 done
@@ -286,4 +292,4 @@ substAndStripFiles()
286 for f in $1; do 292 for f in $1; do
287 stripFile $f 293 stripFile ./$f
288 substFile $f $2 294 substFile ./$f $2
289 done 295 done
@@ -295,2 +301,4 @@ installScript()
295 destfile=`basename $1` 301 destfile=`basename $1`
302 filetype=`echo $destfile|cut -d. -f2`
303 if [ -n "$filetype" ]; then destfile=$filetype; fi
296 if [ -n "$subst" ]; then 304 if [ -n "$subst" ]; then
@@ -311,3 +319,14 @@ fi
311 319
312cd $destdir; createFileList $control ipkgFileList 320ctrldir=$tempDir/CONTROL
321
322mkdir -p $ctrldir
323
324if [ ! -e $subst ] || [ -z "$subst" ]; then
325 cat $control > $ctrldir/control.new
326else
327 sed -f $subst < $control > $ctrldir/control.new
328fi
329
330createFileList $ctrldir/control.new ipkgFileList
331
313if [ "$?" != "0" ]; then 332if [ "$?" != "0" ]; then
@@ -317,4 +336,7 @@ fi
317 336
318( cd $destdir && tar cf - $ipkgFileList 2>/dev/null ) | \ 337
319( cd $tempDir && tar xf - 2>/dev/null ) 338cat $ctrldir/control.new | egrep -v '^(Files|FileExcludeMask|FileIncludeMask):' > $ctrldir/control
339rm -f $ctrldir/control.new
340
341( cd $destdir && tar -cf - $ipkgFileList 2>/dev/null ) | ( cd $tempDir && tar -xf - 2>/dev/null )
320 342
@@ -349,12 +371,2 @@ fi
349 371
350ctrldir=$tempDir/CONTROL
351
352mkdir -p $ctrldir
353
354if [ ! -e $subst ] || [ -z "$subst" ]; then
355 cat $control | egrep -v '^(FileIncludeMask|FileExcludeMask|Files):' > $ctrldir/control
356else
357 sed -f $subst < $control | egrep -v '^(FileIncludeMask|FileExcludeMask|Files):' > $ctrldir/control
358fi
359
360if [ "$buildsize" != "0" ]; then 372if [ "$buildsize" != "0" ]; then