|
|
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);
}
-----------------------------------
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.