diff --git a/bin/makedist-recordvm b/bin/makedist-recordvm index 108848c..57859ce 100755 --- a/bin/makedist-recordvm +++ b/bin/makedist-recordvm @@ -45,6 +45,17 @@ ISO_NAME=`basename $ISO_PATH` exit 1 } +if [ -e $ISO_DIR/latest-is-milestone*.txt ]; then + ISO_VERSION=`ls $ISO_DIR/latest-is-milestone[0-9]*-*.txt 2>/dev/null| sed "s/.*latest-is-milestone[0-9]*-\(.*\)\.txt/\1/"` +elif [ -e $ISO_DIR/latest-is-*.txt ]; then + ISO_VERSION=`ls $ISO_DIR/latest-is-*.txt 2>/dev/null| sed "s/.*latest-is-\(.*\)\.txt/\1/"` +fi + +[ "$ISO_VERSION" ] || { + echo "makedist-recordvm: ERROR: unable to find latest version file in $ISO_DIR; running in view mode only." + VIEWMODE=1 +} + if [ ! "$RECREATE_IMAGES" ]; then echo "Preparing ISO image $ISO_PATH" ln -sf $ISO_PATH $RECORDVM_DATA/recordvm.iso @@ -90,23 +101,17 @@ if [ ! "$RECREATE_IMAGES" ]; then echo "Windowid is: $WINID" - echo "Capturing window output" - mkdir -p $ISO_DIR/preview/ - DBUS_SESSION_BUS_ADDRESS= HOME=$RECORDVM_DATA DISPLAY=$VBOX_DISPLAY xvidcap \ - --cap_geometry 1024x768+0+0 \ - --verbose 2 --gui no --audio no \ - --time $EXECUTION_TIME --file $ISO_DIR/preview/${ISO_NAME}${VIDEO_EXT} \ - --quality 100 >>$RECORDVM_DATA/recordvm.log -#recordmydesktop --no-frame --display $VBOX_DISPLAY --windowid $WINID -o $ISO_DIR/preview/$ISO_NAME.ogv --overwrite --no-sound --no-wm-check --fps 10 --no-cursor & -#echo "Sleeping $EXECUTION_TIME seconds..." -#sleep $EXECUTION_TIME - -#killall -TERM recordmydesktop - -#echo "Waiting for recordmydesktop to exit" -#while [ "`pidof recordmydesktop`" ]; do -# sleep 1 -#done + if [ ! "$VIEWMODE" ]; then + echo "Capturing window output" + mkdir -p $ISO_DIR/preview/ + DBUS_SESSION_BUS_ADDRESS= HOME=$RECORDVM_DATA DISPLAY=$VBOX_DISPLAY xvidcap \ + --cap_geometry 1024x768+0+0 \ + --verbose 2 --gui no --audio no \ + --time $EXECUTION_TIME --file $ISO_DIR/preview/${ISO_NAME}${VIDEO_EXT} \ + --quality 100 >>$RECORDVM_DATA/recordvm.log + else + sleep $EXECUTION_TIME + fi echo "Powering off VM" if [ "$VBOX" ]; then @@ -126,30 +131,34 @@ if [ ! "$RECREATE_IMAGES" ]; then fi fi -echo "Creating preview images" -rm -f $ISO_DIR/preview/*.jpg -ffmpeg -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} -r 0.1 -f image2 $ISO_DIR/preview/image-%02d.jpg >/dev/null -for i in `seq 22 -1 1`; do - f=`printf %02d $i` - [ -e $ISO_DIR/preview/image-$f.jpg ] && { - convert -resize 320x200 $ISO_DIR/preview/image-$f.jpg $ISO_DIR/preview/preview.jpg - convert -resize 400x300 $ISO_DIR/preview/image-$f.jpg $ISO_DIR/preview/preview-400x300.jpg - break - } -done +if [ ! "$VIEWMODE" ]; then + echo "Creating preview images" + rm -f $ISO_DIR/preview/image-*.jpg + ffmpeg -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} -r 0.1 -f image2 $ISO_DIR/preview/image-%02d.jpg >/dev/null + for i in `seq 22 -1 1`; do + f=`printf %02d $i` + [ -e $ISO_DIR/preview/image-$f.jpg ] && { + convert -resize 320x200 $ISO_DIR/preview/image-$f.jpg $ISO_DIR/preview/preview-$ISO_VERSION.jpg + ln -sf preview-$ISO_VERSION.jpg $ISO_DIR/preview/preview.jpg + convert -resize 400x300 $ISO_DIR/preview/image-$f.jpg $ISO_DIR/preview/preview-$ISO_VERSION-400x300.jpg + ln -sf preview-$ISO_VERSION-400x300.jpg $ISO_DIR/preview/preview-400x300.jpg + break + } + done -if [ ! "$RECREATE_IMAGES" ]; then - echo "Creating ${VIDEO_EXT2} video from ${VIDEO_EXT}" + if [ ! "$RECREATE_IMAGES" ]; then + echo "Creating ${VIDEO_EXT2} video from ${VIDEO_EXT}" #ffmpeg -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2} >/dev/null - ffmpeg2theora -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2} >/dev/null + ffmpeg2theora -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2} >/dev/null #cleanup old files - for f in `ls $ISO_DIR/preview/*${VIDEO_EXT}`; do - [ "$f" = "$ISO_DIR/preview/$ISO_NAME${VIDEO_EXT}" ] || rm -f $f - done - for f in `ls $ISO_DIR/preview/*${VIDEO_EXT2}`; do - [ "$f" = "$ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2}" ] || rm -f $f - done + for f in `ls $ISO_DIR/preview/*${VIDEO_EXT}`; do + [ "$f" = "$ISO_DIR/preview/$ISO_NAME${VIDEO_EXT}" ] || rm -f $f + done + for f in `ls $ISO_DIR/preview/*${VIDEO_EXT2}`; do + [ "$f" = "$ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2}" ] || rm -f $f + done + fi fi echo "Done."