wok diff slitaz-loram-cdrom/receipt @ rev 11997
New style loram
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Mar 04 16:35:24 2012 +0100 (2012-03-04) |
parents | fa0257184d3c |
children | f4c22f009037 |
line diff
1.1 --- a/slitaz-loram-cdrom/receipt Fri Mar 05 17:52:43 2010 +0100 1.2 +++ b/slitaz-loram-cdrom/receipt Sun Mar 04 16:35:24 2012 +0100 1.3 @@ -1,12 +1,12 @@ 1.4 # SliTaz package receipt. 1.5 1.6 PACKAGE="slitaz-loram-cdrom" 1.7 -VERSION="1.5" 1.8 +VERSION="2.0" 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 WEB_SITE="http://www.slitaz.org/" 1.13 -DEPENDS="slitaz-boot-scripts tazlito" 1.14 +DEPENDS="" 1.15 1.16 # Rules to gen a SliTaz package suitable for Tazpkg. 1.17 genpkg_rules() 1.18 @@ -14,192 +14,3 @@ 1.19 mkdir -p $fs/etc/tazlito 1.20 cp stuff/loram.* $fs/etc/tazlito 1.21 } 1.22 - 1.23 -set_patch() 1.24 -{ 1.25 - local tag 1.26 - local line 1.27 - local len 1.28 - local i 1.29 - tag="Handle kernel cmdline parameter config" 1.30 - i=$(grep -n "$tag" $1/etc/init.d/rcS | cut -d: -f1) 1.31 - i=$(($i-1)) 1.32 - len=88 1.33 - tag=$(grep "$tag" $1/etc/init.d/rcS) 1.34 - if [ "$2" = "-R" ]; then 1.35 - line="-$(($i-$len+2)),$len +$(($i-$len+2)),2" 1.36 - i="-" 1.37 - else 1.38 - grep -q 'from slitaz-loram-cdrom package' $1/etc/init.d/rcS && return 1.39 - line="-$i,2 +$i,$len" 1.40 - i="+" 1.41 - fi 1.42 - busybox patch -p0 <<EOF 1.43 ---- $1/etc/init.d/rcS 1.44 -+++ $1/etc/init.d/rcS 1.45 -@@ $line @@ 1.46 - 1.47 -$i# Try to release the cdrom (from slitaz-loram-cdrom package) 1.48 -$i release_cdrom() 1.49 -$i { 1.50 -$i FREEMEM=\$(free | awk '{ n = \$NF } END { print n }') 1.51 -$i if [ \$FREEMEM -gt \$(du -s \$FS | awk '{ print \$1+40000 }') ]; then 1.52 -$i if ! grep -q " keep-loram" /proc/cmdline && 1.53 -$i [ -d \$FS -o \$FREEMEM -gt \$(du -s \$FS | \\ 1.54 -$i awk '{ print (\$1*4)+40000 }') ]; then 1.55 -$i echo -n "Extracting loram..." 1.56 -$i . /etc/tazlito/loram.extract /cdrom 1.57 -$i if status; then 1.58 -$i umount /cdrom 1.59 -$i rmdir /cdrom 1.60 -$i yes y | tazpkg remove slitaz-loram-cdrom > /dev/null 1.61 -$i return 0 1.62 -$i fi 1.63 -$i fi 1.64 -$i cp -a \$FS /.usr.fs 1.65 -$i status 1.66 -$i echo -n "Releasing CD-ROM..." 1.67 -$i umount /cdrom 1.68 -$i FS=/.usr.fs 1.69 -$i if [ -d \$FS ]; then 1.70 -$i rm -f /\$usr 1.71 -$i mv \$FS /usr 1.72 -$i fi 1.73 -$i fi 1.74 -$i return 1 1.75 -$i } 1.76 -$i 1.77 -$i# Mount /usr (from slitaz-loram-cdrom package) 1.78 -$i if [ -d /cdrom ]; then 1.79 -$i DEVICE=/dev/cdrom 1.80 -$i DIR= 1.81 -$i if grep -q " loram=" /proc/cmdline; then 1.82 -$i DIR=\`cat /proc/cmdline | sed 's/.* loram=\([^ ]*\).*/\1/'\` 1.83 -$i DEVICE=\${DIR%,*} 1.84 -$i DIR=/\${DIR#*,} 1.85 -$i fi 1.86 -$i if ! /bin/mount -r \$DEVICE /cdrom; then 1.87 -$i if echo \$DEVICE | grep -Eq "/dev/sd|UUID=|LABEL="; then 1.88 -$i USBDELAY=\`cat /sys/module/usb_storage/parameters/delay_use\` 1.89 -$i USBDELAY=\$((1+\$USBDELAY)) 1.90 -$i echo "\$DEVICE is potentially a USB device: sleep for \$USBDELAY seconds" 1.91 -$i sleep \$USBDELAY 1.92 -$i fi 1.93 -$i if ! /bin/mount -r \$DEVICE /cdrom; then 1.94 -$i DEVICE="" 1.95 -$i fi 1.96 -$i fi 1.97 -$i while [ -n "\$DEVICE" ]; do 1.98 -$i if [ -d /.usr.rw ]; then 1.99 -$i echo -n "Mounting /usr read-write... " 1.100 -$i usr=.usr.ro 1.101 -$i else 1.102 -$i echo -n "Mounting /usr read-only... " 1.103 -$i usr=usr 1.104 -$i fi 1.105 -$i FS=/cdrom\$DIR/usr.cromfs 1.106 -$i if [ -f \$FS ]; then 1.107 -$i release_cdrom && break 1.108 -$i /bin/cromfs-driver \$FS /\$usr -o ro,dev,suid,allow_other 1.109 -$i elif [ -f /cdrom\$DIR/usr.sqfs ]; then 1.110 -$i FS=/cdrom\$DIR/usr.sqfs 1.111 -$i release_cdrom && break 1.112 -$i mount -o loop,ro -t squashfs \$FS /\$usr 1.113 -$i elif [ -L /\$usr ]; then 1.114 -$i FS=/cdrom\$DIR/usr 1.115 -$i release_cdrom && break 1.116 -$i true 1.117 -$i else 1.118 -$i umount /cdrom 1.119 -$i false 1.120 -$i fi 1.121 -$i status 1.122 -$i if [ -d /.usr.rw ]; then 1.123 -$i if [ -x /bin/funionfs ]; then 1.124 -$i /bin/funionfs -o dirs=/.usr.ro=RO:/.usr.rw -o allow_other -o suid,dev NONE /usr 1.125 -$i else 1.126 -$i /bin/mount -t aufs -o br:/.usr.rw:/.usr.ro none /usr 1.127 -$i fi 1.128 -$i fi 1.129 -$i break 1.130 -$i done 1.131 -$i fi 1.132 -$i 1.133 - $tag 1.134 -EOF 1.135 - tag="/var/log/dmesg.log" 1.136 - i=$(grep -n "$tag" $1/etc/init.d/rcS | cut -d: -f1) 1.137 - i=$(($i-1)) 1.138 - len=9 1.139 - tag=$(grep "$tag" $1/etc/init.d/rcS) 1.140 - if [ "$2" = "-R" ]; then 1.141 - line="-$(($i-$len+2)),$len +$(($i-$len+2)),2" 1.142 - i="-" 1.143 - else 1.144 - line="-$i,2 +$i,$len" 1.145 - i="+" 1.146 - fi 1.147 - busybox patch -p0 <<EOF 1.148 ---- $1/etc/init.d/rcS 1.149 -+++ $1/etc/init.d/rcS 1.150 -@@ $line @@ 1.151 - 1.152 -$i# Build ramdisk if root=/dev/cdrom (from slitaz-loram-cdrom package) 1.153 -$i if [ -L /root ]; then 1.154 -$i mount -t tmpfs ramdisk /tmp 1.155 -$i mkdir -p /tmp/log/lighttpd /tmp/run /tmp/lock 1.156 -$i chown www.www /tmp/log/lighttpd 1.157 -$i fi 1.158 -$i 1.159 - $tag 1.160 -EOF 1.161 - chmod 0755 $1/etc/init.d/rcS 1.162 -} 1.163 - 1.164 -# Pre and post install commands for Tazpkg. 1.165 -pre_install() 1.166 -{ 1.167 - local i 1.168 - for i in $(cd /var/lib/tazpkg/installed ; ls -d slitaz-loram* 2> /dev/null); do 1.169 - [ "$i" = "$PACKAGE" ] && continue 1.170 - yes y | tazpkg remove $i 1.171 - . /etc/tazlito/tazlito.conf 1.172 - rm -f $PACKAGES_REPOSITORY/slitaz-boot-scripts-*.tazpkg 2> /dev/null 1.173 - done 1.174 -} 1.175 - 1.176 -post_install() 1.177 -{ 1.178 - set_patch "$1" 1.179 - 1.180 - # Don't support FAST_BOOT_X yet 1.181 - sed -i 's/FAST_BOOT_X=.*/FAST_BOOT_X="no"/' $1/etc/rcS.conf 1.182 - 1.183 - cat <<EOF 1.184 ----- 1.185 -'tazlito gen-distro' will create a loram-cdrom flavor 1.186 -while this package is installed. 1.187 -EOF 1.188 - if [ ! -x $1/bin/funionfs -a ! -d $1/var/lib/tazpkg/installed/aufs-utils ]; then 1.189 - cat <<EOF 1.190 ----- 1.191 -You will build a live CD with /usr mounted read-only. 1.192 -You can install aufs or funionfs to have read-write access into /usr with: 1.193 - 1.194 -# tazpkg get-install aufs 1.195 -or 1.196 -# tazpkg get-install funionfs 1.197 - 1.198 -EOF 1.199 - fi 1.200 -} 1.201 - 1.202 -# Pre remove commands for Tazpkg. 1.203 -pre_remove() 1.204 -{ 1.205 - set_patch '' -R 1.206 - cat <<EOF 1.207 ----- 1.208 -'tazlito gen-distro' will work as expected now. 1.209 -EOF 1.210 -}