author | kergoth <kergoth> | 2003-04-26 15:25:19 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-04-26 15:25:19 (UTC) |
commit | dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf (patch) (unidiff) | |
tree | 667849b9c8bace1c558b4c9af668a5ab5a177ab9 | |
parent | 908a099ba19192dcb341959125efce6cf0df20f1 (diff) | |
download | opie-dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf.zip opie-dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf.tar.gz opie-dd4f6b36681a28f785cf0923b0f9fc58ebe9a3bf.tar.bz2 |
Countless improvements to the ipk creation script
-rwxr-xr-x | scripts/mkipkg | 104 |
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 | ||
312 | cd $destdir; createFileList $control ipkgFileList | 320 | ctrldir=$tempDir/CONTROL |
321 | |||
322 | mkdir -p $ctrldir | ||
323 | |||
324 | if [ ! -e $subst ] || [ -z "$subst" ]; then | ||
325 | cat $control > $ctrldir/control.new | ||
326 | else | ||
327 | sed -f $subst < $control > $ctrldir/control.new | ||
328 | fi | ||
329 | |||
330 | createFileList $ctrldir/control.new ipkgFileList | ||
331 | |||
313 | if [ "$?" != "0" ]; then | 332 | if [ "$?" != "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 ) | 338 | cat $ctrldir/control.new | egrep -v '^(Files|FileExcludeMask|FileIncludeMask):' > $ctrldir/control |
339 | rm -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 | ||
350 | ctrldir=$tempDir/CONTROL | ||
351 | |||
352 | mkdir -p $ctrldir | ||
353 | |||
354 | if [ ! -e $subst ] || [ -z "$subst" ]; then | ||
355 | cat $control | egrep -v '^(FileIncludeMask|FileExcludeMask|Files):' > $ctrldir/control | ||
356 | else | ||
357 | sed -f $subst < $control | egrep -v '^(FileIncludeMask|FileExcludeMask|Files):' > $ctrldir/control | ||
358 | fi | ||
359 | |||
360 | if [ "$buildsize" != "0" ]; then | 372 | if [ "$buildsize" != "0" ]; then |