tazlito rev 534

busybox cp may not support -n
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Feb 27 21:14:03 2022 +0000 (2022-02-27)
parents 00aa3fa52e4f
children c21a51aa8613
files applications/tazlito-doc.desktop applications/tazlito-wiz.desktop tazlito
line diff
     1.1 --- a/applications/tazlito-doc.desktop	Mon Dec 27 11:48:05 2021 +0000
     1.2 +++ b/applications/tazlito-doc.desktop	Sun Feb 27 21:14:03 2022 +0000
     1.3 @@ -1,10 +1,10 @@
     1.4  [Desktop Entry]
     1.5  Type=Application
     1.6  Name=Tazlito manual
     1.7 +Exec=browser file:///usr/share/doc/tazlito/tazlito.html
     1.8 +Icon=slitaz-doc
     1.9 +Categories=Documentation;
    1.10  Name[fr]=Manuel de Tazlito
    1.11  Name[pt]=Manual do Tazlito
    1.12  Name[pt_BR]=Manual do Tazlito
    1.13  Name[ru]=Руководство TazLiTo
    1.14 -Exec=browser file:///usr/share/doc/tazlito/tazlito.html
    1.15 -Icon=slitaz-doc
    1.16 -Categories=Documentation;
     2.1 --- a/applications/tazlito-wiz.desktop	Mon Dec 27 11:48:05 2021 +0000
     2.2 +++ b/applications/tazlito-wiz.desktop	Sun Feb 27 21:14:03 2022 +0000
     2.3 @@ -1,10 +1,10 @@
     2.4  [Desktop Entry]
     2.5  Type=Application
     2.6  Name=Create a LiveCD
     2.7 +Exec=tazbox su "tazlito-wiz"
     2.8 +Icon=slitaz-icon
     2.9 +Categories=GTK;System;FileTools;
    2.10  Name[fr]=Créer un LiveCD
    2.11  Name[pt]=Criação de LiveCD
    2.12  Name[pt_BR]=Criação de LiveCD
    2.13  Name[ru]=Создать Live CD
    2.14 -Exec=tazbox su "tazlito-wiz"
    2.15 -Icon=slitaz-icon
    2.16 -Categories=GTK;System;FileTools;
     3.1 --- a/tazlito	Mon Dec 27 11:48:05 2021 +0000
     3.2 +++ b/tazlito	Sun Feb 27 21:14:03 2022 +0000
     3.3 @@ -7,7 +7,7 @@
     3.4  # and/or a new ISO. Most commands must be run by root, except the stats
     3.5  # and the configuration file manipulation.
     3.6  #
     3.7 -# (C) 2007-2018 SliTaz - GNU General Public License.
     3.8 +# (C) 2007-2022 SliTaz - GNU General Public License.
     3.9  #
    3.10  # Authors: see the AUTHORS file
    3.11  #
    3.12 @@ -258,13 +258,13 @@
    3.13  
    3.14  set32() {
    3.15  	for i in $(seq 0 8 $((${4:-32}-8))); do
    3.16 -		printf '\\\\x%02X' $((($2 >> $i) & 255))
    3.17 +		printf '\\\\x%02X' $((($2 >> i) & 255))
    3.18  	done | xargs echo -en | dd bs=1 conv=notrunc of=$3 seek=$1 2>/dev/null
    3.19  }
    3.20  
    3.21  set64() {
    3.22  	for i in $(seq 0 8 24 ; seq 24 -8 0); do
    3.23 -		printf '\\\\x%02X' $((($2 >> $i) & 255))
    3.24 +		printf '\\\\x%02X' $((($2 >> i) & 255))
    3.25  	done | xargs echo -en | dd bs=1 conv=notrunc of=$3 seek=$1 2>/dev/null
    3.26  }
    3.27  
    3.28 @@ -292,19 +292,19 @@
    3.29  fix_efi_img_size() {
    3.30  	local e=$((0x809C))
    3.31  	for i in $(echo ${efi_img//\// } | tr a-z A-Z) ; do
    3.32 -		local sz=$(get $(($e+10)) "$2" 4)
    3.33 -		e=$(($(get $(($e+2)) "$2" 4) * 2048))
    3.34 +		local sz=$(get $((e+10)) "$2" 4)
    3.35 +		e=$(($(get $((e+2)) "$2" 4) * 2048))
    3.36  		while [ $sz -gt 0 ]; do
    3.37  			local len=$(get $e "$2")
    3.38 -			[ "$(dd if="$2" bs=1 skip=$(($e+33)) count=${#i} \
    3.39 +			[ "$(dd if="$2" bs=1 skip=$((e+33)) count=${#i} \
    3.40  				2>/dev/null)" = "$i" ] && continue 2
    3.41  			[ $len -eq 0 ] && break
    3.42 -			sz=$(($sz-$len))
    3.43 -			e=$(($e+$len))
    3.44 +			sz=$((sz-len))
    3.45 +			e=$((e+len))
    3.46  		done
    3.47  		return	# not found
    3.48  	done
    3.49 -	set64 $(($e+10)) $1 "$2"
    3.50 +	set64 $((e+10)) $1 "$2"
    3.51  }
    3.52  
    3.53  
    3.54 @@ -316,7 +316,7 @@
    3.55  	local n=$(get 19 "$2/$efi_img")
    3.56  	[ $n -eq 0 ] && n=$(get 32 "$2/$efi_img" 4)
    3.57  	efiblock=$(first_block "$2/$efi_img")
    3.58 -	fix_efi_img_size $(($n*512)) $1
    3.59 +	fix_efi_img_size $((n*512)) $1
    3.60  	fix_efi_boot_img_size $1 $2 $n $efiblock
    3.61  	
    3.62  	# Build file list tree
    3.63 @@ -324,13 +324,13 @@
    3.64  	if [ $(get 57 "$2/$efi_img" 1) -ne 49 ]; then
    3.65  		skiphead=5
    3.66  		fatsz=$(get 36 "$2/$efi_img" 4)
    3.67 -		basecluster=$((($resv+2*$fatsz)/4+$efiblock-2))
    3.68 -		dd if=$1 bs=512 skip=$(($efiblock*4)) count=3 \
    3.69 -			of=$1 seek=$(($efiblock*4+3)) conv=notrunc
    3.70 +		basecluster=$(((resv+2*fatsz)/4+efiblock-2))
    3.71 +		dd if=$1 bs=512 skip=$((efiblock*4)) count=3 \
    3.72 +			of=$1 seek=$((efiblock*4+3)) conv=notrunc
    3.73  	else
    3.74  		skiphead=4
    3.75  		fatsz=$(get 22 "$2/$efi_img")
    3.76 -		basecluster=$((($resv+2*$fatsz)/4+$efiblock-1))
    3.77 +		basecluster=$(((resv+2*fatsz)/4+efiblock-1))
    3.78  	fi 2> /dev/null
    3.79  	hd "$2/$efi_img" | awk 'BEGIN { skiphead='$skiphead' }
    3.80  {
    3.81 @@ -390,9 +390,9 @@
    3.82    }
    3.83  }
    3.84  ' | (	while read offset cluster file; do
    3.85 -		cluster=$(($(first_block "$2/$file")-$basecluster))
    3.86 -		set32 $(($efiblock*2048+0x$offset+10)) $cluster "$1" 16
    3.87 -		set32 $(($efiblock*2048+0x$offset+4)) $(($cluster>>16)) "$1" 16
    3.88 +		cluster=$(($(first_block "$2/$file")-basecluster))
    3.89 +		set32 $((efiblock*2048+0x$offset+10)) $cluster "$1" 16
    3.90 +		set32 $((efiblock*2048+0x$offset+4)) $((cluster>>16)) "$1" 16
    3.91  		echo "$cluster $((($(stat -c %s "$2/$file")+2047)/2048)) $file"
    3.92  	done
    3.93  
    3.94 @@ -460,10 +460,10 @@
    3.95        printf "0  %02X %02X %02X %02X |\n",c[i+1]%256,(c[i+1]/256)%256,(c[i+1]/65536)%256,(c[i+1]/16777216)%256
    3.96      }
    3.97    }
    3.98 -}' | hexdump_R | dd of="$1" seek=$((4*$efiblock+$fatsz+$resv)) \
    3.99 +}' | hexdump_R | dd of="$1" seek=$((4*efiblock+fatsz+resv)) \
   3.100  		conv=notrunc bs=512 > /dev/null 2>&1
   3.101 -	dd if="$1" of="$1" conv=notrunc bs=512 skip=$((4*$efiblock+$fatsz+$resv)) \
   3.102 -		count=$fatsz seek=$((4*$efiblock+$resv)) > /dev/null 2>&1
   3.103 +	dd if="$1" of="$1" conv=notrunc bs=512 skip=$((4*efiblock+fatsz+resv)) \
   3.104 +		count=$fatsz seek=$((4*efiblock+resv)) > /dev/null 2>&1
   3.105  
   3.106  	# Cleanup cache
   3.107  	umount $2
   3.108 @@ -520,38 +520,38 @@
   3.109  				n+=int((d[i]+63)/64)
   3.110  			print n
   3.111  		}')
   3.112 -	local clusters=$(($fclust+$dclust))
   3.113 +	local clusters=$((fclust+dclust))
   3.114  	if [ $clusters -lt 4068 ]; then
   3.115 -		fsect=$(((($clusters+2)*3+1023)/1024))
   3.116 +		fsect=$((((clusters+2)*3+1023)/1024))
   3.117  		ftype="31 32"
   3.118  		fhead="F8 FF FF"
   3.119 -		rsect=$(( 1+ ((2*$fsect)-1)%4 ))
   3.120 +		rsect=$(( 1+ ((2*fsect)-1)%4 ))
   3.121  		fsz="$(printf "%04X" $fsect | sed 's/\(..\)\(..\)/\2 \1/')"
   3.122  		rootsz=2
   3.123  	elif [ $clusters -lt 65525 ]; then
   3.124 -		fsect=$((($clusters+2+255)/256))
   3.125 +		fsect=$(((clusters+2+255)/256))
   3.126  		ftype="31 36"
   3.127  		fhead="F8 FF FF FF"
   3.128 -		rsect=$(( 1+ ((2*$fsect)-1)%4 ))
   3.129 +		rsect=$(( 1+ ((2*fsect)-1)%4 ))
   3.130  		fsz="$(printf "%04X" $fsect | sed 's/\(..\)\(..\)/\2 \1/')"
   3.131  		rootsz=2
   3.132  	else
   3.133 -		fsect=$((($clusters+2+127)/128))
   3.134 +		fsect=$(((clusters+2+127)/128))
   3.135  		ftype="33 32"
   3.136  		fhead="F8 FF FF 0F FF FF FF FF F8 FF FF 0F"
   3.137 -		rsect=$(( 6+ ((2*$fsect)-6)%4 ))
   3.138 +		rsect=$(( 6+ ((2*fsect)-6)%4 ))
   3.139  		fsz="$(printf "%08X" $fsect | sed 's/\(..\)\(..\)\(..\)\(..\)/\4 \3 \2 \1/')"
   3.140  		rootsz=1
   3.141  	fi
   3.142  	#       reserved +   fat*2   + root dir  +   dirs
   3.143 -	count=$((($rsect + $fsect*2)/4 +  $rootsz  + $dclust ))
   3.144 -	s=$((($count+$fclust)*4))
   3.145 +	count=$(((rsect + fsect*2)/4 +  rootsz  + dclust ))
   3.146 +	s=$(((count+fclust)*4))
   3.147  	if [ $s -gt 65535 ]; then
   3.148  		size="00 00"
   3.149 -		size32="$(printf "%02X %02X %02X %02X" $(($s%256)) \
   3.150 -			$((($s>>8)%256)) $((($s>>16)%256)) $((($s>>24)%256)) )"
   3.151 +		size32="$(printf "%02X %02X %02X %02X" $((s%256)) \
   3.152 +			$(((s>>8)%256)) $(((s>>16)%256)) $(((s>>24)%256)) )"
   3.153  	else
   3.154 -		size="$(printf "%02X %02X" $(($s%256)) $((($s>>8)%256)) )"
   3.155 +		size="$(printf "%02X %02X" $((s%256)) $(((s>>8)%256)) )"
   3.156  		size32="00 00 00 00"
   3.157  	fi
   3.158  	dd if=/dev/zero bs=512 of=$basedir/$efi_img \
   3.159 @@ -592,14 +592,14 @@
   3.160  
   3.161  	# Create fats
   3.162  	echo "0  $fhead |" | hexdump_R | dd of=$basedir/$efi_img \
   3.163 -		seek=$(($rsect)) bs=512 conv=notrunc 2> /dev/null
   3.164 +		seek=$((rsect)) bs=512 conv=notrunc 2> /dev/null
   3.165  	echo "0  $fhead |" | hexdump_R | dd of=$basedir/$efi_img \
   3.166 -		seek=$(($rsect+$fsect)) bs=512 conv=notrunc 2> /dev/null
   3.167 +		seek=$((rsect+fsect)) bs=512 conv=notrunc 2> /dev/null
   3.168  
   3.169  	# Add label
   3.170  	echo "0  $doslabel 08 |" | hexdump_R | \
   3.171  		dd of=$basedir/$efi_img bs=512 conv=notrunc \
   3.172 -		seek=$(($rsect+$fsect+$fsect)) 2> /dev/null
   3.173 +		seek=$((rsect+fsect+fsect)) 2> /dev/null
   3.174  
   3.175  	mkdir -p /tmp/mnt$$
   3.176  	mount -o loop $basedir/$efi_img /tmp/mnt$$
   3.177 @@ -755,8 +755,8 @@
   3.178  #	n=20	# 1Mb
   3.179  #	sz=$(du -sk $1 | cut -f1)
   3.180  #	while [ $sz -gt 1024 -a $n -lt 28 ]; do
   3.181 -#		n=$(( $n + 1 ))
   3.182 -#		sz=$(( $sz / 2 ))
   3.183 +#		n=$(( n + 1 ))
   3.184 +#		sz=$(( sz / 2 ))
   3.185  #	done
   3.186  #	echo $n
   3.187  	echo ${LZMA_HISTORY_BITS:-24}
   3.188 @@ -776,8 +776,8 @@
   3.189  	local n i
   3.190  	n=$(unlzma < $1 | wc -c)
   3.191  	for i in $(seq 1 8); do
   3.192 -		printf '\\\\x%02X' $(($n & 255))
   3.193 -		n=$(($n >> 8))
   3.194 +		printf '\\\\x%02X' $((n & 255))
   3.195 +		n=$((n >> 8))
   3.196  	done | xargs echo -en | dd of=$1 conv=notrunc bs=1 seek=5 2>/dev/null
   3.197  }
   3.198  
   3.199 @@ -785,7 +785,7 @@
   3.200  align_to_32bits() {
   3.201  	local size=$(stat -c %s ${1:-/dev/null})
   3.202  	[ $((${size:-0} & 3)) -ne 0 ] &&
   3.203 -		dd if=/dev/zero bs=1 count=$((4 - ($size & 3))) >> $1 2>/dev/null
   3.204 +		dd if=/dev/zero bs=1 count=$((4 - (size & 3))) >> $1 2>/dev/null
   3.205  }
   3.206  
   3.207  
   3.208 @@ -871,8 +871,8 @@
   3.209  					if ln "$old_file" "$file" 2>/dev/null; then
   3.210  						hinode="$inode"
   3.211  						inode="$old_inode"
   3.212 -						[ "$link" -eq 1 ] && hardlinks=$(($hardlinks+1)) &&
   3.213 -							save="$(($save+(${attr%%-*}+512)/1024))"
   3.214 +						[ "$link" -eq 1 ] && hardlinks=$((hardlinks+1)) &&
   3.215 +							save="$((save+(${attr%%-*}+512)/1024))"
   3.216  						continue
   3.217  					else
   3.218  						cp -p "$old_file" "$file"
   3.219 @@ -897,7 +897,7 @@
   3.220  					if [ "$inode" != "$old_inode" ]; then
   3.221  						rm -f "$file"
   3.222  						if ln "$old_file" "$file" 2>/dev/null; then
   3.223 -							[ "$link" -eq 1 ] && hardlinks=$(($hardlinks+1))
   3.224 +							[ "$link" -eq 1 ] && hardlinks=$((hardlinks+1))
   3.225  						else
   3.226  							cp -a "$old_file" "$file"
   3.227  						fi
   3.228 @@ -947,9 +947,9 @@
   3.229  
   3.230  distro_sizes() {
   3.231  	if [ -n "$start_time" ]; then
   3.232 -		time=$(($(date +%s) - $start_time))
   3.233 +		time=$(($(date +%s) - start_time))
   3.234  		sec=$time
   3.235 -		div=$(( ($time + 30) / 60))
   3.236 +		div=$(( (time + 30) / 60))
   3.237  		[ "$div" -ne 0 ] && min="~ ${div}m"
   3.238  		_ 'Build time      : %ss %s' "$sec" "$min"
   3.239  	fi
   3.240 @@ -1473,7 +1473,7 @@
   3.241  copy_rootfs() {
   3.242  	total=\$(grep MemTotal /proc/meminfo | sed 's/[^0-9]//g')
   3.243  	need=\$(du -c \${path}rootfs* | tail -n 1 | cut -f1)
   3.244 -	[ \$(( \$total / \$need )) -gt 1 ] || return 1
   3.245 +	[ \$(( total / need )) -gt 1 ] || return 1
   3.246  	if ! grep -q " keep-loram" /proc/cmdline && cp \${path}rootfs* /mnt; then
   3.247  		path=/mnt/
   3.248  		return 0
   3.249 @@ -1561,7 +1561,7 @@
   3.250  	mkdir -p /mnt/.rw/mnt/.\$fs /mnt/.\$fs /mnt/.rw/mnt/.cdrom
   3.251  	losetup -o 124 /dev/loop\$lp \$i
   3.252  	mount -o loop,ro -t squashfs /dev/loop\$lp /mnt/.\$fs
   3.253 -	lp=\$((\$lp+1))
   3.254 +	lp=\$((lp+1))
   3.255  done
   3.256  fi
   3.257  mkdir -p /mnt/.rw/mnt/.httpfs
   3.258 @@ -1707,7 +1707,7 @@
   3.259  			esac
   3.260  			sizes=${sizes#* }
   3.261  			for i in $sizes ; do
   3.262 -				s=$(( $s - $i ))
   3.263 +				s=$(( s - i ))
   3.264  			done
   3.265  			new="$new $s $2"
   3.266  			shift 2
   3.267 @@ -1863,7 +1863,7 @@
   3.268  
   3.269  	# Repacked packages: high priority
   3.270  	repacked="$PACKAGES_REPOSITORY"
   3.271 -	if [ -d "$repacked" ] && [ "$repacked" != "$fresh" ] && ls "$repacked" | grep -q ".tazpkg"; then
   3.272 +	if [ -d "$repacked" ] && [ "$repacked" != "$fresh" ] && ls "$repacked" | grep -q '\.tazpkg'; then
   3.273  		# According to Tazlito setup file (tazlito.conf):
   3.274  		# WORK_DIR="/home/slitaz/$SLITAZ_VERSION"
   3.275  		# or
   3.276 @@ -2618,7 +2618,7 @@
   3.277  
   3.278  
   3.279  	iso2flavor)
   3.280 -		[ -z "$3" -o ! -s "$2" ] && die 'Usage: tazlito iso2flavor <image.iso> <flavor_name>' \
   3.281 +		[ -z "$3" -o ! -e "$2" ] && die 'Usage: tazlito iso2flavor <image.iso> <flavor_name>' \
   3.282  			'\n\nCreate a file <flavor_name>.flavor from the CD-ROM image file <image.iso>'
   3.283  
   3.284  		FLAVOR=${3%.flavor}
   3.285 @@ -2891,7 +2891,7 @@
   3.286  			n=0
   3.287  			last=$ROOTFS
   3.288  			while read flavor; do
   3.289 -				n=$(($n+1))
   3.290 +				n=$((n+1))
   3.291  				mkdir ${ROOTFS}0$n
   3.292  				export root="${ROOTFS}0$n"
   3.293  				# initial tazpkg setup in empty rootfs
   3.294 @@ -2922,7 +2922,7 @@
   3.295  				install_list_to_rootfs "$DISTRO/list-packages0$n" "${ROOTFS}0$n"
   3.296  
   3.297  				action 'Updating the boot directory...'
   3.298 -				cp -an ${ROOTFS}0$n/boot $ROOTCD 2> /dev/null
   3.299 +				yes n | cp -ai ${ROOTFS}0$n/boot $ROOTCD 2> /dev/null
   3.300  				rm -rf ${ROOTFS}0$n/boot
   3.301  
   3.302  				cd $DISTRO
   3.303 @@ -2942,13 +2942,13 @@
   3.304  $(awk '{ for (i = 4; i <= NF; i+=2) print $i; }' < /etc/tazlito/rootfs.list)
   3.305  EOT
   3.306  #'
   3.307 -			i=$(($n+1))
   3.308 +			i=$((n+1))
   3.309  			while [ $n -gt 0 ]; do
   3.310  				mv ${ROOTFS}0$n ${ROOTFS}$i
   3.311  				_ 'Compressing %s (%s)...' "${ROOTFS}0$n" "$(du -hs ${ROOTFS}$i | awk '{ print $1 }')"
   3.312  				gen_initramfs ${ROOTFS}$i
   3.313 -				n=$(($n-1))
   3.314 -				i=$(($i-1))
   3.315 +				n=$((n-1))
   3.316 +				i=$((i-1))
   3.317  				export LZMA_HISTORY_BITS=26
   3.318  			done
   3.319  			mv $ROOTFS ${ROOTFS}$i
   3.320 @@ -3276,7 +3276,7 @@
   3.321  		while [ -n "$2" ]; do
   3.322  			shift	# skip rootfs N-1
   3.323  			p=$n
   3.324 -			n=$(($n + 1))
   3.325 +			n=$((n + 1))
   3.326  			append="$append $1 slitaz$n"
   3.327  			shift	# skip size N
   3.328  			mkdir -p $TMP_DIR/rootfs$n