summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/mkipkg3
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/mkipkg b/scripts/mkipkg
index 9c5e184..43bd3a3 100755
--- a/scripts/mkipkg
+++ b/scripts/mkipkg
@@ -290,96 +290,99 @@ substFiles()
290substAndStripFiles() 290substAndStripFiles()
291{ 291{
292 for f in $1; do 292 for f in $1; do
293 stripFile ./$f 293 stripFile ./$f
294 substFile ./$f $2 294 substFile ./$f $2
295 done 295 done
296} 296}
297 297
298installScript() 298installScript()
299{ 299{
300 if [ -n "$1" -a -f "$1" ]; then 300 if [ -n "$1" -a -f "$1" ]; then
301 destfile=`basename $1` 301 destfile=`basename $1`
302 filetype=`echo $destfile|cut -d. -f2` 302 filetype=`echo $destfile|cut -d. -f2`
303 if [ -n "$filetype" ]; then destfile=$filetype; fi 303 if [ -n "$filetype" ]; then destfile=$filetype; fi
304 if [ -n "$subst" ]; then 304 if [ -n "$subst" ]; then
305 sed -f $subst < $1 > $ctrldir/$destfile 305 sed -f $subst < $1 > $ctrldir/$destfile
306 else 306 else
307 cat $1 > $ctrldir/$destfile 307 cat $1 > $ctrldir/$destfile
308 fi 308 fi
309 chmod +x $ctrldir/$destfile 309 chmod +x $ctrldir/$destfile
310 fi 310 fi
311} 311}
312 312
313tempDir=/tmp/`basename $self`.$$ 313tempDir=/tmp/`basename $self`.$$
314mkdir -p $tempDir 314mkdir -p $tempDir
315if [ $? != 0 ]; then 315if [ $? != 0 ]; then
316 echo "$self: cannot create $tempDir, exiting..." 316 echo "$self: cannot create $tempDir, exiting..."
317 rm -rf $tempDir 317 rm -rf $tempDir
318 exit 1 318 exit 1
319fi 319fi
320 320
321ctrldir=$tempDir/CONTROL 321ctrldir=$tempDir/CONTROL
322 322
323mkdir -p $ctrldir 323mkdir -p $ctrldir
324 324
325if [ ! -e $subst ] || [ -z "$subst" ]; then 325if [ ! -e $subst ] || [ -z "$subst" ]; then
326 cat $control > $ctrldir/control.new 326 cat $control > $ctrldir/control.new
327else 327else
328 sed -f $subst < $control > $ctrldir/control.new 328 sed -f $subst < $control > $ctrldir/control.new
329fi 329fi
330 330
331createFileList $ctrldir/control.new ipkgFileList 331createFileList $ctrldir/control.new ipkgFileList
332 332
333if [ "$?" != "0" ]; then 333if [ "$?" != "0" ]; then
334 echo "$self: ERROR: missing files, not building $control" 334 echo "$self: ERROR: missing files, not building $control"
335 rm -rf $tempDir 335 rm -rf $tempDir
336 exit 1 336 exit 1
337fi 337fi
338 338
339 339
340cat $ctrldir/control.new | egrep -v '^(Files|FileExcludeMask|FileIncludeMask):' > $ctrldir/control 340cat $ctrldir/control.new | egrep -v '^(Files|FileExcludeMask|FileIncludeMask):' > $ctrldir/control
341rm -f $ctrldir/control.new 341rm -f $ctrldir/control.new
342 342
343( cd $destdir && tar -cf - $ipkgFileList 2>/dev/null ) | ( cd $tempDir && tar -xf - 2>/dev/null ) 343( cd $destdir && tar -cf - $ipkgFileList 2>/dev/null ) | ( cd $tempDir && tar -xf - 2>/dev/null )
344 344
345if [ -z "$filesubst" ]; then 345if [ -z "$filesubst" ]; then
346 ( cd $tempDir && stripFiles "$ipkgFileList" ) 346 ( cd $tempDir && stripFiles "$ipkgFileList" )
347else 347else
348 if ! (echo $filesubst|grep -q '^/'); then 348 if ! (echo $filesubst|grep -q '^/'); then
349 filesubst="$oldpwd/$filesubst" 349 filesubst="$oldpwd/$filesubst"
350 fi 350 fi
351 ( cd $tempDir && substAndStripFiles "$ipkgFileList" $filesubst ) 351 ( cd $tempDir && substAndStripFiles "$ipkgFileList" $filesubst )
352fi 352fi
353 353
354# removing CVS directories
355find $tempDir -name CVS -a -type d -print0 | xargs -0 rm -rf
356
354path="`echo "$PATH" | sed -e "s/\:/ /g"`" 357path="`echo "$PATH" | sed -e "s/\:/ /g"`"
355if [ -z "$mkfsjffs2" ]; then 358if [ -z "$mkfsjffs2" ]; then
356 for i in $path; do 359 for i in $path; do
357 if [ -x "$i/mkfs.jffs2" ]; then 360 if [ -x "$i/mkfs.jffs2" ]; then
358 mkfsjffs2="$i/mkfs.jffs2" 361 mkfsjffs2="$i/mkfs.jffs2"
359 break 362 break
360 fi 363 fi
361 done 364 done
362fi 365fi
363 366
364if [ -z "$mkfsjffs2" ]; then 367if [ -z "$mkfsjffs2" ]; then
365 echo "$self: WARNING: no mkjfs.jffs2 found in path. Falling back to using du" 368 echo "$self: WARNING: no mkjfs.jffs2 found in path. Falling back to using du"
366 echo "for size calculation. mkfs.jffs2 is recommended for size calculation" 369 echo "for size calculation. mkfs.jffs2 is recommended for size calculation"
367 echo "as it calculates the real package size on the compressed file system," 370 echo "as it calculates the real package size on the compressed file system,"
368 echo "in contrast to du calculating the uncompressed size!" 371 echo "in contrast to du calculating the uncompressed size!"
369 buildsize=`du -h -s $tempDir | awk '{print $1}'` 372 buildsize=`du -h -s $tempDir | awk '{print $1}'`
370else 373else
371 buildsize=`$mkfsjffs2 -r $tempDir | wc -c` 374 buildsize=`$mkfsjffs2 -r $tempDir | wc -c`
372fi 375fi
373 376
374if [ "$buildsize" != "0" ]; then 377if [ "$buildsize" != "0" ]; then
375 echo "Installed-Size: $buildsize" >> $ctrldir/control 378 echo "Installed-Size: $buildsize" >> $ctrldir/control
376fi 379fi
377 380
378installScript $preinst 381installScript $preinst
379installScript $postinst 382installScript $postinst
380installScript $prerm 383installScript $prerm
381installScript $posrm 384installScript $posrm
382 385
383$ipkgbuild $classic -o $user -g $group $tempDir 386$ipkgbuild $classic -o $user -g $group $tempDir
384 387
385rm -rf $tempDir 388rm -rf $tempDir