tools/livecd-iso-to-disk.sh | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-)
New commits: commit 54c53cc8d24eb89e4a75df3d67f00a0152fa0cb6 Author: Jasper O'neal Hartline <[email protected]> Date: Sat Sep 11 13:17:30 2010 -0500 Display progress information when copying image to usb. Signed-off-by: Bruno Wolff III <[email protected]> diff --git a/tools/livecd-iso-to-disk.sh b/tools/livecd-iso-to-disk.sh index e12feb5..007348a 100755 --- a/tools/livecd-iso-to-disk.sh +++ b/tools/livecd-iso-to-disk.sh @@ -304,6 +304,36 @@ detectisotype() { exitclean } +cp_p() { + strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \ + | awk '{ + count += $NF + if (count % 10 == 0) { + percent = count / total_size * 100 + printf "%3d%% [", percent + for (i=0;i<=percent;i++) + printf "=" + printf ">" + for (i=percent;i<100;i++) + printf " " + printf "]\r" + } + } + END { print "" }' total_size=$(stat -c '%s' "${1}") count=0 +} + +copyFile() { + if [ -x /usr/bin/gvfs-copy ]; then + gvfs-copy -p "$1" "$2" + return + fi + if [ -x /usr/bin/strace -a -x /bin/awk ]; then + cp_p "$1" "$2" + return + fi + cp "$1" "$2" +} + cryptedhome=1 keephome=1 homesizemb=0 @@ -575,15 +605,15 @@ if [ -z "$skipcopy" ] && [ "$isotype" = "live" ]; then [ -n "$keephome" -a -f "$USBMNT/$HOMEFILE" ] && mv $USBMNT/$HOMEFILE $USBMNT/$LIVEOS/$HOMEFILE if [ -n "$skipcompress" -a -f $CDMNT/LiveOS/squashfs.img ]; then mount -o loop $CDMNT/LiveOS/squashfs.img $CDMNT || exitclean - cp $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || (umount $CDMNT ; exitclean) + copyFile $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || (umount $CDMNT ; exitclean) umount $CDMNT elif [ -f $CDMNT/LiveOS/squashfs.img ]; then - cp $CDMNT/LiveOS/squashfs.img $USBMNT/$LIVEOS/squashfs.img || exitclean + copyFile $CDMNT/LiveOS/squashfs.img $USBMNT/$LIVEOS/squashfs.img || exitclean elif [ -f $CDMNT/LiveOS/ext3fs.img ]; then - cp $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || exitclean + copyFile $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || exitclean fi if [ -f $CDMNT/LiveOS/osmin.img ]; then - cp $CDMNT/LiveOS/osmin.img $USBMNT/$LIVEOS/osmin.img || exitclean + copyFile $CDMNT/LiveOS/osmin.img $USBMNT/$LIVEOS/osmin.img || exitclean fi fi @@ -591,8 +621,8 @@ fi if [ "$isotype" = "installer" ] && [ -z "$skipcopy" ]; then echo "Copying DVD image to USB stick" mkdir -p $USBMNT/images/ - cp $CDMNT/images/install.img $USBMNT/images/install.img || exitclean - cp $ISO $USBMNT/ + copyFile $CDMNT/images/install.img $USBMNT/images/install.img || exitclean + copyFile $ISO $USBMNT/ fi cp $CDMNT/isolinux/* $USBMNT/$SYSLINUXPATH -- livecd mailing list [email protected] https://admin.fedoraproject.org/mailman/listinfo/livecd
