File:  [CSRG BSD Unix] / 43BSDTahoe / new / X / X11.README
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:58 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43tahoe
BSD 4.3tahoe

The X11R2 distribution wasn't included with 4.3BSD-tahoe due to
space considerations.  It is available from MIT by anonymous ftp
from expo.lcs.mit.edu or on tape distribution.  Minimal changes are
required to compile it under this release.

The X11R2 code was compiled on a VAX, and servers for Digital
Equipment Corp. display hardware QDSS and QVSS were built (see
QDSS.README for details).  The following is a list of changes that
are necessary to compile X11R2 servers for QDSS and QVSS.

1)	Apply patches 1 through 33 to the stock MIT X11R2 distribution.
	(patches available from expo.lcs.mit.edu via anonymous FTP)

2)	In X11R2/server/ddx/dec/qdss/Ultrix2.0inc.h, comment out the
	reference to "<sys/devio.h>".

3)	Due to changes in preparation for ANSI C, the ioctl macros 
	have changed.  In X11R2/server/ddx/dec/qdss/libtl/tl.h add
	single quotes around the letters in the ioctl declarations.

------- tl.h -------
*** /tmp/d16813	Tue Jun 14 15:53:44 1988
--- tl.h	Fri May 27 17:42:41 1988
***************
*** 186,196 ****
  extern char * 			Cur;
  extern struct color_buf *       Co[2];
  
! #define SG_MAPDEVICE  _IOR(g, 9, struct sgmap) /* map device to user */
! #define SG_VIDEOON    _IO(g,23)             /* turn on the video */
! #define SG_VIDEOOFF   _IO(g,24)             /* turn off the video */
! #define SG_CURSORON   _IO(g,25)             /* turn on the cursor */
! #define SG_CURSOROFF  _IO(g,26)             /* turn off the cursor */
  #define ADDRESS_COUNTER         0
  #define REQUEST_ENABLE          1
  #define STATUS                  3
--- 186,196 ----
  extern char * 			Cur;
  extern struct color_buf *       Co[2];
  
! #define SG_MAPDEVICE  _IOR('g', 9, struct sgmap) /* map device to user */
! #define SG_VIDEOON    _IO('g',23)             /* turn on the video */
! #define SG_VIDEOOFF   _IO('g',24)             /* turn off the video */
! #define SG_CURSORON   _IO('g',25)             /* turn on the cursor */
! #define SG_CURSOROFF  _IO('g',26)             /* turn off the cursor */
  #define ADDRESS_COUNTER         0
  #define REQUEST_ENABLE          1
  #define STATUS                  3
------------------------------------------------

4)      In X11R2/server/ddx/dec/qdss/qdpushpxl.c there is a null
	storage declaration which the Ultrix compiler doesn't mind,
	but the 4.3BSD-tahoe compiler does.  Move the null storage
	declaration inside the "#ifdef notdef" section of code.

------- qdpushpxl.c -------
*** /tmp/d16864	Tue Jun 14 15:56:21 1988
--- qdpushpxl.c	Fri May 27 18:07:04 1988
***************
*** 247,255 ****
      int			x1, y1, x2, y2;	/* clipping rectangle in pixmap coords*/
      int                 xOrg, yOrg;     /* origin of bitmap within pixmap */
  {
-     int			mask[];
  
  #ifdef undef
      register int	chmask = 0xff << (ch*8);
      u_char *		destorig = ((QDPixPtr)pPixmap->devPrivate)->data
  				    [ nch * pPixmap->width * pPixmap->height]; 
--- 247,255 ----
      int			x1, y1, x2, y2;	/* clipping rectangle in pixmap coords*/
      int                 xOrg, yOrg;     /* origin of bitmap within pixmap */
  {
  
  #ifdef undef
+     int			mask[];
      register int	chmask = 0xff << (ch*8);
      u_char *		destorig = ((QDPixPtr)pPixmap->devPrivate)->data
  				    [ nch * pPixmap->width * pPixmap->height]; 
---------------------------------

5)	X11R2/server/os/4.2bsd/connection.c has a bug which causes
	the unix domain socket to have the wrong permission, and clients
	can't connect to it.  Add a umask(0) before the bind().

*** connection.c-r1.1	Tue Jun 14 15:44:43 1988
--- connection.c-r1.2	Tue Jun 14 15:44:44 1988
***************
*** 219,226 ****
--- 219,228 ----
      } 
      else 
      {
+ 	oldUmask = umask (0);
  	if(bind(request,(struct sockaddr *)&unsock, strlen(unsock.sun_path)+2))
  	    Error ("Binding Unix socket");
+ 	(void)umask(oldUmask);
  	if (listen (request, 5)) Error ("Unix Listening");
  	WellKnownConnections |= (1 << request);
      }
-----------------------------------

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.