ports/134643: [patch] x11-servers/xorg-server - Unbreak Xorg 7.4 server

Peter Jeremy peterjeremy at optushome.com.au
Mon May 18 10:50:01 UTC 2009


>Number:         134643
>Category:       ports
>Synopsis:       [patch] x11-servers/xorg-server - Unbreak Xorg 7.4 server
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 18 10:50:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Peter Jeremy
>Release:        FreeBSD 8.0-CURRENT amd64
>Organization:
n/a
>Environment:
System: FreeBSD server.vk2pj.dyndns.org 8.0-CURRENT FreeBSD 8.0-CURRENT #6: Sun Apr 12 22:57:30 EST 2009 root at server.vk2pj.dyndns.org:/var/obj/usr/src/sys/server amd64

>Description:
	The Xorg 7.4 server was "enhanced" to provide a jet-black screen
	with no cursor by default, whilst disabling the Ctrl-Alt-Backspace
	key sequence.  Amongst other side-effects, this means that the
	standard way of testing a new xorg.conf file (as recommended in
	the output from 'X -configure') results in a blank screen that
	can't be stopped with Ctrl-Alt-Backspace - ie one that is
	indistinguishable from an Xserver that is stuffed.

	The attached patch restores the behaviour that has been expected
	for the past few decades.

	Note that the broken behaviour can be restored with a new
	'-blank' option.  The '-retro' option is still accepted for
	compatibility with scripts that have already been updated to
	compensate for the brokenness.

>How-To-Repeat:
	X -configure
	X -config xorg.conf.new
>Fix:
	Patch the Makefile as follows an unpack the following shar.
Index: Makefile
===================================================================
RCS file: /usr/ncvs/ports/x11-servers/xorg-server/Makefile,v
retrieving revision 1.72
diff -u -r1.72 Makefile
--- Makefile	7 May 2009 19:40:17 -0000	1.72
+++ Makefile	18 May 2009 10:34:54 -0000
@@ -7,6 +7,7 @@
 
 PORTNAME=	xorg-server
 PORTVERSION=	1.6.1
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	x11-servers
 MASTER_SITES=	http://xorg.freedesktop.org/releases/individual/xserver/
