/[gentoo-x86]/eclass/virtualx.eclass
Gentoo

Diff of /eclass/virtualx.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.22 Revision 1.28
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/virtualx.eclass,v 1.22 2005/07/06 20:20:04 agriffis Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/virtualx.eclass,v 1.28 2009/06/15 05:37:51 ssuominen Exp $
4# 4#
5# Author: Martin Schlemmer <azarah@gentoo.org> 5# Author: Martin Schlemmer <azarah@gentoo.org>
6# 6#
7# This eclass can be used for packages that needs a working X environment to build 7# This eclass can be used for packages that needs a working X environment to build
8 8
9DEPEND="X? ( virtual/x11 )" 9DEPEND="X? ( x11-base/xorg-server x11-apps/xhost )"
10IUSE="X" 10IUSE="X"
11 11
12DESCRIPTION="Based on the $ECLASS eclass" 12DESCRIPTION="Based on the $ECLASS eclass"
13 13
14# 14#
32 ( [[ -z ${DISPLAY} ]] || ! (${XHOST} &>/dev/null) ) ; then 32 ( [[ -z ${DISPLAY} ]] || ! (${XHOST} &>/dev/null) ) ; then
33 export XAUTHORITY= 33 export XAUTHORITY=
34 # The following is derived from Mandrake's hack to allow 34 # The following is derived from Mandrake's hack to allow
35 # compiling without the X display 35 # compiling without the X display
36 36
37 einfo "Scanning for a open DISPLAY to start Xvfb ..." 37 einfo "Scanning for an open DISPLAY to start Xvfb ..."
38 38
39 # We really do not want SANDBOX enabled here 39 # We really do not want SANDBOX enabled here
40 export SANDBOX_DISABLED="1" 40 export SANDBOX_DISABLED="1"
41 41
42 local i=0 42 local i=0
43 XDISPLAY=$(i=0; while [[ -f /tmp/.X${i}-lock ]] ; do i=$((${i}+1));done; echo ${i}) 43 XDISPLAY=$(i=0; while [[ -f /tmp/.X${i}-lock ]] ; do i=$((${i}+1));done; echo ${i})
44 44
45 # If we are in a chrooted environment, and there is already a 45 # If we are in a chrooted environment, and there is already a
46 # X server started outside of the chroot, Xvfb will fail to start 46 # X server started outside of the chroot, Xvfb will fail to start
47 # on the same display (most cases this is :0 ), so make sure 47 # on the same display (most cases this is :0 ), so make sure
48 # Xvfb is started, else bump the display number 48 # Xvfb is started, else bump the display number
49 # 49 #
55 # 55 #
56 # Sven Wegener <swegener@gentoo.org> - 22 Aug 2004 56 # Sven Wegener <swegener@gentoo.org> - 22 Aug 2004
57 # 57 #
58 ${XVFB} :${XDISPLAY} -screen 0 800x600x24 &>/dev/null & 58 ${XVFB} :${XDISPLAY} -screen 0 800x600x24 &>/dev/null &
59 sleep 2 59 sleep 2
60 60
61 local start=${XDISPLAY} 61 local start=${XDISPLAY}
62 while [[ ! -f /tmp/.X${XDISPLAY}-lock ]] ; do 62 while [[ ! -f /tmp/.X${XDISPLAY}-lock ]] ; do
63 # Stop trying after 15 tries 63 # Stop trying after 15 tries
64 if [[ $((${XDISPLAY} - ${start})) -gt 15 ]] ; then 64 if [[ $((${XDISPLAY} - ${start})) -gt 15 ]] ; then
65 65
66 eerror "" 66 eerror ""
67 eerror "Unable to start Xvfb." 67 eerror "Unable to start Xvfb."
68 eerror "" 68 eerror ""
69 eerror "'/usr/X11R6/bin/Xvfb :${XDISPLAY} -screen 0 800x600x24' returns:" 69 eerror "'/usr/bin/Xvfb :${XDISPLAY} -screen 0 800x600x24' returns:"
70 eerror "" 70 eerror ""
71 ${XVFB} :${XDISPLAY} -screen 0 800x600x24 71 ${XVFB} :${XDISPLAY} -screen 0 800x600x24
72 eerror "" 72 eerror ""
73 eerror "If possible, correct the above error and try your emerge again." 73 eerror "If possible, correct the above error and try your emerge again."
74 eerror "" 74 eerror ""
82 82
83 # Now enable SANDBOX again if needed. 83 # Now enable SANDBOX again if needed.
84 export SANDBOX_DISABLED="${OLD_SANDBOX_DISABLED}" 84 export SANDBOX_DISABLED="${OLD_SANDBOX_DISABLED}"
85 85
86 einfo "Starting Xvfb on \$DISPLAY=${XDISPLAY} ..." 86 einfo "Starting Xvfb on \$DISPLAY=${XDISPLAY} ..."
87 87
88 export DISPLAY=:${XDISPLAY} 88 export DISPLAY=:${XDISPLAY}
89 #Do not break on error, but setup $retval, as we need 89 #Do not break on error, but setup $retval, as we need
90 #to kill Xvfb 90 #to kill Xvfb
91 ${maketype} $* 91 ${maketype} $*
92 retval=$? 92 retval=$?

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.20