wok-current diff syslinux/stuff/iso2exe/taziso @ rev 18670

taziso, iso2exe.sh: add custom config support ; awstat-hotspot, awesome, avant-window-navigator: update pre/post_install
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Dec 04 21:23:22 2015 +0100 (2015-12-04)
parents 8031c3523ad8
children 28bf6d31c5b9
line diff
     1.1 --- a/syslinux/stuff/iso2exe/taziso	Fri Dec 04 13:21:56 2015 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/taziso	Fri Dec 04 21:23:22 2015 +0100
     1.3 @@ -11,8 +11,8 @@
     1.4  
     1.5  get()
     1.6  {
     1.7 -	od -v -j $1 -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An $2 2>/dev/null ||
     1.8 -	hexdump -v -s $1 -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" $2
     1.9 +	od -v -j $1 -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An "$2" 2>/dev/null ||
    1.10 +	hexdump -v -s $1 -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" "$2"
    1.11  }
    1.12  
    1.13  bytes2bin()
    1.14 @@ -32,14 +32,14 @@
    1.15  gettazboot()
    1.16  {
    1.17  	echo "Creating $(basename $1) ..."
    1.18 -	O=$(($(get 64 $ISO) - 0xC0))
    1.19 -	L=$(($(get 20 $ISO) - 0xC0 - $(get 24 $ISO) - $O))
    1.20 +	O=$(($(get 64 "$ISO") - 0xC0))
    1.21 +	L=$(($(get 20 "$ISO") - 0xC0 - $(get 24 "$ISO") - $O))
    1.22  	S=$((32+$L))
    1.23  	P=$((($S+511)/512))
    1.24  	E=$((4096-(32*$P)))
    1.25  	words2bin 0x5A4D $(($S%512)) $P 0 2 $E -1 $((${2:-0}-16)) \
    1.26  			-2 0 256 -16 28 0x6C53 0x5469 0x7A61 > $1
    1.27 -	ddq bs=1 count=$L skip=$(echo $O) if=$ISO >> $1
    1.28 +	ddq bs=1 count=$L skip=$(echo $O) if="$ISO" >> $1
    1.29  }
    1.30  
    1.31  uncpio()
    1.32 @@ -461,10 +461,10 @@
    1.33  and http://xpt.sourceforge.net/techdocs/nix/disk/boot/boot07-GrubForDosInfo/ar01s03.html
    1.34  EOT
    1.35  	( cd $mnt ; echo 'See \slitaz\boot\install.txt to launch SliTaz.' | \
    1.36 -	  zip -zr9 $(basename $ISO .iso).zip slitaz )
    1.37 +	  zip -zr9 $(basename "$ISO" .iso).zip slitaz )
    1.38  	[ "$(which advzip)" ] && advzip -z4 $mnt/*.zip
    1.39  	mv $mnt/*.zip .
    1.40 -	ls -l $PWD/$(basename $ISO .iso).zip
    1.41 +	ls -l $PWD/$(basename "$ISO" .iso).zip
    1.42  	umount $mnt
    1.43  	rm -rf $mnt
    1.44  }
    1.45 @@ -802,22 +802,22 @@
    1.46  
    1.47  ishybrid()
    1.48  {
    1.49 -	[ $(get 510 $ISO) -eq 43605 ] || return
    1.50 -	C=$((2048*$(get $(((17*2048) + 71)) $ISO 4)))
    1.51 -	[ $(get $C $ISO 4) -eq 1 ] || return
    1.52 -	[ $(get $(($C+30)) $ISO 4) -eq $((0x88AA55)) ] || return
    1.53 -	C=$((2048*$(get $(($C+40)) $ISO 4)))
    1.54 -	[ $(get $(($C+64)) $ISO 4) -eq 1886961915 ] && menuitem "$@"
    1.55 +	[ $(get 510 "$ISO") -eq 43605 ] || return
    1.56 +	C=$((2048*$(get $(((17*2048) + 71)) "$ISO" 4)))
    1.57 +	[ $(get $C "$ISO" 4) -eq 1 ] || return
    1.58 +	[ $(get $(($C+30)) "$ISO" 4) -eq $((0x88AA55)) ] || return
    1.59 +	C=$((2048*$(get $(($C+40)) "$ISO" 4)))
    1.60 +	[ $(get $(($C+64)) "$ISO" 4) -eq 1886961915 ] && menuitem "$@"
    1.61  }
    1.62  
    1.63  isiso()
    1.64  {
    1.65 -	[ $(get 32769 $ISO 4) -eq 808469571 ] && menuitem "$@"
    1.66 +	[ $(get 32769 "$ISO" 4) -eq 808469571 ] && menuitem "$@"
    1.67  }
    1.68  
    1.69  hastazboot()
    1.70  {
    1.71 -	[ $(get 0 $ISO) -eq 23117 ] && menuitem "$@"
    1.72 +	[ $(get 0 "$ISO") -eq 23117 ] && menuitem "$@"
    1.73  }
    1.74  
    1.75  burnable()
    1.76 @@ -844,24 +844,40 @@
    1.77  gotisomd5()
    1.78  {
    1.79  	[ "$(which md5sum 2> /dev/null)" ] &&
    1.80 -	[ $(get 0 $ISO) -eq 23117 ] &&
    1.81 -	[ $(get 18 $ISO) -ne 0 ] && menuitem "$@"
    1.82 +	[ $(get 0 "$ISO") -eq 23117 ] &&
    1.83 +	[ $(get 18 "$ISO") -ne 0 ] && menuitem "$@"
    1.84  }
    1.85  
    1.86  isomd5()
    1.87  {
    1.88  	dotwait "Checking iso image"
    1.89 -	[ "$(ddq if=$ISO bs=2k skip=16 \
    1.90 -	     count=$(echo $(get 32848 $ISO 4)) | md5sum)" == \
    1.91 -	  "$(ddq if=$ISO bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \
    1.92 +	[ "$(ddq if="$ISO" bs=2k skip=16 \
    1.93 +	     count=$(echo $(get 32848 "$ISO" 4)) | md5sum)" == \
    1.94 +	  "$(ddq if="$ISO" bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \
    1.95  	     sed 's/ //g')  -" ] && echo "OK" || echo "ERROR"
    1.96  	echo -en "\rChecking iso hybrid boot..."
    1.97 -	n=$(($(get 2 $ISO)-1+($(get 4 $ISO)-1)*512))
    1.98 +	n=$(($(get 2 "$IS"O)-1+($(get 4 "$ISO")-1)*512))
    1.99  	if [ $n -lt 40000 -a $n -gt 32768 ]; then
   1.100 -		s=$(get 0 $ISO 2 $n | awk '{ i+= $0 } END { print i }')
   1.101 -		[ $(((1+$s+$(get $(($n+1)) $ISO 1)) % 65536)) -eq 0 ] &&
   1.102 +		s=$(get 0 "$ISO" 2 $n | awk '{ i+= $0 } END { print i }')
   1.103 +		[ $(((1+$s+$(get $(($n+1)) "$ISO" 1)) % 65536)) -eq 0 ] &&
   1.104  		echo "OK" || echo "ERROR"
   1.105  	fi
   1.106 +	n=$(($(get 32848 "$ISO" 4)+16))
   1.107 +	if [ "$(ddq bs=2k skip=$n if="$ISO" | ddq bs=1 count=6)" == "#!boot" ]; then
   1.108 +		echo -en "\rChecking iso custum boot..."
   1.109 +		md5="$(ddq bs=2k skip=$n if="$ISO" | while read line; do
   1.110 +			case "$line" in
   1.111 +			\#!boot*) echo ${line#*boot } > /tmp/$0$$md5 ;;
   1.112 +			append=*) echo $line ;;
   1.113 +			initrd:*) echo $line
   1.114 +				  ddq bs=1 count=${line#initrd:}
   1.115 +				  break ;;
   1.116 +			*)	  break ;;	  
   1.117 +			esac
   1.118 +		done | md5sum | cut -c1-32)"
   1.119 +		[ "$md5" == "$(cat /tmp/$0$$md5)" ] && echo "OK" || echo "ERROR"
   1.120 +		rm -f /tmp/$0$$md5
   1.121 +	fi
   1.122  	rm -f /tmp/wait
   1.123  	[ "$1" ] && return 0
   1.124  	echo -e "\rPress RETURN to continue."
   1.125 @@ -923,8 +939,8 @@
   1.126  		usbdev || return
   1.127  	
   1.128  		# perform dd in progress bar
   1.129 -		max=$(($(stat -c %s $ISO)/2048))
   1.130 -		i=0; ddq if=$ISO bs=1024k | ( 
   1.131 +		max=$(($(stat -c %s "$ISO")/2048))
   1.132 +		i=0; ddq if="$ISO" bs=1024k | ( 
   1.133  		while ddq bs=1024k count=1 ; do 
   1.134  			i=$(($i + 1))
   1.135  			[ $i -gt $max ] && break
   1.136 @@ -994,7 +1010,7 @@
   1.137  	exec 3>&-
   1.138  	[ $retval -eq 0 ] || return
   1.139  	[ "$format" != "none" ] && tazusb format $device "SliTaz" $format
   1.140 -	tazusb gen-iso2usb $ISO $device
   1.141 +	tazusb gen-iso2usb "$ISO" $device
   1.142  }
   1.143  
   1.144  dokexec()
   1.145 @@ -1015,8 +1031,8 @@
   1.146  
   1.147  flavdata()
   1.148  {
   1.149 -	[ $(get 1024 $ISO) -eq 35615 ] && n=2 || n=$((1+$(get 417 $ISO 1)))
   1.150 -	dd if=$ISO bs=512 skip=$n count=20 2>/dev/null | zcat 2>/dev/null
   1.151 +	[ $(get 1024 "$ISO") -eq 35615 ] && n=2 || n=$((1+$(get 417 "$ISO" 1)))
   1.152 +	dd if="$ISO" bs=512 skip=$n count=20 2>/dev/null | zcat 2>/dev/null
   1.153  }
   1.154  
   1.155  hasflavinfo()
   1.156 @@ -1053,7 +1069,7 @@
   1.157  {
   1.158  	name="$(flavdata | cpio -t 2> /dev/null | sed 's/.[a-z]*$//;q')"
   1.159  	echo "Create ${name:=flavor}.flavor..."
   1.160 -	tazlito iso2flavor $ISO $name
   1.161 +	tazlito iso2flavor "$ISO" $name
   1.162  	ls -l $name.flavor
   1.163  }
   1.164  
   1.165 @@ -1222,15 +1238,15 @@
   1.166  
   1.167  isotitle()
   1.168  {
   1.169 -	echo "$(basename $ISO)  $(stat -c %y $media/.|sed 's/ .*//')  $(blkid \
   1.170 -		$ISO | sed 's/.*LABEL="\([^"]*\).*/\1/')"
   1.171 +	echo "$(basename "$ISO")  $(stat -c %y $media/.|sed 's/ .*//')  $(blkid \
   1.172 +		"$ISO" | sed 's/.*LABEL="\([^"]*\).*/\1/')"
   1.173  }
   1.174  
   1.175  ISO="${1:-/dev/null}"
   1.176  [ -z "$(isiso 2> /dev/null)" ] && echo "Usage : $0 file.iso" && exit 1
   1.177  media=/tmp/media$$
   1.178  mkdir -p $media
   1.179 -mount -o loop,ro $ISO $media
   1.180 +mount -o loop,ro "$ISO" $media
   1.181  
   1.182  if [ "$2" == "list" ]; then
   1.183  	sed '/^\$(.*") \\/!d;s/^\$(\(.*\)").*/\1"/' $0 | while read line; do