---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	files/patch-dix-globals.c
#	files/patch-doc-Xserver.man.pre
#	files/patch-hw-xfree86-doc-man-Xorg.man.pre
#	files/patch-os-utils.c
#
echo x - files/patch-dix-globals.c
sed 's/^X//' >files/patch-dix-globals.c << '084568d624074de49768040a6b62c519'
X--- dix/globals.c~	2009-04-15 03:14:56.000000000 +1000
X+++ dix/globals.c	2009-05-18 18:34:18.031579448 +1000
X@@ -139,7 +139,7 @@
X FontPtr defaultFont;   /* not declared in dix.h to avoid including font.h in
X 			every compilation of dix code */
X CursorPtr rootCursor;
X-Bool party_like_its_1989 = FALSE;
X+Bool party_like_its_1989 = TRUE;
X Bool whiteRoot = FALSE;
X 
X int cursorScreenDevPriv[MAXSCREENS];
084568d624074de49768040a6b62c519
echo x - files/patch-doc-Xserver.man.pre
sed 's/^X//' >files/patch-doc-Xserver.man.pre << '5cf69b5687778c67e2f8010c9a7933a3'
X--- doc/Xserver.man.pre~	2009-04-15 03:14:56.000000000 +1000
X+++ doc/Xserver.man.pre	2009-05-18 17:50:47.390959562 +1000
X@@ -100,6 +100,13 @@
X to authenticate access.  See also the \fIxdm\fP(1) and 
X \fIXsecurity\fP(__miscmansuffix__) manual pages.
X .TP 8
X+.B -blank
X+starts the server with a completely blank, black root window and no visible
X+cursor until the first time an application calls XDefineCursor().
X+For the Xorg server,
X+this also changes the default for the DontZap option to TRUE, disabling
X+the Ctrl-Alt-Backspace key sequence.
X+.TP 8
X .B \-bs
X disables backing store support on all screens.
X .TP 8
X@@ -219,13 +226,6 @@
X .B r
X turns on auto-repeat.
X .TP 8
X-.B -retro
X-starts the stipple with the classic stipple and cursor visible.  The default
X-is to start with a black root window, and to suppress display of the cursor
X-until the first time an application calls XDefineCursor().  For the Xorg
X-server, this also changes the default for the DontZap option to FALSE.  For
X-kdrive servers, this implies -zap.
X-.TP 8
X .B \-s \fIminutes\fP
X sets screen-saver timeout time in minutes.
X .TP 8
5cf69b5687778c67e2f8010c9a7933a3
echo x - files/patch-hw-xfree86-doc-man-Xorg.man.pre
sed 's/^X//' >files/patch-hw-xfree86-doc-man-Xorg.man.pre << '5644430d0ddb46be74204b1a3db04103'
X--- hw/xfree86/doc/man/Xorg.man.pre~	2009-04-15 03:14:57.000000000 +1000
X+++ hw/xfree86/doc/man/Xorg.man.pre	2009-05-18 17:51:26.442670119 +1000
X@@ -449,11 +449,11 @@
X are:
X .TP 8
X .B Ctrl+Alt+Backspace
X-Immediately kills the server -- no questions asked.  This is disabled by
X-default.  It can be enabled with the -retro command line flag or by setting
X+Immediately kills the server -- no questions asked.  This is enabled by
X+default.  It can be disabled with the -blank command line flag or by setting
X the
X .B DontZap
X-__xconfigfile__(__filemansuffix__) file option to a FALSE value.
X+__xconfigfile__(__filemansuffix__) file option to a TRUE value.
X .TP 8
X .B Ctrl+Alt+Keypad-Plus
X Change video mode to next one specified in the configuration file.
5644430d0ddb46be74204b1a3db04103
echo x - files/patch-os-utils.c
sed 's/^X//' >files/patch-os-utils.c << '82a018a3554e7bb21eff156fa338dccb'
X--- os/utils.c.orig	2009-04-15 03:14:57.000000000 +1000
X+++ os/utils.c	2009-05-18 17:51:42.765550516 +1000
X@@ -438,7 +438,11 @@
X 
X #ifdef MONOTONIC_CLOCK
X     struct timespec tp;
X+#if defined(__FreeBSD__) && defined(CLOCK_MONOTONIC_FAST)
X+    if (clock_gettime(CLOCK_MONOTONIC_FAST, &tp) == 0)
X+#else
X     if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
X+#endif
X         return (tp.tv_sec * 1000) + (tp.tv_nsec / 1000000L);
X #endif
X 
X@@ -478,6 +482,7 @@
X     ErrorF("-ac                    disable access control restrictions\n");
X     ErrorF("-audit int             set audit trail level\n");	
X     ErrorF("-auth file             select authorization file\n");	
X+    ErrorF("-blank                 start with a blank screen and no cursor\n");
X     ErrorF("-br                    create root window with black background\n");
X     ErrorF("+bs                    enable any backing store support\n");
X     ErrorF("-bs                    disable any backing store support\n");
X@@ -524,7 +529,6 @@
X #ifdef RENDER
X     ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
X #endif
X-    ErrorF("-retro                 start with classic stipple and cursor\n");
X     ErrorF("-s #                   screen-saver timeout (minutes)\n");
X     ErrorF("-t #                   mouse threshold (pixels)\n");
X     ErrorF("-terminate             terminate at server reset\n");
X@@ -633,6 +637,8 @@
X 	    else
X 		UseMsg();
X 	}
X+	else if ( strcmp( argv[i], "-blank") == 0)
X+	    party_like_its_1989 = FALSE;
X 	else if ( strcmp( argv[i], "-br") == 0) ; /* default */
X 	else if ( strcmp( argv[i], "+bs") == 0)
X 	    enableBackingStore = TRUE;
82a018a3554e7bb21eff156fa338dccb
exit




>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list