# HG changeset patch # User Pascal Bellard # Date 1449260602 -3600 # Node ID 0606c4356e47f0d9204ef2a38ab5cff597634ce3 # Parent e56b92028f724bc6bc1ad92928b59283ee104579 taziso, iso2exe.sh: add custom config support ; awstat-hotspot, awesome, avant-window-navigator: update pre/post_install diff -r e56b92028f72 -r 0606c4356e47 avant-window-navigator/receipt --- a/avant-window-navigator/receipt Fri Dec 04 21:09:27 2015 +0100 +++ b/avant-window-navigator/receipt Fri Dec 04 21:23:22 2015 +0100 @@ -68,7 +68,6 @@ post_install() { # ln missing icons - # FIXME - ln -sf $1/usr/share/icons/SliTaz/16x16/actions/go-up.png $1/usr/share/icons/SliTaz/16x16/actions/gtk-sort-ascending.png - ln -sf $1/usr/share/icons/SliTaz/16x16/actions/go-down.png $1/usr/share/icons/SliTaz/16x16/actions/gtk-sort-descending.png + ln -sf go-up.png $1/usr/share/icons/SliTaz/16x16/actions/gtk-sort-ascending.png + ln -sf go-down.png $1/usr/share/icons/SliTaz/16x16/actions/gtk-sort-descending.png } diff -r e56b92028f72 -r 0606c4356e47 awesome/receipt --- a/awesome/receipt Fri Dec 04 21:09:27 2015 +0100 +++ b/awesome/receipt Fri Dec 04 21:23:22 2015 +0100 @@ -48,7 +48,7 @@ post_install() { - res=$(cat $1/etc/slim.conf | grep ^session | sed s/"sessions. *"//) + res=$(cat "$1/etc/slim.conf" | grep ^session | sed s/"sessions. *"//) # Adding WM to SLIM available sessions. if ! echo "$res" | grep -q $PACKAGE; then sed -i "s/^sessions.*/sessions ${res},$PACKAGE/" "$1/etc/slim.conf" diff -r e56b92028f72 -r 0606c4356e47 awstats-hotspot/receipt --- a/awstats-hotspot/receipt Fri Dec 04 21:09:27 2015 +0100 +++ b/awstats-hotspot/receipt Fri Dec 04 21:23:22 2015 +0100 @@ -24,6 +24,7 @@ post_remove() { - # FIXME root - grep -l loghotspot.sh /etc/awstats/*.conf | xargs rm -f + cd "$1/" + grep -l loghotspot.sh etc/awstats/*.conf | xargs rm -f + cd - > /dev/null } diff -r e56b92028f72 -r 0606c4356e47 syslinux/stuff/iso2exe/iso2exe.sh --- a/syslinux/stuff/iso2exe/iso2exe.sh Fri Dec 04 21:09:27 2015 +0100 +++ b/syslinux/stuff/iso2exe/iso2exe.sh Fri Dec 04 21:23:22 2015 +0100 @@ -124,6 +124,30 @@ store 26 $(($SIZE/512)) $1 8 fi } + +custom_config_sector() +{ + echo $(($(get 32848 "$1" 4)+16)) +} + +extract_custom_config() +{ + ISO="$1" + header= + ddq bs=2k skip=$(custom_config_sector "$ISO") if="$ISO" | \ + while read line; do + case "$line" in + \#!boot*) header=1 ;; + append=*) [ "$header" ] && + echo "${line#append=}" > "$ISO.append" && + ls -l "$ISO.append" ;; + initrd:*) [ "$header" ] && + ddq bs=1 count=${line#initrd:} > "$ISO.initrd" && + ls -l "$ISO.initrd" ;; + esac + [ "$header" ] || break + done +} case "$1" in --build) shift @@ -259,15 +283,26 @@ main() { [ $(id -u) -ne 0 ] && exec su -c "$0 $@" < /dev/tty - case "${1/--/-}" in - -get) shift - uudecode | unlzma | tar xOf - $@ - exit ;; - *) cat > /dev/null - esac + append= + initrd= + while [ "$1" ]; do + case "${1/--/-}" in + -get) shift + uudecode | unlzma | tar xOf - $@ + exit ;; + -a*) append="$2" ; shift 2 ;; + -i*) initrd="$2" ; shift 2 ;; + -e*) extract_custom_config "$2" + exit ;; + *) cat > /dev/null + break + esac + done - [ ! -s "$1" ] && - echo "usage: $0 image.iso [--undo|\"DOS help message\"]" 1>&2 && exit 1 + [ ! -s "$1" ] && cat 1>&2 < /dev/null + isosz=$(stat -c %s $ISO) + [ "$append" ] && echo "append=$append" >> $DATA + [ -s "$initrd" ] && echo "initrd:$(stat -c %s $initrd)" >> $DATA && + cat $initrd >> $DATA + echo "#!boot $(md5sum $DATA | sed 's/ .*//')" | cat - $DATA | \ + ddq bs=2k seek=$(custom_config_sector $ISO) of=$ISO conv=notrunc + if [ $(stat -c %s $ISO) -gt $isosz ]; then + echo "$(($isosz - $(stat -c %s $ISO))) extra bytes." + else + echo "$(($isosz - 32768 - 2048*$(get 32848 $ISO 4) + - $(stat -c %s $DATA) - 24)) bytes free." + fi + rm -f $DATA > /dev/null + fi } main $@ </dev/null || - hexdump -v -s $1 -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" $2 + od -v -j $1 -N ${4:-${3:-2}} -t u${3:-2} -w${3:-2} -An "$2" 2>/dev/null || + hexdump -v -s $1 -n ${4:-${3:-2}} -e "\"\" 1/${3:-2} \" %d\n\"" "$2" } bytes2bin() @@ -32,14 +32,14 @@ gettazboot() { echo "Creating $(basename $1) ..." - O=$(($(get 64 $ISO) - 0xC0)) - L=$(($(get 20 $ISO) - 0xC0 - $(get 24 $ISO) - $O)) + O=$(($(get 64 "$ISO") - 0xC0)) + L=$(($(get 20 "$ISO") - 0xC0 - $(get 24 "$ISO") - $O)) S=$((32+$L)) P=$((($S+511)/512)) E=$((4096-(32*$P))) words2bin 0x5A4D $(($S%512)) $P 0 2 $E -1 $((${2:-0}-16)) \ -2 0 256 -16 28 0x6C53 0x5469 0x7A61 > $1 - ddq bs=1 count=$L skip=$(echo $O) if=$ISO >> $1 + ddq bs=1 count=$L skip=$(echo $O) if="$ISO" >> $1 } uncpio() @@ -461,10 +461,10 @@ and http://xpt.sourceforge.net/techdocs/nix/disk/boot/boot07-GrubForDosInfo/ar01s03.html EOT ( cd $mnt ; echo 'See \slitaz\boot\install.txt to launch SliTaz.' | \ - zip -zr9 $(basename $ISO .iso).zip slitaz ) + zip -zr9 $(basename "$ISO" .iso).zip slitaz ) [ "$(which advzip)" ] && advzip -z4 $mnt/*.zip mv $mnt/*.zip . - ls -l $PWD/$(basename $ISO .iso).zip + ls -l $PWD/$(basename "$ISO" .iso).zip umount $mnt rm -rf $mnt } @@ -802,22 +802,22 @@ ishybrid() { - [ $(get 510 $ISO) -eq 43605 ] || return - C=$((2048*$(get $(((17*2048) + 71)) $ISO 4))) - [ $(get $C $ISO 4) -eq 1 ] || return - [ $(get $(($C+30)) $ISO 4) -eq $((0x88AA55)) ] || return - C=$((2048*$(get $(($C+40)) $ISO 4))) - [ $(get $(($C+64)) $ISO 4) -eq 1886961915 ] && menuitem "$@" + [ $(get 510 "$ISO") -eq 43605 ] || return + C=$((2048*$(get $(((17*2048) + 71)) "$ISO" 4))) + [ $(get $C "$ISO" 4) -eq 1 ] || return + [ $(get $(($C+30)) "$ISO" 4) -eq $((0x88AA55)) ] || return + C=$((2048*$(get $(($C+40)) "$ISO" 4))) + [ $(get $(($C+64)) "$ISO" 4) -eq 1886961915 ] && menuitem "$@" } isiso() { - [ $(get 32769 $ISO 4) -eq 808469571 ] && menuitem "$@" + [ $(get 32769 "$ISO" 4) -eq 808469571 ] && menuitem "$@" } hastazboot() { - [ $(get 0 $ISO) -eq 23117 ] && menuitem "$@" + [ $(get 0 "$ISO") -eq 23117 ] && menuitem "$@" } burnable() @@ -844,24 +844,40 @@ gotisomd5() { [ "$(which md5sum 2> /dev/null)" ] && - [ $(get 0 $ISO) -eq 23117 ] && - [ $(get 18 $ISO) -ne 0 ] && menuitem "$@" + [ $(get 0 "$ISO") -eq 23117 ] && + [ $(get 18 "$ISO") -ne 0 ] && menuitem "$@" } isomd5() { dotwait "Checking iso image" - [ "$(ddq if=$ISO bs=2k skip=16 \ - count=$(echo $(get 32848 $ISO 4)) | md5sum)" == \ - "$(ddq if=$ISO bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \ + [ "$(ddq if="$ISO" bs=2k skip=16 \ + count=$(echo $(get 32848 "$ISO" 4)) | md5sum)" == \ + "$(ddq if="$ISO" bs=16 count=1 skip=2047 | od -N 16 -t x1 -An | \ sed 's/ //g') -" ] && echo "OK" || echo "ERROR" echo -en "\rChecking iso hybrid boot..." - n=$(($(get 2 $ISO)-1+($(get 4 $ISO)-1)*512)) + n=$(($(get 2 "$IS"O)-1+($(get 4 "$ISO")-1)*512)) if [ $n -lt 40000 -a $n -gt 32768 ]; then - s=$(get 0 $ISO 2 $n | awk '{ i+= $0 } END { print i }') - [ $(((1+$s+$(get $(($n+1)) $ISO 1)) % 65536)) -eq 0 ] && + s=$(get 0 "$ISO" 2 $n | awk '{ i+= $0 } END { print i }') + [ $(((1+$s+$(get $(($n+1)) "$ISO" 1)) % 65536)) -eq 0 ] && echo "OK" || echo "ERROR" fi + n=$(($(get 32848 "$ISO" 4)+16)) + if [ "$(ddq bs=2k skip=$n if="$ISO" | ddq bs=1 count=6)" == "#!boot" ]; then + echo -en "\rChecking iso custum boot..." + md5="$(ddq bs=2k skip=$n if="$ISO" | while read line; do + case "$line" in + \#!boot*) echo ${line#*boot } > /tmp/$0$$md5 ;; + append=*) echo $line ;; + initrd:*) echo $line + ddq bs=1 count=${line#initrd:} + break ;; + *) break ;; + esac + done | md5sum | cut -c1-32)" + [ "$md5" == "$(cat /tmp/$0$$md5)" ] && echo "OK" || echo "ERROR" + rm -f /tmp/$0$$md5 + fi rm -f /tmp/wait [ "$1" ] && return 0 echo -e "\rPress RETURN to continue." @@ -923,8 +939,8 @@ usbdev || return # perform dd in progress bar - max=$(($(stat -c %s $ISO)/2048)) - i=0; ddq if=$ISO bs=1024k | ( + max=$(($(stat -c %s "$ISO")/2048)) + i=0; ddq if="$ISO" bs=1024k | ( while ddq bs=1024k count=1 ; do i=$(($i + 1)) [ $i -gt $max ] && break @@ -994,7 +1010,7 @@ exec 3>&- [ $retval -eq 0 ] || return [ "$format" != "none" ] && tazusb format $device "SliTaz" $format - tazusb gen-iso2usb $ISO $device + tazusb gen-iso2usb "$ISO" $device } dokexec() @@ -1015,8 +1031,8 @@ flavdata() { - [ $(get 1024 $ISO) -eq 35615 ] && n=2 || n=$((1+$(get 417 $ISO 1))) - dd if=$ISO bs=512 skip=$n count=20 2>/dev/null | zcat 2>/dev/null + [ $(get 1024 "$ISO") -eq 35615 ] && n=2 || n=$((1+$(get 417 "$ISO" 1))) + dd if="$ISO" bs=512 skip=$n count=20 2>/dev/null | zcat 2>/dev/null } hasflavinfo() @@ -1053,7 +1069,7 @@ { name="$(flavdata | cpio -t 2> /dev/null | sed 's/.[a-z]*$//;q')" echo "Create ${name:=flavor}.flavor..." - tazlito iso2flavor $ISO $name + tazlito iso2flavor "$ISO" $name ls -l $name.flavor } @@ -1222,15 +1238,15 @@ isotitle() { - echo "$(basename $ISO) $(stat -c %y $media/.|sed 's/ .*//') $(blkid \ - $ISO | sed 's/.*LABEL="\([^"]*\).*/\1/')" + echo "$(basename "$ISO") $(stat -c %y $media/.|sed 's/ .*//') $(blkid \ + "$ISO" | sed 's/.*LABEL="\([^"]*\).*/\1/')" } ISO="${1:-/dev/null}" [ -z "$(isiso 2> /dev/null)" ] && echo "Usage : $0 file.iso" && exit 1 media=/tmp/media$$ mkdir -p $media -mount -o loop,ro $ISO $media +mount -o loop,ro "$ISO" $media if [ "$2" == "list" ]; then sed '/^\$(.*") \\/!d;s/^\$(\(.*\)").*/\1"/' $0 | while read line; do