Resync all files to present production state
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# makedist-announcement
|
||||
# Copyright (c) 2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
# Copyright (c) 2012-2013 by Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
#
|
||||
|
||||
. /usr/share/makedist/VERSION
|
||||
@@ -12,7 +12,7 @@ TEXTDOMAIN="makedist"; export TEXTDOMAIN
|
||||
|
||||
function usage() {
|
||||
echo $"Usage"": makedist-announcement distversion [mediumname] [--rebuild-announcement] [--rebuild-catalog]
|
||||
[--send-email] [--send-test-email] [-h|--help]
|
||||
[--send-email] [--send-test-email] [-h|--help] [-y|--yes]
|
||||
|
||||
"$"Example"":
|
||||
makedist-announcement milestone2 livecd --send-test-email
|
||||
@@ -29,6 +29,7 @@ while [ "$1" ]; do
|
||||
--send-email) SCRIPT_ENV_ADD="$SCRIPT_ENV_ADD SENDEMAIL=1" ;;
|
||||
--send-test-email) SCRIPT_ENV_ADD="$SCRIPT_ENV_ADD SENDTESTEMAIL=1" ;;
|
||||
-h|--help) usage; exit 0 ;;
|
||||
-y|--yes) EXTRA_OPTS="-y" ;;
|
||||
-*) echo "Error: uknown option $1; aborting."
|
||||
exit 1
|
||||
;;
|
||||
@@ -66,14 +67,17 @@ if [ "$mediumname" ]; then
|
||||
*) echo "Error: unsupported language $outputlang; aborting."; exit 1 ;;
|
||||
esac
|
||||
[ "$SCRIPT_ENV_ADD" ] && export $SCRIPT_ENV_ADD
|
||||
/usr/share/makedist/makedist-announcement.sh $distversion $mediumname $outputlang || exit 1
|
||||
/usr/share/makedist/makedist-announcement.sh $EXTRA_OPTS $distversion $mediumname $outputlang || exit 1
|
||||
done
|
||||
fi
|
||||
|
||||
#if [ ! "$SENDEMAIL" -a ! "$SENDTESTEMAIL" ]; then
|
||||
echo $"Generating $distversion announcements index"
|
||||
echo $"Generating $distversion announcements indexes"
|
||||
for outputlang in $outputlangs; do
|
||||
tmpfile=`mktemp -q -t makedist-announcement.XXXXXXXX`
|
||||
indexfile=/var/ftp/pub/$distribution/media/$distversion/release-announcement-index.$outputlang.html.inc
|
||||
dateindexfile=/var/ftp/pub/$distribution/media/$distversion/release-announcement-dateindex.$outputlang.html.inc
|
||||
> $dateindexfile
|
||||
echo "<table>" > $indexfile
|
||||
column=0
|
||||
for i in `seq 1 ${#MEDIA_NAME[*]}`; do
|
||||
@@ -82,6 +86,8 @@ fi
|
||||
for f in $mediumdir/info/release-announcement-*.$outputlang.html; do
|
||||
[ -r $f ] || continue
|
||||
version=`echo $f | sed "s|.*/release-announcement-\(.*\)\.$outputlang.html|\1|"`
|
||||
announcedate=`stat --format=%X $f`
|
||||
echo "$announcedate `date -d @$announcedate +%d/%m/%Y` ${MEDIA_NAME[i-1]} $version" >> $tmpfile
|
||||
done
|
||||
[ "$version" ] || continue
|
||||
[ $column -eq 0 ] && echo -n "<tr>" >> $indexfile
|
||||
@@ -94,5 +100,11 @@ fi
|
||||
done
|
||||
[ $column -eq 0 ] && echo -n "<td></td></tr>" >> $indexfile
|
||||
echo "</table>" >> $indexfile
|
||||
sort -r $tmpfile | \
|
||||
while read line; do
|
||||
set -- $line
|
||||
echo "<br>$2 <a href=\"/distribution/announcements.html?distrelease=${distversion}&medium=$3&version=$4\">"$"Release: ""$distribution $distversion $3 $4</a>" >> $dateindexfile
|
||||
done
|
||||
rm -f $tmpfile
|
||||
done
|
||||
#fi
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
RECORDVM_DATA=/var/makedist/recordvm
|
||||
#VBOX=1
|
||||
VBOX_VMNAME="openmamba-recordvm"
|
||||
VBOX_DISPLAY=:1
|
||||
X_DISPLAY=4
|
||||
EXECUTION_TIME=200
|
||||
VIDEO_EXT=.flv
|
||||
VIDEO_EXT2=.ogv
|
||||
|
||||
function usage() {
|
||||
echo "Usage:"
|
||||
echo "recordvm.sh iso_path [--recreate-images] [-h]"
|
||||
echo "recordvm.sh iso_path [--only-recreate-images] [-h]"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
@@ -18,7 +18,7 @@ opts=($@)
|
||||
|
||||
while test -n "$1" ; do
|
||||
case $1 in
|
||||
"--recreate-images") RECREATE_IMAGES=1;;
|
||||
"--only-recreate-images") ONLY_RECREATE_IMAGES=1;;
|
||||
"-h") usage; exit 0 ;;
|
||||
*) if [ -z "$ISO_PATH" ]; then
|
||||
ISO_PATH=$1
|
||||
@@ -57,12 +57,22 @@ fi
|
||||
VIEWMODE=1
|
||||
}
|
||||
|
||||
if [ ! "$RECREATE_IMAGES" ]; then
|
||||
echo $ISO_NAME | grep $ISO_VERSION >/dev/null || {
|
||||
echo "makedist-recordvm: ERROR: iso file passed as input does not contain versione; running in view mode only."
|
||||
VIEWMODE=1
|
||||
}
|
||||
|
||||
if [ ! "$ONLY_RECREATE_IMAGES" ]; then
|
||||
echo "Preparing ISO image $ISO_PATH"
|
||||
ln -sf $ISO_PATH $RECORDVM_DATA/recordvm.iso
|
||||
[ -e /tmp/.X$X_DISPLAY-lock ] && X_PID=`cat /tmp/.X$X_DISPLAY-lock`
|
||||
if [ "$X_PID" ]; then
|
||||
echo "Warning: an X server seems already running on display $X_DISPLAY with pid $X_PID; killing."
|
||||
kill -9 $X_PID
|
||||
fi
|
||||
echo "Starting virtual machine for $ISO_PATH"
|
||||
export HOME=$RECORDVM_DATA
|
||||
xinit -- $VBOX_DISPLAY &
|
||||
xinit -- :$X_DISPLAY &
|
||||
|
||||
if [ "$VBOX" ]; then
|
||||
trap "VBoxManage controlvm $VBOX_VMNAME poweroff" INT QUIT TSTP
|
||||
@@ -79,12 +89,14 @@ if [ ! "$RECREATE_IMAGES" ]; then
|
||||
fi
|
||||
let sleepcnt=sleepcnt+1
|
||||
done
|
||||
WINID=`xwininfo -display $VBOX_DISPLAY -name "$VBOX_VMNAME - Oracle VM VirtualBox" 2>/dev/null |grep "Window id:"| sed "s|.*Window id: \([0-9a-fx]*\).*|\1|"`
|
||||
WINID=`xwininfo -display :$X_DISPLAY -name "$VBOX_VMNAME - Oracle VM VirtualBox" 2>/dev/null |grep "Window id:"| sed "s|.*Window id: \([0-9a-fx]*\).*|\1|"`
|
||||
VOFFSET=0
|
||||
VBoxManage controlvm $VBOX_VMNAME reset
|
||||
else
|
||||
sleepcnt=0
|
||||
while true; do
|
||||
WINID=`xwininfo -display $VBOX_DISPLAY -name "QEMU (qemu-recordvm)" 2>/dev/null |grep "Window id:"| sed "s|.*Window id: \([0-9a-fx]*\).*|\1|"`
|
||||
# WINID=`xwininfo -display :$X_DISPLAY -name "QEMU (qemu-recordvm)" 2>/dev/null |grep "Window id:"| sed "s|.*Window id: \([0-9a-fx]*\).*|\1|"`
|
||||
WINID=`xwininfo -display :$X_DISPLAY -root -children 2>/dev/null | grep qemu-recordvm | awk '{ print $1; }' 2>/dev/null`
|
||||
[ "$WINID" ] && break
|
||||
if [ $sleepcnt -gt 20 ]; then
|
||||
echo "qemu did not start; aborting."
|
||||
@@ -93,6 +105,8 @@ if [ ! "$RECREATE_IMAGES" ]; then
|
||||
let sleepcnt=sleepcnt+1
|
||||
sleep 1
|
||||
done
|
||||
# since qemu 1.5 skip top menu when capturing
|
||||
VOFFSET=24
|
||||
fi
|
||||
|
||||
echo "Windowid is: $WINID"
|
||||
@@ -100,8 +114,8 @@ if [ ! "$RECREATE_IMAGES" ]; then
|
||||
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 \
|
||||
DBUS_SESSION_BUS_ADDRESS= HOME=$RECORDVM_DATA DISPLAY=:$X_DISPLAY xvidcap \
|
||||
--cap_geometry 1024x768+0+$VOFFSET \
|
||||
--verbose 2 --gui no --audio no \
|
||||
--time $EXECUTION_TIME --file $ISO_DIR/preview/${ISO_NAME}${VIDEO_EXT} \
|
||||
--quality 100 >>$RECORDVM_DATA/recordvm.log
|
||||
@@ -111,32 +125,53 @@ if [ ! "$RECREATE_IMAGES" ]; then
|
||||
|
||||
echo "Powering off VM"
|
||||
if [ "$VBOX" ]; then
|
||||
VBoxManage controlvm $VBOX_VMNAME poweroff &
|
||||
# Virtualbox
|
||||
VBoxManage controlvm $VBOX_VMNAME poweroff &
|
||||
|
||||
count=0
|
||||
while [ "`pidof VBoxManage`" ]; do
|
||||
let count=count+1
|
||||
sleep 1
|
||||
if [ $count -gt 60 ]; then
|
||||
killall -9 VBoxManage
|
||||
break
|
||||
fi
|
||||
done
|
||||
count=0
|
||||
while [ "`pidof VBoxManage`" ]; do
|
||||
let count=count+1
|
||||
sleep 1
|
||||
if [ $count -gt 60 ]; then
|
||||
killall -9 VBoxManage
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
xkill -id $WINID -display $VBOX_DISPLAY
|
||||
# Qemu
|
||||
if [ "$WINID" ]; then
|
||||
xkill -id $WINID -display :$X_DISPLAY || true
|
||||
fi
|
||||
sleep 10
|
||||
# workaround for safety
|
||||
QEMU_PID=`pidof qemu-system-x86_64`
|
||||
if [ "$QEMU_PID" ]; then
|
||||
for p in $QEMU_PID; do
|
||||
grep qemu-recordvm /proc/$p/cmdline && kill -9 $p
|
||||
done
|
||||
fi
|
||||
# FIXME: sleep here as a workaround attempt for script aborting sometimes
|
||||
fi
|
||||
[ -e /tmp/.X$X_DISPLAY-lock ] && X_PID=`cat /tmp/.X$X_DISPLAY-lock`
|
||||
if [ "$X_PID" ]; then
|
||||
echo "Warning: X server seems to be still running on display $X_DISPLAY with pid $X_PID; killing."
|
||||
kill -9 $X_PID
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! "$VIEWMODE" ]; then
|
||||
echo "Creating preview images"
|
||||
rm -f $ISO_DIR/preview/image-${ISO_ARCH}-*.jpg
|
||||
ffmpeg -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} -r 0.1 -f image2 $ISO_DIR/preview/image-${ISO_ARCH}-%02d.jpg >/dev/null
|
||||
ffmpeg -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} -r 0.1 -f image2 $ISO_DIR/preview/image-${ISO_ARCH}-%02d.jpg >/dev/null || \
|
||||
echo "ERROR: ffmpeg exited with code: $?"
|
||||
for i in `seq 22 -1 1`; do
|
||||
f=`printf %02d $i`
|
||||
convert -resize 50x40 $ISO_DIR/preview/image-${ISO_ARCH}-$f.jpg $ISO_DIR/preview/image-${ISO_ARCH}-$f-50x40.jpg
|
||||
convert -resize 50x40 $ISO_DIR/preview/image-${ISO_ARCH}-$f.jpg $ISO_DIR/preview/image-${ISO_ARCH}-$f-50x40.jpg || \
|
||||
echo "ERROR: convert exited with code: $?"
|
||||
done
|
||||
for i in `seq 22 -1 1`; do
|
||||
f=`printf %02d $i`
|
||||
rm -f $ISO_DIR/preview/preview-${ISO_ARCH}-*.jpg
|
||||
[ -e $ISO_DIR/preview/image-${ISO_ARCH}-$f.jpg ] && {
|
||||
convert -resize 320x200 $ISO_DIR/preview/image-${ISO_ARCH}-$f.jpg $ISO_DIR/preview/preview-${ISO_ARCH}-$ISO_VERSION.jpg
|
||||
ln -sf preview-${ISO_ARCH}-$ISO_VERSION.jpg $ISO_DIR/preview/preview-${ISO_ARCH}.jpg
|
||||
@@ -146,9 +181,9 @@ if [ ! "$VIEWMODE" ]; then
|
||||
}
|
||||
done
|
||||
|
||||
if [ ! "$RECREATE_IMAGES" ]; then
|
||||
if [ ! "$ONLY_RECREATE_IMAGES" ]; then
|
||||
echo "Creating ${VIDEO_EXT2} video from ${VIDEO_EXT}"
|
||||
ffmpeg2theora -y -i $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2} >/dev/null
|
||||
ffmpeg2theora -o $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2} $ISO_DIR/preview/$ISO_NAME${VIDEO_EXT} >/dev/null
|
||||
|
||||
# cleanup old files
|
||||
for f in `ls $ISO_DIR/preview/*.${ISO_ARCH}.*${VIDEO_EXT}`; do
|
||||
@@ -157,6 +192,10 @@ if [ ! "$VIEWMODE" ]; then
|
||||
for f in `ls $ISO_DIR/preview/*.${ISO_ARCH}.*${VIDEO_EXT2}`; do
|
||||
[ "$f" = "$ISO_DIR/preview/$ISO_NAME${VIDEO_EXT2}" ] || rm -f $f
|
||||
done
|
||||
|
||||
ln -snf $ISO_NAME${VIDEO_EXT} $ISO_DIR/preview/${ISO_NAME/-$ISO_VERSION}${VIDEO_EXT}
|
||||
ln -snf $ISO_NAME${VIDEO_EXT2} $ISO_DIR/preview/${ISO_NAME/-$ISO_VERSION}${VIDEO_EXT2}
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user