X Strike Force X.Org X11 SVN commit: r1382 - in branches/modular/app/xfs-X11R7.0-1.0.1/debian: . patches
Author: dnusinow
Date: 2006-03-05 20:13:20 -0500 (Sun, 05 Mar 2006)
New Revision: 1382
Added:
branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/01_xfs_fixes.diff
branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/02_debian_setup.diff
Modified:
branches/modular/app/xfs-X11R7.0-1.0.1/debian/changelog
branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/series
Log:
* Port patches from trunk
+ general/003b_xfs_fixes.diff
+ debian/906_debian_xfs.diff
Modified: branches/modular/app/xfs-X11R7.0-1.0.1/debian/changelog
===================================================================
--- branches/modular/app/xfs-X11R7.0-1.0.1/debian/changelog 2006-03-06 01:08:33 UTC (rev 1381)
+++ branches/modular/app/xfs-X11R7.0-1.0.1/debian/changelog 2006-03-06 01:13:20 UTC (rev 1382)
@@ -1,5 +1,8 @@
xfs (1:1.0.1-1) experimental; urgency=low
* First modular upload to Debian
+ * Port patches from trunk
+ + general/003b_xfs_fixes.diff
+ + debian/906_debian_xfs.diff
- -- David Nusinow <dnusinow@debian.org> Sun, 19 Feb 2006 19:58:38 -0500
+ -- David Nusinow <dnusinow@debian.org> Sun, 5 Mar 2006 20:12:51 -0500
Added: branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/01_xfs_fixes.diff
===================================================================
--- branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/01_xfs_fixes.diff 2006-03-06 01:08:33 UTC (rev 1381)
+++ branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/01_xfs_fixes.diff 2006-03-06 01:13:20 UTC (rev 1382)
@@ -0,0 +1,769 @@
+$Id: 003b_xfs_fixes.diff 396 2005-07-22 21:45:02Z dnusinow $
+
+This patch by Branden Robinson, Matthieu Herrb, and Nikita V. Youshchenko.
+
+os/utils.c:
+ - Handle pid files the way most other Unix daemons do. Use Matthieu
+ Herrb's version of StorePid(), which refuses to open pre-existing pid
+ files, and is more careful with the type of Pid_t.
+ - Allow the user to specify the pid filename on the command line with a
+ "-pid" option (courtesy of Nikita V. Youshchenko).
+ - Add RemovePid() function which removes the process ID file, and
+ register it with atexit() so that it is automatically invoked when xfs
+ exits.
+ - Sort options in usage message alphabetically.
+ - Refer to "user ID" and "process ID" in diagnostic messages, not
+ "userid" and "process-id".
+ - Remove duplicate unconditional #include of stdlib.h.
+ - Wrap long lines.
+ - Whitespace police.
+
+xfs.man:
+ - Document the new "-pid" option (courtesy of Nikita V. Youshchenko).
+ - Add "FUTURE DIRECTIONS" section.
+ - Perform massive cleanup and reformatting.
+
+Not submitted upstream yet.
+
+Index: os/utils.c
+===================================================================
+--- os/utils.c (revision 309)
++++ os/utils.c (working copy)
+@@ -3,7 +3,7 @@
+ * misc os utilities
+ */
+ /*
+-
++
+ Copyright 1990, 1991, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+@@ -27,7 +27,7 @@
+ in this Software without prior written authorization from The Open Group.
+
+ * Copyright 1990, 1991 Network Computing Devices;
+- * Portions Copyright 1987 by Digital Equipment Corporation
++ * Portions Copyright 1987 by Digital Equipment Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+@@ -90,8 +90,6 @@
+ #define SIGNALS_RESET_WHEN_CAUGHT
+ #endif
+
+-#include <stdlib.h>
+-
+ extern char *configfilename;
+ static Bool dropPriv = FALSE; /* whether or not to drop root privileges */
+ #ifdef DEFAULT_DAEMON
+@@ -116,7 +114,8 @@
+ static char *pidFile = XFSPIDDIR "/xfs.pid";
+ static int pidFd;
+ static FILE *pidFilePtr;
+-static int StorePid (void);
++static long StorePid (void);
++static void RemovePid (void);
+
+ /* ARGSUSED */
+ SIGVAL
+@@ -219,7 +218,9 @@
+ static void
+ usage(void)
+ {
+- fprintf(stderr, "usage: %s [-config config_file] [-port tcp_port] [-droppriv] [-daemon] [-nodaemon] [-user user_name] [-ls listen_socket]\n",
++ fprintf(stderr, "usage: %s [-config config_file] [-daemon] [-droppriv]"
++ " [-ls listen_socket] [-nodaemon] [-pid pid_file]"
++ " [-port tcp_port] [-user user_name]\n",
+ progname);
+ exit(1);
+ }
+@@ -242,7 +243,7 @@
+ *
+ * [] denotes optional and ... denotes repitition.
+ *
+- * The string must be _exactly_ in the above format.
++ * The string must be _exactly_ in the above format.
+ */
+
+ void
+@@ -260,7 +261,7 @@
+ count++;
+ ptr++;
+ }
+-
++
+ OldListenCount = count + 1;
+ OldListen = (OldListenRec *) malloc (
+ OldListenCount * sizeof (OldListenRec));
+@@ -349,6 +350,11 @@
+ configfilename = argv[++i];
+ else
+ usage();
++ } else if (!strcmp(argv[i], "-pid")) {
++ if (argv[i + 1])
++ pidFile = argv[++i];
++ else
++ usage();
+ }
+ #ifdef MEMBUG
+ else if ( strcmp( argv[i], "-alloc") == 0)
+@@ -392,7 +398,7 @@
+ FSalloc (unsigned long amount)
+ {
+ register pointer ptr;
+-
++
+ if ((long)amount < 0)
+ return 0;
+ if (amount == 0)
+@@ -462,21 +468,21 @@
+ FatalError("out of memory\n");
+ return 0;
+ }
+-
++
+ /*****************
+ * FSfree
+- * calls free
+- *****************/
++ * calls free
++ *****************/
+
+ void
+ FSfree(pointer ptr)
+ {
+ #ifdef MEMBUG
+ if (ptr)
+- ffree((char *)ptr);
++ ffree((char *)ptr);
+ #else
+ if (ptr)
+- free((char *)ptr);
++ free((char *)ptr);
+ #endif
+ }
+
+@@ -511,11 +517,12 @@
+ }
+ #endif /* QNX4 */
+ if (setuid(pwent->pw_uid)) {
+- FatalError("fatal: couldn't set userid to %s user\n", user);
++ FatalError("fatal: couldn't set user ID to %s user\n", user);
+ }
+ }
+ } else if (dropPriv || userId) {
+- FatalError("fatal: -droppriv or -user flag specified, but xfs not run as root\n");
++ FatalError("fatal: -droppriv or -user flag specified, but xfs not"
++ " invoked by root user\n");
+ }
+ }
+
+@@ -523,48 +530,76 @@
+ void
+ SetDaemonState(void)
+ {
+- int oldpid;
++ long oldpid;
+
+ if (becomeDaemon) {
+ BecomeDaemon();
+ if ((oldpid = StorePid ())) {
+ if (oldpid == -1)
+- ErrorF ("error opening process-id file %s\n", pidFile);
++ ErrorF ("error opening process ID file %s\n", pidFile);
+ else
+ ErrorF ("process-id file %s indicates another xfs is "
+- "running (pid %d); exiting\n", pidFile, oldpid);
++ "running (pid %ld); exiting\n", pidFile, oldpid);
+ exit(1);
+ }
++ if (atexit (RemovePid))
++ ErrorF ("could not register RemovePid() with atexit()\n");
+ }
+ }
+
+
+-static int
++static long
++/*
++ * Create and populate file storing process ID.
++ */
+ StorePid (void)
+ {
+- int oldpid;
++ long oldpid;
++ char pidstr[11]; /* enough space for a 32-bit pid plus \0 */
++ size_t pidstrlen;
+
+- if (pidFile[0] != '\0') {
+- pidFd = open (pidFile, O_RDWR);
+- if (pidFd == -1 && errno == ENOENT)
+- pidFd = open (pidFile, O_RDWR|O_CREAT, 0666);
+- if (pidFd == -1 || !(pidFilePtr = fdopen (pidFd, "r+")))
++ if (pidFile[0] != '\0')
++ {
++ pidFd = open (pidFile, O_WRONLY|O_CREAT|O_EXCL, 0666);
++ if (pidFd == -1)
+ {
+- ErrorF ("cannot open process-id file %s: %s\n", pidFile,
+- strerror (errno));
+- return -1;
++ if (errno == EEXIST)
++ {
++ /* pidFile already exists; see if we can open it */
++ pidFilePtr = fopen (pidFile, "r");
++ if (pidFilePtr == NULL)
++ {
++ ErrorF ("cannot open process ID file %s for reading: "
++ "%s\n", pidFile, strerror (errno));
++ return -1;
++ }
++ if (fscanf (pidFilePtr, "%ld\n", &oldpid) != 1)
++ {
++ ErrorF ("existing process ID file %s empty or contains "
++ "garbage\n", pidFile);
++ oldpid = -1;
++ }
++ fclose (pidFilePtr);
++ return oldpid;
++ }
++ else
++ {
++ ErrorF ("cannot fdopen process ID file %s for writing: "
++ "%s\n", pidFile, strerror (errno));
++ return -1;
++ }
+ }
+- if (fscanf (pidFilePtr, "%d\n", &oldpid) != 1)
+- oldpid = -1;
+- if (fseek (pidFilePtr, 0L, SEEK_SET) == -1)
++ if ((pidFilePtr = fdopen (pidFd, "w")) == NULL)
+ {
+- ErrorF ("cannot seek process-id file %s: %s\n", pidFile,
+- strerror (errno));
+- return -1;
++ ErrorF ("cannot open process ID file %s for writing: %s\n",
++ pidFile, strerror (errno));
++ return -1;
+ }
+- if (fprintf (pidFilePtr, "%5ld\n", (long) getpid ()) != 6)
++ (void) snprintf (pidstr, 11, "%ld", (long) getpid());
++ pidstrlen = strlen (pidstr);
++ if (fprintf (pidFilePtr, "%s\n", pidstr) != ( pidstrlen + 1))
+ {
+- ErrorF ("cannot write to process-id file %s: %s\n", pidFile,
++ ErrorF ("cannot write to process ID file %s: %s\n", pidFile,
+ strerror (errno));
+ return -1;
+ }
+@@ -573,3 +608,19 @@
+ }
+ return 0;
+ }
++
++
++/*
++ * Remove process ID file. This function should be registered with atexit().
++ */
++static void
++RemovePid (void)
++{
++#ifdef DEBUG
++ fprintf (stderr, "unlinking process ID file %s\n", pidFile);
++#endif
++ if (unlink (pidFile))
++ if (errno != ENOENT)
++ ErrorF ("cannot remove process ID file %s: %s\n", pidFile,
++ strerror (errno));
++}
+Index: xfs.man
+===================================================================
+--- xfs.man (revision 309)
++++ xfs.man (working copy)
+@@ -37,206 +37,320 @@
+ .\" suitability of this software for any purpose. It is provided "as is"
+ .\" without express or implied warranty.
+ .\" $Xorg: xfs.man,v 1.4 2001/02/09 02:05:42 xorgcvs Exp $
+-.TH XFS 1 __xorgversion__
++.TH xfs __mansuffix__ __xorgversion__
+ .SH NAME
+ xfs \- X font server
+ .SH SYNOPSIS
+-.B "xfs"
+-[\-config \fIconfiguration_file\fP]
+-[\-daemon]
+-[\-droppriv]
+-[\-ls \fIlisten_socket\fP]
+-[\-nodaemon]
+-[\-port \fItcp_port\fP]
+-[\-user \fIusername\fP]
++.B xfs
++[
++.BI "\-config " configuration_file
++]
++[
++.B \-daemon
++]
++[
++.B \-droppriv
++]
++[
++.BI "\-ls " listen_socket
++]
++[
++.B \-nodaemon
++]
++[
++.BI "\-pid " pid_file
++]
++[
++.BI "\-port " tcp_port
++]
++[
++.BI "\-user " username
++]
+ .SH DESCRIPTION
++.B xfs
++is the X Window System font server.
++It supplies fonts to X Window System display servers.
++The server is usually run by a system administrator, and started via
++.BR init (__osadmmansuffix__).
++Users may also wish to start private font servers for specific sets of
++fonts.
+ .PP
+-.I Xfs
+-is the X Window System font server. It supplies fonts to X Window
+-System display servers.
+-.SH "STARTING THE SERVER"
+-The server is usually run by a system administrator, and started via
+-boot files like \fI/etc/rc.local\fR. Users may also wish to start
+-private font servers for specific sets of fonts.
+-.SH "OPTIONS"
+-.TP 8
+-.B \-config configuration_file
+-Specifies the configuration file the font server will use. If this
+-parameter is not specified, the default file, \fI/usr/X11R6/lib/X11/fs/config\fR
++To connect to a font server, see the documentation for your X server; it
++likely supports the syntax documented in the \(lqFONT SERVER NAMES\(rq
++section of
++.BR X (__miscmansuffix__).
++.SH OPTIONS
++.TP
++.BI "\-config " configuration_file
++specifies the configuration file
++.B xfs
++will use.
++If this parameter is not specified, the default file,
++.IR __projectroot__/lib/X11/fs/config ,
+ will be used.
+-.TP 8
+-.B \-ls listen_socket
+-Specifies a file descriptor which is already set up to be used as the
+-listen socket. This option is only intended to be used by the font server
+-itself when automatically spawning another copy of itself to handle
+-additional connections.
+-.TP 8
+-.B \-port tcp_port
+-Specifies the TCP port number on which the server will listen for connections.
+-The default port number is 7100.
+-.TP 8
++.TP
+ .B \-daemon
+-Instructs xfs to fork and go into the background automatically at
+-startup If this option is not specified, xfs will run as a regular
+-process (unless xfs was built to daemonize by default).
+-.TP 8
++instructs
++.B xfs
++to fork and go into the background automatically at startup.
++If this option is not specified,
++.B xfs
++will run as a regular process (unless it was built to daemonize by
++default).
++When running as a daemon,
++.B xfs
++will attempt to create a file in which it stores its process ID, and will
++delete that file upon exit; see
++.BR \-pid .
++.TP
+ .B \-droppriv
+-If specified, xfs will attempt to run as user and group \fIxfs\fR (unless
+-the
++instructs
++.B xfs
++to attempt to run as user and group
++.I xfs
++(unless the
+ .B \-user
+-option is used). This
+-has been implemented for security reasons, as xfs may have undiscovered
+-buffer overflows or other paths for possible exploit, both local and
+-remote. With this option, you may also wish to specify
+-"no-listen = tcp"
+-in the config file, which ensures that xfs will not to use a TCP port at all.
+-.TP 8
++option is used).
++This has been implemented for security reasons, as
++.B xfs
++may have undiscovered buffer overflows or other paths for possible exploit,
++both local and remote.
++When using this option, you may also wish to specify \(oqno\-listen =
++tcp\(cq in the config file, which ensures that
++.B xfs
++will not to use a TCP port at all.
++By default,
++.B xfs
++runs with the user and group IDs of the user who invoked it.
++.TP
++.BI "\-ls " listen_socket
++specifies a file descriptor which is already set up to be used as the
++listen socket.
++This option is only intended to be used by the font server itself when
++automatically spawning another copy of itself to handle additional
++connections.
++.TP
+ .B \-nodaemon
+-When xfs is built to daemonize (run in the background) by default,
+-this prevents that and starts xfs up as a regular process.
+-.TP 8
+-.B \-user username
+-This is equivalent to
++instructs
++.B xfs
++not to daemonize (fork and detach from its controlling terminal).
++This option only has an effect if
++.B xfs
++is built to daemonize by default, which is not the stock configuration.
++.TP
++.BI "\-pid " pid_file
++instructs
++.B xfs
++to save its process ID into
++.IR pid_file ,
++instead of the default,
++.IR /var/run/xfs.pid .
++If
++.B xfs
++is not running as a daemon, this option has no effect.
++.TP
++.BI "\-port " tcp_port
++specifies the TCP port number on which the server will listen for
++connections.
++The default port number is 7100.
++This option is ignored if
++.B xfs
++is configured to not listen to TCP transports at all (see \(lqConfiguration
++File Format\(rq below).
++.TP
++.BI "\-user " username
++instructs
++.B xfs
++to run as the user
++.IR username.
++See
+ .B \-droppriv
+-except that xfs will run as user \fIusername\fR.
+-.SH "SIGNALS"
+-.TP 8
+-.I SIGTERM
+-This causes the font server to exit cleanly.
+-.TP 8
+-.I SIGUSR1
+-This signal is used to cause the server to re-read its configuration file.
+-.TP 8
+-.I SIGUSR2
+-This signal is used to cause the server to flush any cached data it
+-may have.
+-.TP 8
+-.I SIGHUP
+-This signal is used to cause the server to reset, closing all active
+-connections and re-reading the configuration file.
+-.SH "CONFIGURATION"
++for why this may be desired.
++By default,
++.B xfs
++runs with the user and group IDs of the user who invoked it.
++.SH "INPUT FILES"
++.B xfs
++reads and serves any font file format recognized by the X server itself.
++It locates font files through the specification of a
++.IR catalogue ,
++which is delcared in
++.BR xfs 's
++configuration file.
++.SS "Configuration File Format"
++.B xfs
++reads its configuration from
++.I __projectroot__/lib/X11/fs/config
++by default (see the
++.B \-config
++option in the \(lqOPTIONS\(rq section above).
+ The configuration language is a list of keyword and value pairs.
+-Each keyword is followed by an '=' and then the desired value.
++Each keyword is followed by an equals sign (\(oq=\(cq) and then the desired
++value.
+ .PP
+ Recognized keywords include:
+-.sp
+-.\" .IP "cache-size (cardinal)"
+-.\" Size in bytes of the font server cache.
+-.IP "catalogue (list of string)"
+-Ordered list of font path element names.
+-Use of the keyword "catalogue" is very misleading at present,
+-the current implementation only supports a single catalogue ("all"),
++.TP
++.BR alternate\-servers " (list of \fIstring\fPs)"
++lists alternate servers for this font server.
++See the \(lqFONT SERVER NAMES\(rq section of
++.BR X (__miscmansuffix__)
++for the syntax of the string.
++.\" .TP
++.\" .BR cache\-size " (\fIcardinal\fP)"
++.\" determines the size (in bytes) of the font server cache.
++.TP
++.BR catalogue " (list of \fIstring\fPs)"
++declares as ordered list of font path element names from which fonts will
++be served.
++Use of the keyword \(oqcatalogue\(cq is very misleading at present: the
++current implementation only supports a single catalogue (\(oqall\(cq),
+ containing all of the specified fonts.
+-.IP "alternate-servers (list of string)"
+-List of alternate servers for this font server.
+-.IP "client-limit (cardinal)"
+-Number of clients this font server will support
+-before refusing service. This is useful for tuning
+-the load on each individual font server.
+-.IP "clone-self (boolean)"
+-Whether this font server should attempt to clone itself
+-when it reachs the client-limit.
+-.IP "default-point-size (cardinal)"
+-The default pointsize (in decipoints) for fonts that
+-don't specify. The default is 120.
+-.IP "default-resolutions (list of resolutions)"
+-Resolutions the server supports by default.
+-This information may be used as a hint for
+-pre-rendering, and substituted for scaled fonts
+-which do not specify a resolution.
+-A resolution is a comma-separated pair of x and y resolutions in
+-pixels per inch.
++.TP
++.BR client\-limit " (\fIcardinal\fP)"
++determines the number of clients this font server will support before
++refusing service.
++This is useful for tuning the load on each individual font server.
++.TP
++.BR clone\-self " (\fIboolean\fP)"
++indicates whether this font server should attempt to clone itself when the
++number of connected clients reaches the
++.BR client\-limit .
++.TP
++.BR default\-point\-size " (\fIcardinal\fP)"
++The default pointsize (in decipoints) for font requests that don't specify
++a point size.
++The default is 120.
++.TP
++.BR default\-resolutions " (list of \fIresolution\fPs)"
++indicates the resolutions the server supports by default.
++This information may be used as a hint for pre-rendering, and substituted
++into requests for scaled fonts which do not specify a resolution.
++A
++.I resolution
++is a comma-separated pair of horizontal and vertical resolutions in pixels
++per inch.
+ Multiple resolutions are separated by commas.
+-.IP "error-file (string)"
+-Filename of the error file. All warnings and errors
+-will be logged here.
+-.IP "no-listen (trans-type)"
+-Disable a transport type. For example, TCP/IP connections can
+-be disabled with no-listen tcp
+-.IP "port (cardinal)"
+-TCP port on which the server will listen for connections.
+-.IP "use-syslog (boolean)"
+-Whether syslog(3) (on supported systems) is to be used
+-for errors.
+-.IP "deferglyphs (string)"
+-Set the mode for delayed fetching and caching of glyphs. Value is
+-"none", meaning deferred glyphs is disabled, "all", meaning it is
+-enabled for all fonts, and "16", meaning it is enabled only for
+-16-bits fonts.
+-.\" .IP "trusted-clients (list of string)"
+-.\" Those clients the fontserver will talk to. Others
+-.\" will be refused for the initial connection. An empty
+-.\" list means the server will talk to any client.
+-.SH "EXAMPLE"
++.TP
++.BR deferglyphs " (\fIstring\fP)"
++sets the mode for delayed fetching and caching of glyphs.
++.I string
++should be one of \(oqnone\(cq, meaning glyphs deferment is disabled,
++\(oqall\(cq, meaning it is enabled for all fonts, and \(oq16\(cq, meaning
++it is enabled only for 16-bit fonts.
++.TP
++.BR error\-file " (\fIstring\fP)"
++indicates the filename of the error file.
++All warnings and errors will be logged here, unless
++.B use\-syslog
++is set to a true value (see below).
++.TP
++.BR no\-listen " (\fItrans-type\fP)"
++disables the specified transport type.
++For example, TCP/IP connections can be disabled with \(oqno\-listen =
++tcp\(cq.
++.TP
++.BR port " (\fIcardinal\fP)"
++indicates the TCP port on which the server will listen for connections.
++.\" .TP
++.\" .BR trusted-clients " (list of \fIstring\fPs)"
++.\" idefntifies the clients the font server will talk to.
++.\" Others will be refused for the initial connection.
++.\" An empty list means the server will talk to any client.
++.TP
++.BR use\-syslog " (\fIboolean\fP)"
++determines whether errors and diagnostics should be reported via
++.BR syslog (__oslibmansuffix__)
++(on supported systems) instead of being written to the
++.B error\-file
++(see above).
++.SS "Example Configuration File"
+ .nf
+ XCOMM
+ XCOMM sample font server configuration file
+ XCOMM
+
+-XCOMM allow a max of 10 clients to connect to this font server
+-client-limit = 10
++XCOMM allow a max of 10 clients to connect to this font server.
++client\-limit = 10
+
+-XCOMM when a font server reaches its limit, start up a new one
+-clone-self = on
++XCOMM When a font server reaches the above limit, start up a new one.
++clone\-self = on
+
+-XCOMM alternate font servers for clients to use
+-alternate-servers = hansen:7101,hansen:7102
++XCOMM Identify alternate font servers for clients to use.
++alternate\-servers = hansen:7101,hansen:7102
+
+-XCOMM where to look for fonts
+-XCOMM the first is a set of Speedo outlines, the second is a set of
+-XCOMM misc bitmaps and the last is a set of 100dpi bitmaps
++XCOMM Look for fonts in the following directories. The first is a set of
++XCOMM Speedo outlines, the second is a set of misc bitmaps (such as terminal
++XCOMM and cursor fonts), and the last is a set of 100dpi bitmaps.
+ XCOMM
+ catalogue = /usr/X11R6/lib/X11/fonts/speedo,
+- /usr/X11R6/lib/X11/fonts/misc,
+- /usr/X11R6/lib/X11/fonts/100dpi/
++ /usr/X11R6/lib/X11/fonts/misc,
++ /usr/X11R6/lib/X11/fonts/100dpi/
+
+ XCOMM in 12 points, decipoints
+-default-point-size = 120
++default\-point\-size = 120
+
+ XCOMM 100 x 100 and 75 x 75
+-default-resolutions = 100,100,75,75
+-use-syslog = off
++default\-resolutions = 100,100,75,75
++
++XCOMM Specify our log filename.
++error\-file = /var/log/xfs.log
++
++XCOMM Direct diagnostics to our own log file instead of using syslog.
++use\-syslog = off
+ .fi
+-.sp
+-.SH "FONT SERVER NAMES"
+-One of the following forms can be used to name a font server that
+-accepts TCP connections:
+-.sp
+-.nf
+- tcp/\fIhostname\fP:\fIport\fP
+- tcp/\fIhostname\fP:\fIport\fP/\fIcataloguelist\fP
+-.fi
+-.PP
+-The \fIhostname\fP specifies the name (or decimal numeric address)
+-of the machine on which the font server is running. The \fIport\fP
+-is the decimal TCP port on which the font server is listening for connections.
+-The \fIcataloguelist\fP specifies a list of catalogue names,
+-with '+' as a separator.
+-.PP
+-Examples: \fItcp/fs.x.org:7100\fP, \fItcp/18.30.0.212:7101/all\fP.
+-.PP
+-One of the following forms can be used to name a font server that
+-accepts DECnet connections:
+-.sp
+-.nf
+- decnet/\fInodename\fP::font$\fIobjname\fP
+- decnet/\fInodename\fP::font$\fIobjname\fP/\fIcataloguelist\fP
+-.fi
+-.PP
+-The \fInodename\fP specifies the name (or decimal numeric address)
+-of the machine on which the font server is running.
+-The \fIobjname\fP is a normal, case-insensitive DECnet object name.
+-The \fIcataloguelist\fP specifies a list of catalogue names,
+-with '+' as a separator.
+-.PP
+-Examples: \fIDECnet/SRVNOD::FONT$DEFAULT\fP, \fIdecnet/44.70::font$special/symbols\fP.
+-.SH "SEE ALSO"
+-X(__miscmansuffix__), \fIThe X Font Service Protocol\fP,
+-.br
+-\fIFont server implementation overview\fP
++.SH "OUTPUT FILES"
++When operating in daemon mode,
++.B xfs
++sends diagnostic messages (errors and warnings) to the system log via the
++.B syslog
++C library function by default.
++However, these messages can be sent to an alternate location via the
++.B error\-file
++and
++.B use\-syslog
++configuration variables; see \(lqConfiguration File Format\(rq, above.
++.SH "ASYNCHRONOUS EVENTS"
++.B xfs
++handles the following signals specially:
++.TP
++.I SIGTERM
++causes the font server to exit cleanly.
++.TP
++.I SIGUSR1
++causes
++.B xfs
++to re-read its configuration file.
++.TP
++.I SIGUSR2
++causes
++.B xfs
++to flush any cached data it may have.
++.TP
++.I SIGHUP
++causes
++.B xfs
++to reset, closing all active connections and re-reading the configuration
++file.
+ .SH BUGS
+ Multiple catalogues should be supported.
++.SH "FUTURE DIRECTIONS"
++Significant further development of
++.B xfs
++is unlikely.
++One of the original motivations behind it was the single-threaded nature of
++the X server \(em a user's X session could seem to \(oqfreeze up\(cq while
++the X server took a moment to rasterize a font.
++This problem with the X server, which remains single-threaded in all
++popular implementations to this day, has been mitigated on two fronts:
++machines have gotten much faster, and client-side font rendering
++(particularly via the Xft library) is the norm in contemporary software.
+ .SH AUTHORS
+ Dave Lemke, Network Computing Devices, Inc
+ .br
+ Keith Packard, Massachusetts Institute of Technology
++.SH "SEE ALSO"
++.BR X (__miscmansuffix__),
++.BR init (__osadmmansuffix__),
++.BR syslog (__oslibmansuffix__),
++.IR "The X Font Service Protocol" ,
++.I Font Server Implementation Overview
Added: branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/02_debian_setup.diff
===================================================================
--- branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/02_debian_setup.diff 2006-03-06 01:08:33 UTC (rev 1381)
+++ branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/02_debian_setup.diff 2006-03-06 01:13:20 UTC (rev 1382)
@@ -0,0 +1,37 @@
+$Id: 906_debian_xfs.diff 428 2005-07-28 04:30:44Z dnusinow $
+
+Set up defaults that make more sense for Debian.
+
+This patch by Branden Robinson.
+
+--- config.cpp~ Wed Jan 17 23:45:27 2001
++++ config.cpp Mon Jun 4 01:34:15 2001
+@@ -1,15 +1,24 @@
+ XCOMM font server configuration file
+ XCOMM $Xorg: config.cpp,v 1.3 2000/08/17 19:54:19 cpqbld Exp $
+
++XCOMM allow a maximum of 10 clients to connect to this font server
++client-limit = 10
++XCOMM when a font server reaches its limit, start up a new one
+ clone-self = on
+-use-syslog = off
+-catalogue = DEFAULTFONTPATH
++XCOMM log messages to FSERRORS (if syslog is not used)
+ error-file = FSERRORS
++XCOMM log errors using syslog
++use-syslog = on
++XCOMM turn off TCP port listening (Unix domain connections are still permitted)
++no-listen = tcp
++XCOMM paths to search for fonts
++catalogue = /usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/cyrillic/,/usr/lib/X11/fonts/100dpi/:unscaled,/usr/lib/X11/fonts/75dpi/:unscaled,/usr/lib/X11/fonts/Type1/,/usr/lib/X11/fonts/100dpi/,/usr/lib/X11/fonts/75dpi/
+ XCOMM in decipoints
+ default-point-size = 120
+-default-resolutions = 75,75,100,100
++XCOMM x1,y1,x2,y2,...
++default-resolutions = 100,100,75,75
+
+-XCOMM font cache control, specified in KB
++XCOMM font cache control, specified in kB
+ cache-hi-mark = 2048
+ cache-low-mark = 1433
+ cache-balance = 70
Modified: branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/series
===================================================================
--- branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/series 2006-03-06 01:08:33 UTC (rev 1381)
+++ branches/modular/app/xfs-X11R7.0-1.0.1/debian/patches/series 2006-03-06 01:13:20 UTC (rev 1382)
@@ -0,0 +1,2 @@
+01_xfs_fixes.diff -p0
+02_debian_setup.diff -p0
Reply to: