CVS:oo-deb/debian/scripts oo-xvfb-run,NONE,1.1
Update of /cvs/debian-openoffice/oo-deb/debian/scripts
In directory gluck:/tmp/cvs-serv23903/scripts
Added Files:
oo-xvfb-run
Log Message:
move oo-xvfb-run to scripts/ and use it in debian/rules for woody backport
compatibility
--- NEW FILE: oo-xvfb-run ---
#!/bin/sh
# xvfb-run - run the specified command in a virtual X server
# This script starts an instance of Xvfb, the "fake" X server, runs a
# command with that server available, and kills the X server when
# done. The return value of the command becomes the return value of
# this script.
#
# If anyone is using this to build a Debian package, make sure the
# package Build-Depends on xvfb, xbase-clients and xfonts-base.
DISPLAYNUM=99
AUTHFILE=$(pwd)/Xauthority
STARTWAIT=3
LISTENTCP="-nolisten tcp"
unset AUTODISPLAYNUM || true
usage()
{
echo "Usage: $0 [OPTION]... [command]"
echo
echo "run specified X client or command in a virtual X server environment"
echo
echo " -a --auto-displaynum Try to get a free display number, starting at --display-num"
echo " -f --auth-file=FILE File to store auth cookie (default:./Xauthority)"
echo " -n --display-num=NUM Display number to use (default:$DISPLAYNUM)"
echo " -l --listen-tcp Enable TCP port listening in the X server"
echo " -w --wait=DELAY Delay in seconds to wait for Xvfb to start (default:$STARTWAIT)"
echo " -h --help Display this help and exit"
}
# Find free display number by looking at .X-lock files in /tmp
find_free_display()
{
i=$DISPLAYNUM
while [ -f /tmp/.X$i-lock ]; do
i=$(($i+1))
done
echo $i
}
# Parse command line
ARGS=`getopt --options +af:n:lw:h \
--long auto-displaynum,authority-file:,display-num:,listen-tcp,wait:,help \
--name "$0" -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$ARGS"
while true ; do
case "$1" in
'-a'|'--auto-displaynum')
AUTODISPLAYNUM=y
;;
'-f'|'--auth-file')
AUTHFILE="$2"
shift
;;
'-n'|'--display-num')
DISPLAYNUM="$2"
shift
;;
'-l'|'--listen-tcp')
LISTENTCP=
;;
'-w'|'--wait')
STARTWAIT="$2"
shift
;;
'-h'|'--help')
usage
exit 1
;;
'--')
# end of options
shift
break
;;
*)
echo "Internal error!"; exit 1;;
esac
shift
done
[ -n "$AUTODISPLAYNUM" ] && DISPLAYNUM=`find_free_display`
rm -f "$AUTHFILE"
MCOOKIE=$(mcookie)
XAUTHORITY="$AUTHFILE" xauth add :$DISPLAYNUM . $MCOOKIE > /dev/null
XAUTHORITY="$AUTHFILE" Xvfb :$DISPLAYNUM -screen 0 640x480x8 $LISTENTCP \
> /dev/null &
XVFBPID=$!
sleep $STARTWAIT
# Check that server has not exited
if ! kill -0 $XVFBPID; then
echo "Xvfb server has died" >&2
exit 1
fi
# start the command and save its exit status
echo $@
DISPLAY=:$DISPLAYNUM XAUTHORITY="$AUTHFILE" $@ 2>&1
RETVAL=$?
# kill Xvfb and clean up
kill $XVFBPID
XAUTHORITY="$AUTHFILE" xauth remove :$DISPLAYNUM > /dev/null
rm "$AUTHFILE"
# return the executed command's exit status
exit $RETVAL
Reply to: