Hello community, here is the log from the commit of package live-fat-stick for openSUSE:Factory checked in at 2016-08-17 12:05:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/live-fat-stick (Old) and /work/SRC/openSUSE:Factory/.live-fat-stick.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "live-fat-stick" Changes: -------- --- /work/SRC/openSUSE:Factory/live-fat-stick/live-fat-stick.changes 2016-07-24 19:53:34.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.live-fat-stick.new/live-fat-stick.changes 2016-08-17 12:06:00.000000000 +0200 @@ -1,0 +2,18 @@ +Tue Aug 9 05:58:00 UTC 2016 - [email protected] + +- live-usb-gui only show available scripts +- get correct exit status, xterm always returned 0 +- compare image size after copy + +------------------------------------------------------------------- +Mon Aug 8 05:06:11 UTC 2016 - [email protected] + +- Check iso size, vfat does not support file larger than 4G + +------------------------------------------------------------------- +Sun Aug 7 16:49:47 UTC 2016 - [email protected] + +- live-grub-stick support openSUSE install media iso on + non-vfat partition + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ live-fat-stick.spec ++++++ --- /var/tmp/diff_new_pack.MsK3zt/_old 2016-08-17 12:06:02.000000000 +0200 +++ /var/tmp/diff_new_pack.MsK3zt/_new 2016-08-17 12:06:02.000000000 +0200 @@ -17,7 +17,7 @@ Name: live-fat-stick -Version: 0.4.0 +Version: 0.4.1 Release: 0 Summary: Create live usb stick on fat partition License: GPL-2.0+ @@ -111,6 +111,7 @@ %package -n live-usb-gui Requires: live-fat-stick = %{version} +Requires: live-grub-stick = %{version} %if 0%{?suse_version} Recommends: zenity kdialog %else ++++++ live-fat-stick ++++++ --- /var/tmp/diff_new_pack.MsK3zt/_old 2016-08-17 12:06:02.000000000 +0200 +++ /var/tmp/diff_new_pack.MsK3zt/_new 2016-08-17 12:06:02.000000000 +0200 @@ -68,7 +68,9 @@ keeping existing data untouched. Note: File size greater than 4G is not usable on vfat/fat32 partition so the - live CD/DVD iso file should not exceed this limit. + live CD/DVD iso file should not exceed this limit. Use live-grub-stick on + grub supported non-vfat partition for image size greater than 4G such as + openSUSE installation DVD. Note2: Install 32bit/x86 iso on the stick first if creating multiboot with both x86 and x86_64 arch images. @@ -195,6 +197,7 @@ distroname=${distroname:-suse} isomount=$(mktemp -d) isopath=$(readlink -f "$1") +isosize=$(stat -c%s "$isopath") iso_symlink=$(mktemp) ; rm $iso_symlink ; ln -s "$isopath" $iso_symlink stickmount=$(mktemp -d) stickdevice=$(echo $2 | sed 's/[0-9]*//g') @@ -210,7 +213,13 @@ liveusbgui=/tmp/liveusbgui benice="nice ionice -c3" cowsize=${cowsize:-500M} - +if [[ $distroname != isohybrid ]]; then + if [[ $isosize -gt 4187593113 ]]; then + echo "ISO size is larger than that allowed on vfat partition" + echo "Use live-grub-stick script on grub supported partition format" + exit 1 + fi +fi if [[ $isoname != $isonametr ]]; then echo "removing space/s from iso name copied to the destination disk" export isoname=$isonametr @@ -422,6 +431,10 @@ if [[ $distroname != fedora ]]; then echo "copying $isoname to usb stick" try_cp_with_progress "$1" "$stickmount/$isoname" + if [[ $isosize != $(stat -c%s "$stickmount/$isoname") ]]; then + echo "Source and destination image does not match" + exit 1 + fi fi fi if [[ -f $stickmount/fatstick ]]; then ++++++ live-grub-stick ++++++ --- /var/tmp/diff_new_pack.MsK3zt/_old 2016-08-17 12:06:02.000000000 +0200 +++ /var/tmp/diff_new_pack.MsK3zt/_new 2016-08-17 12:06:02.000000000 +0200 @@ -91,6 +91,9 @@ For isohybrid : live-grub-stick --isohybrid /path/to/isohybridimage.iso /dev/sdX + Standard openSUSE installation DVD iso can also be written with --suse option when used + with live-grub-stick on non-vfat partition. + isopath should be full absolute path of iso image and the device should be actual partition on the stick like /dev/sdb1, /dev/sdc1,/dev/sdc2... @@ -200,6 +203,7 @@ isomount=$(mktemp -d) isopath=$(readlink -f "$1") iso_symlink=$(mktemp) ; rm $iso_symlink ; ln -s "$isopath" $iso_symlink +isosize=$(stat -c%s "$isopath") stickmount=$(mktemp -d) stickdevice=$(echo $2 | sed 's/[0-9]*//g') stickbase=$(basename $2) @@ -213,7 +217,15 @@ liveusbgui=/tmp/liveusbgui benice="nice ionice -c3" cowsize=${cowsize:-500M} - +if [[ $distroname != isohybrid ]]; then + if [[ $isosize -gt 4187593113 ]]; then + if [[ $(blkid -s TYPE -o value "$2") == vfat ]];then + echo "ISO size is larger than that allowed on vfat partition, exiting" + echo "use grub supported partition format(ext3/4) that allow larger file size" + exit 1 + fi + fi +fi if [[ $isoname != $isonametr ]]; then echo "removing space/s from iso name copied to the destination disk" export isoname=$isonametr @@ -277,7 +289,7 @@ persistopts="kiwi_cowdevice=/dev/disk/by-uuid/$stickuuid kiwi_cowsystem=/boot/$isonameshort-cowfile" fi fi - appendsection="\$linux (loop)/boot/x86_64/loader/linux isofrom=/dev/disk/by-uuid/$stickuuid:/$isoname isofrom_device=/dev/disk/by-uuid/$stickuuid isofrom_system=/$isoname $persistopts loader=syslinux splash=silent quiet showopts" + appendsection="\$linux (loop)/boot/x86_64/loader/linux isofrom=/dev/disk/by-uuid/$stickuuid:/$isoname isofrom_device=/dev/disk/by-uuid/$stickuuid isofrom_system=/$isoname $persistopts install=hd:/$isoname loader=syslinux splash=silent quiet showopts" appendsection2="\$initrd (loop)/boot/x86_64/loader/initrd" fi if [[ $distroname == ubuntu ]]; then @@ -432,6 +444,10 @@ isopath=$iso_symlink echo "copying $isoname to usb stick" try_cp_with_progress "$1" "$stickmount/$isoname" + if [[ $isosize != $(stat -c%s "$stickmount/$isoname") ]]; then + echo "Source and destination image does not match" + exit 1 + fi fi if [[ -d /boot/grub2 ]]; then grub2pathreal=/boot/grub2 ++++++ live-usb-gui ++++++ --- /var/tmp/diff_new_pack.MsK3zt/_old 2016-08-17 12:06:02.000000000 +0200 +++ /var/tmp/diff_new_pack.MsK3zt/_new 2016-08-17 12:06:02.000000000 +0200 @@ -32,7 +32,6 @@ popup=${popup:-zenity} scriptorun=${scriptorun:-live-fat-stick} which $popup &>/dev/null || echo "$popup not found, please install to use this tool" -which $scriptorun &>/dev/null || echo "$scriptorun script not found in PATH, please install it and make it executable" export liveusbgui=/tmp/liveusbgui touch /tmp/liveusbgui @@ -40,6 +39,9 @@ if [[ -f $liveusbgui ]]; then rm $liveusbgui &>/dev/null fi + if [[ -f $statusfile ]]; then + rm $statusfile + fi } fileselecttitle="Select distribution iso file" @@ -48,7 +50,14 @@ usbselecttitle="Select the target USB device" distributionlist="suse suse-persistent fedora mint ubuntu ubuntu-persistent ipxe isohybrid" distrotitle="Select the distribution of the iso" -scriptlist="live-grub-stick live-fat-stick" +supportedscripts="live-grub-stick live-fat-stick" +for i in $(echo "$supportedscripts"); do + if which $i > /dev/null 2>&1; then + scriptlist="$scriptlist $i" + else + scriptlist="$scriptlist" + fi +done usbdevicelist=$(for i in `echo $(for i in $(find /dev/disk/by-path/ |grep usb); do readlink -f $i;done)` do # if [[ $(blkid -s TYPE -o value $i) == vfat ]];then @@ -127,7 +136,7 @@ fi questiontitle="Is the information below correct?" questiontext="Distribution: $distroname \nISO image: $sourceiso \nUSB device: $usbdevice" -errortext="oops, something went wrong" +errortext="oops, something went wrong, try live-fat-stick or live-grub-stick from terminal" successtext="Your bootable usb device is now ready" if [[ $popup == zenity ]]; then if ! zenity --question --title="$questiontitle" --text "$questiontext"; then @@ -140,15 +149,15 @@ exit 1 fi fi - +statusfile=$(mktemp) if [[ $option == isohybrid ]]; then usbdev=$(echo $usbdevice | sed 's/[0-9]*//g') - xterm -e "$scriptorun --isohybrid $sourceiso $usbdev" + xterm -e "($scriptorun --isohybrid $sourceiso $usbdev || echo 1 > $statusfile)" else - xterm -e "$scriptorun $option $sourceiso $usbdevice" + xterm -e "($scriptorun $option $sourceiso $usbdevice || echo 1 > $statusfile)" fi -if [ $? != 0 ]; then +if [[ $(cat $statusfile) == 1 ]]; then if [[ $popup == zenity ]]; then zenity --error --text="$errortext" else
