On Mon, Jul 29, 2019 at 10:20 PM Michał Górny <mgo...@gentoo.org> wrote: > > On Tue, 2019-07-30 at 01:49 +0000, Matt Turner wrote: > > commit: 6f680e4fe73925ae130343e02adb416cb799ce7d > > Author: Chris Mayo <aklhfex <AT> gmail <DOT> com> > > AuthorDate: Fri Jul 26 18:48:13 2019 +0000 > > Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> > > CommitDate: Tue Jul 30 01:49:41 2019 +0000 > > URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f680e4f > > > > 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. > > > > Closes: https://bugs.gentoo.org/690778 > > Signed-off-by: Chris Mayo <aklhfex <AT> gmail.com> > > Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> > > > > eclass/virtualx.eclass | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass > > index fb6a867a35c..40eeea5463b 100644 > > --- a/eclass/virtualx.eclass > > +++ b/eclass/virtualx.eclass > > @@ -1,4 +1,4 @@ > > -# Copyright 1999-2018 Gentoo Foundation > > +# Copyright 1999-2019 Gentoo Authors > > # 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 > > Isn't this a cheap hack that doesn't fix the underlying issue but shifts > the problem into hopefully-won't-happen-this-time?
Yes, but given that the prior code was a cheap hack as well (from 2002, no less!) and has worked out well enough for 17 years that no one has reported problems with it until now, I don't think it's critical to make it bullet-proof. Of course I'm happy to accept patches. > Also, why are you skipping mailing list review for eclass changes? Ah, you are right. My apologies.