wok diff memtest/stuff/pack @ rev 25504

Update some web_site / wget_url
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Feb 05 09:28:51 2023 +0000 (18 months ago)
parents 2ccf00d9c1cd
children 20c2ee666646
line diff
     1.1 --- a/memtest/stuff/pack	Fri Nov 18 09:54:27 2022 +0000
     1.2 +++ b/memtest/stuff/pack	Sun Feb 05 09:28:51 2023 +0000
     1.3 @@ -11,6 +11,21 @@
     1.4  	[ -n "$x" ] && sed -i "s/XXXSP/$((514+0x$x))/" $0 || sed -i "/XXXSP/d" $0
     1.5  	x=$(grep -s setup_seg$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/')
     1.6  	[ -n "$x" ] && sed -i "s/XXXSS/$((513+0x$x))/" $0 || sed -i "/XXXSS/d" $0
     1.7 +	x=$(grep -s setup_keep$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/')
     1.8 +	if [ -n "$x" ]; then
     1.9 +		sed -i "s/XXXK2 //" $0 
    1.10 +	else
    1.11 +		x=$(grep -s setup_syssize$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/')
    1.12 +		if [ -n "$x" ]; then
    1.13 +			sed -i "s/XXXK2/bs=500 skip=1/" $0
    1.14 +		else
    1.15 +			sed -i "s/XXXK2/bs=512 skip=1/" $0
    1.16 +		fi
    1.17 +	fi
    1.18 +	x=$(grep -s double_packed$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/')
    1.19 +	[ -n "$x" ] && sed -i "s/| compress /&& 2 /" $0
    1.20 +	x=$(grep -s update_code32_start$ ${2/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/')
    1.21 +	[ -n "$x" ] && sed -i '/XXXU2/d; s| XXXU1||' $0 || sed -i '/XXXU1/d; s| XXXU2||' $0
    1.22  	grep -q BFF401 ${2/.bin/.lst} && sed -i 's/512 skip/500 skip/;s/1000 -/&32 - /' $0
    1.23  	grep -q 83C60D ${2/.bin/.lst} && sed -i 's/ | dd bs=1 skip=13//' $0
    1.24  	helpmsg=$(grep -s helpmsg$ ${1/.bin/.lst}|sed '$!d;s/.*t:\([^ ]*\).*/\1/')
    1.25 @@ -40,15 +55,15 @@
    1.26  
    1.27  bits()
    1.28  {
    1.29 -	sed "/define PROP_$1/!d;s|.*PROP_...||" unlzma.S
    1.30 +	sed "/^#define PROP_$1/!d;s|.*PROP_...||" unlzma.S
    1.31  }
    1.32  
    1.33  compress()
    1.34  {
    1.35  	case "$PACKER" in
    1.36  	lz4) lz4 -l --best | tail -c +5 ;;
    1.37 -	lzsa1) cat > /tmp/in$$ ; lzsa -f1 /tmp/in$$ /tmp/out$$ ; tail -c +4 /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;;
    1.38 -	lzsa2) cat > /tmp/in$$ ; lzsa -f2 /tmp/in$$ /tmp/out$$ ; tail -c +4 /tmp/out$$ ; rm -f /tmp/in$$ /tmp/out$$ ;;
    1.39 +	lzsa1) cat > /tmp/in$$$1 ; lzsa -f1 /tmp/in$$$1 /tmp/out$$$1 ; tail -c +4 /tmp/out$$$1 ; rm -f /tmp/in$$$1 /tmp/out$$$1 ;;
    1.40 +	lzsa2) cat > /tmp/in$$$1 ; lzsa -f2 /tmp/in$$$1 /tmp/out$$$1 ; tail -c +4 /tmp/out$$$1 ; rm -f /tmp/in$$$1 /tmp/out$$$1 ;;
    1.41  	*) xz -z -e --format=raw --lzma1=lc=$(bits LC),lp=$(bits LP),pb=$(bits PB) --stdout 
    1.42  	esac
    1.43  }
    1.44 @@ -59,18 +74,23 @@
    1.45  	dd if=$1 bs=1 skip=497 seek=497 count=15 of=$2 conv=notrunc
    1.46  	setup="$(echo $(od -j 497 -N 1 -dAn $1))"
    1.47  	[ $setup -eq 0 ] && setup=4
    1.48 +	store $setup $2 497 1
    1.49 +	setup=$((setup+1))
    1.50  	store $setup $2 XXXSB 1
    1.51  	store $setup $2 XXXSW 1
    1.52 -	store $((32 * $setup)) $2 XXXSP
    1.53 -	store $((0x1000 - 32*$setup)) $2 XXXSS 
    1.54 -	dd if=$1 bs=512 skip=1 | compress >>$2
    1.55 +	store $((32*setup+0xF000)) $2 XXXSP
    1.56 +	store $((0x1000 - 32*setup)) $2 XXXSS 
    1.57 +	cp $1 /tmp/un$$ XXXU1
    1.58 +	store 1 /tmp/un$$ 534 1 XXXU1
    1.59 +	dd if=/tmp/un$$ XXXK2 | compress >>$2 XXXU1
    1.60 +	rm -f /tmp/un$$ XXXU1
    1.61 +	dd if=$1 XXXK2 | compress >>$2 XXXU2
    1.62  	size=$(stat -c %s $2)
    1.63 -	syssize=$((($size-512*($setup+1)+15)/16))
    1.64 -	store $(($syssize + 0x1000)) $2 XXXP
    1.65 +	syssize=$(((size-512*setup+15)/16))
    1.66 +	store $((syssize + 0x1000 + 0x1000)) $2 XXXP
    1.67  	store $syssize $2 500
    1.68 -	store 4 $2 497 1
    1.69 -	store $((($size+511)/512)) $2 4
    1.70 -	store $((($size+15)/16)) $2 14
    1.71 +	store $(((size+511)/512)) $2 4
    1.72 +	store $(((size+15)/16)) $2 14
    1.73  	echo -e "$3" | dd conv=notrunc bs=1 seek=YYY of=$2 count=ZZZ
    1.74  }
    1.75