tazusb annotate tazusb-box @ rev 202

Remove ashism ==
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 26 08:30:42 2019 +0100 (2019-02-26)
parents 8ddffadf56a6
children
rev   line source
pankso@110 1 #!/bin/sh
pankso@110 2 #
pankso@110 3 # Tiny GTK interface to SliTaz Live USB tool aka TazUSB.
pankso@110 4 #
pankso@110 5 # Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2
pankso@110 6 #
pankso@110 7 # Authors : Christophe Lincoln <pankso@slitaz.org>
pankso@110 8 #
al@180 9
pankso@130 10 . /lib/libtaz.sh
pankso@110 11
al@180 12
pankso@110 13 # TazUSBbox is only for root.
al@180 14
al@180 15 if [ $(id -u) -ne 0 ]; then
pankso@125 16 exec tazbox su tazusb-box
pankso@110 17 exit 0
pankso@110 18 fi
pankso@110 19
al@180 20
pankso@130 21 # We can specify an ISO on cmdline: tazusb-box --iso=/path/to/image.iso
al@180 22
pankso@130 23 [ "$iso" ] || iso=" "
pankso@130 24
al@180 25 title='TazUSB Box'
al@180 26 icon='/usr/share/pixmaps/slitaz-icon.png'
pankso@130 27 opts="--window-icon=$icon --height=220 --width=520 --center --on-top"
pankso@125 28
al@180 29
al@181 30 # i18n
al@180 31
al@180 32 export TEXTDOMAIN='tazusb-box'
al@180 33
pankso@110 34
pankso@125 35 # Main text information
al@180 36
al@180 37 info="<b>$(_ 'Generate SliTaz LiveUSB media and boot in RAM!')</b>\n\n \
al@180 38 $(_ "Insert a LiveCD into the CD-ROM drive or use a local ISO image, select \
pankso@110 39 the correct device and press OK.")
pankso@110 40 "
pankso@110 41
al@180 42
pankso@110 43 #
pankso@110 44 # Functions
pankso@110 45 #
pankso@110 46
pankso@125 47 # Nice GTK output for commands.
al@180 48
pankso@125 49 output() {
pankso@130 50 yad --text-info $opts --title="$title" --tail --margins=4 \
al@180 51 --button="$(_n 'Reboot'):reboot" --button="gtk-close:0"
pankso@110 52 }
pankso@110 53
al@180 54
pankso@110 55 list_devices() {
pankso@110 56 if [ -d /proc/scsi/usb-storage ]; then
al@181 57 dev="$(blkid | cut -d: -f1)"
pankso@110 58 echo $dev | sed s'/ /!/'g
pankso@110 59 else
al@180 60 _ 'No USB media found'
pankso@110 61 fi
pankso@110 62 }
pankso@110 63
al@180 64
pankso@110 65 # Main GUI box function with pure Yad spec
al@180 66
pankso@130 67 usbbox_main() {
pankso@130 68 yad --form $opts --title="$title" --text="$info" \
pankso@130 69 --image=usb-creator --image-on-top \
al@180 70 --field="$(_n 'ISO Image:')":FL \
al@180 71 --field="$(_n 'USB Media:')":CB \
pankso@130 72 "$iso" "$(list_devices)"
pankso@110 73 }
pankso@110 74
al@180 75
pankso@110 76 # Handler
al@180 77
pankso@130 78 usbbox() {
pankso@110 79 # Store box results
pankso@130 80 main=$(usbbox_main)
pankso@130 81
pankso@110 82 # Deal with --button values
pankso@130 83 case $? in
pankso@110 84 1) exit 0 ;;
pankso@110 85 *) continue ;;
pankso@110 86 esac
pankso@130 87
pankso@110 88 # Deal with $main values. Exit if any device.
al@180 89 dev=$(echo $main | cut -d"|" -f2)
pankso@110 90 if ! echo $dev | grep -q /dev; then
al@180 91 _ 'No device: exit'
al@180 92 exit 0
pankso@130 93 fi
pankso@110 94 if echo "$main" | grep -q ".iso|"; then
al@181 95 iso=$(echo $main | cut -d "|" -f1)
al@180 96 yes '' | tazusb gen-iso2usb $iso $dev --output=raw | output
pankso@110 97 else
al@180 98 yes '' | tazusb gen-liveusb $dev --output=raw | output
pankso@110 99 fi
pankso@110 100 }
pankso@110 101
al@180 102
pankso@110 103 #
pankso@110 104 # Script commands
pankso@110 105 #
pankso@110 106
pankso@110 107 case "$1" in
al@180 108 usage|--help|-h)
al@180 109 echo "$(_ 'Usage:') $(basename $0) [list]" ;;
pankso@130 110 list)
pankso@130 111 list_devices ;;
pankso@130 112 *)
pankso@130 113 usbbox ;;
pankso@110 114 esac
pankso@110 115
pankso@110 116 exit 0
pankso@110 117