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