From 4b52706f8b9b622d6fe97bf348f039f76897919c Mon Sep 17 00:00:00 2001 From: Chris Mayo Date: Fri, 26 Jul 2019 19:48:13 +0100 Subject: [PATCH] virtualx.eclass: Fix no display for an emerge following a failure If using GNOME GDM, X is started on DISPLAY :0 but a lock file /tmp/.X1024-lock is created instead of /tmp/.X0-lock. virtx() will initially set XDISPLAY to 0 and attempt to start Xvfb on DISPLAY :0 which fails but DISPLAY :1 (and greater) is not attempted if a previous emerge left /tmp/.X1-lock behind. Signed-off-by: Chris Mayo --- eclass/virtualx.eclass | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass index fb6a867a35c..e3dfe3a91a0 100644 --- a/eclass/virtualx.eclass +++ b/eclass/virtualx.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # @ECLASS: virtualx.eclass @@ -178,7 +178,10 @@ virtx() { # Xvfb is started, else bump the display number # # Azarah - 5 May 2002 - XDISPLAY=$(i=0; while [[ -f /tmp/.X${i}-lock ]] ; do ((i++));done; echo ${i}) + # GNOME GDM may have started X on DISPLAY :0 with a + # lock file /tmp/.X1024-lock, therefore start the search at 1. + # Else a leftover /tmp/.X1-lock will prevent finding an available display. + XDISPLAY=$(i=1; while [[ -f /tmp/.X${i}-lock ]] ; do ((i++));done; echo ${i}) debug-print "${FUNCNAME}: XDISPLAY=${XDISPLAY}" # We really do not want SANDBOX enabled here -- 2.21.0