wok diff slitaz-loram-cdrom/receipt @ rev 4099
slitaz-loram*: add extract-loram
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Sep 18 21:59:40 2009 +0200 (2009-09-18) |
parents | 560336a3b8d8 |
children | 179928518182 |
line diff
1.1 --- a/slitaz-loram-cdrom/receipt Tue Sep 15 22:47:44 2009 +0200 1.2 +++ b/slitaz-loram-cdrom/receipt Fri Sep 18 21:59:40 2009 +0200 1.3 @@ -1,7 +1,7 @@ 1.4 # SliTaz package receipt. 1.5 1.6 PACKAGE="slitaz-loram-cdrom" 1.7 -VERSION="1.4" 1.8 +VERSION="1.5" 1.9 CATEGORY="misc" 1.10 SHORT_DESC="Rules to build low ram system using cdrom." 1.11 MAINTAINER="pascal.bellard@slitaz.org" 1.12 @@ -19,17 +19,19 @@ 1.13 { 1.14 local tag 1.15 local line 1.16 + local len 1.17 local i 1.18 tag="Handle kernel cmdline parameter config" 1.19 i=$(grep -n "$tag" $1/etc/init.d/rcS | cut -d: -f1) 1.20 i=$(($i-1)) 1.21 + len=87 1.22 tag=$(grep "$tag" $1/etc/init.d/rcS) 1.23 if [ "$2" = "-R" ]; then 1.24 - line="-$(($i-72)),74 +$(($i-72)),2" 1.25 + line="-$(($i-$len+2)),$len +$(($i-$len+2)),2" 1.26 i="-" 1.27 else 1.28 grep -q 'from slitaz-loram-cdrom package' $1/etc/init.d/rcS && return 1.29 - line="-$i,2 +$i,74" 1.30 + line="-$i,2 +$i,$len" 1.31 i="+" 1.32 fi 1.33 patch -p0 <<EOF 1.34 @@ -42,12 +44,27 @@ 1.35 $i { 1.36 $i FREEMEM=\$(busybox free | busybox awk '{ n = \$NF } END { print n }') 1.37 $i if [ \$FREEMEM -gt \$(busybox du -s \$FS | busybox awk '{ print \$1+40000 }') ]; then 1.38 +$i if grep -q " extract-loram" /proc/cmdline && 1.39 +$i [ -d \$FS -o \$FREEMEM -gt \$(busybox du -s \$FS | \\ 1.40 +$i busybox awk '{ print (\$1*4)+40000 }') ]; then 1.41 +$i echo -n "Extracting loram..." 1.42 +$i . /etc/tazlito/loram.extract /cdrom 1.43 +$i if status; then 1.44 +$i umount /cdrom 1.45 +$i rmdir /cdrom 1.46 +$i yes y | tazpkg remove slitaz-loram-cdrom > /dev/null 1.47 +$i return 0 1.48 +$i fi 1.49 +$i fi 1.50 $i cp -a \$FS /.usr.fs 1.51 $i status 1.52 $i echo -n "Releasing CD-ROM..." 1.53 $i umount /cdrom 1.54 $i FS=/.usr.fs 1.55 -$i return 0 1.56 +$i if [ -d \$FS ]; then 1.57 +$i rm -f /\$usr 1.58 +$i mv \$FS /usr 1.59 +$i fi 1.60 $i fi 1.61 $i return 1 1.62 $i } 1.63 @@ -72,7 +89,7 @@ 1.64 $i DEVICE="" 1.65 $i fi 1.66 $i fi 1.67 -$i if [ -n "\$DEVICE" ]; then 1.68 +$i while [ -n "\$DEVICE" ]; do 1.69 $i if [ -d /.usr.rw ]; then 1.70 $i echo -n "Mounting /usr read-write... " 1.71 $i usr=.usr.ro 1.72 @@ -82,18 +99,15 @@ 1.73 $i fi 1.74 $i FS=/cdrom\$DIR/usr.cromfs 1.75 $i if [ -f \$FS ]; then 1.76 -$i release_cdrom 1.77 +$i release_cdrom && break 1.78 $i /bin/cromfs-driver \$FS /\$usr -o ro,dev,suid,allow_other 1.79 $i elif [ -f /cdrom\$DIR/usr.sqfs ]; then 1.80 $i FS=/cdrom\$DIR/usr.sqfs 1.81 -$i release_cdrom 1.82 +$i release_cdrom && break 1.83 $i mount -o loop,ro -t squashfs \$FS /\$usr 1.84 $i elif [ -L /\$usr ]; then 1.85 $i FS=/cdrom\$DIR/usr 1.86 -$i if release_cdrom; then 1.87 -$i rm -f /\$usr 1.88 -$i mv \$FS /usr 1.89 -$i fi 1.90 +$i release_cdrom && break 1.91 $i else 1.92 $i umount /cdrom 1.93 $i false 1.94 @@ -106,7 +120,8 @@ 1.95 $i /bin/mount -t aufs -o br:/.usr.rw:/.usr.ro none /usr 1.96 $i fi 1.97 $i fi 1.98 -$i fi 1.99 +$i break 1.100 +$i done 1.101 $i fi 1.102 $i 1.103 $tag 1.104 @@ -114,12 +129,13 @@ 1.105 tag="/var/log/dmesg.log" 1.106 i=$(grep -n "$tag" $1/etc/init.d/rcS | cut -d: -f1) 1.107 i=$(($i-1)) 1.108 + len=9 1.109 tag=$(grep "$tag" $1/etc/init.d/rcS) 1.110 if [ "$2" = "-R" ]; then 1.111 - line="-$(($i-7)),9 +$(($i-7)),2" 1.112 + line="-$(($i-$len+2)),$len +$(($i-$len+2)),2" 1.113 i="-" 1.114 else 1.115 - line="-$i,2 +$i,9" 1.116 + line="-$i,2 +$i,$len" 1.117 i="+" 1.118 fi 1.119 patch -p0 <<EOF