diff --git a/app/xfs/ChangeLog b/app/xfs/ChangeLog index c726ca2f7..896916df9 100644 --- a/app/xfs/ChangeLog +++ b/app/xfs/ChangeLog @@ -1,52 +1,498 @@ -2006-04-26 Adam Jackson +commit 3e6b854aa4ce0636fd63f63afd04d68b28c0fa68 +Author: Brice Goglin +Date: Fri May 23 22:29:50 2008 +0200 - * configure.ac: - Bump to 1.0.2 + xfs 1.0.8 -2006-03-13 Alan Coopersmith +commit 8144d75d4e71d8ae0493043f49fe9925f8099244 +Author: Brice Goglin +Date: Fri May 23 18:53:55 2008 +0200 - * difs/cache.c (rebuild_cache): - Check for alloc error was reversed, causing memory leak, NULL - pointer dereference (if fsalloc actually failed), and failure - to rebuild cache. (Coverity ids #560 & #127). + Fix nasty typo in SetConfigValues + + Nasty typo introduced in 4a163a076e90808fa47ade1504fd0f2893bdc306, + causes xfs to crash on startup. + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482551 -2005-12-20 Kevin E. Martin +commit 9666b767a1f565bae06e84aacb53a1d9b7747f90 +Author: Adam Jackson +Date: Wed May 21 14:18:01 2008 -0400 - * configure.ac: - Update package version for X11R7 release. + xfs 1.0.7 -2005-12-14 Kevin E. Martin +commit 4a163a076e90808fa47ade1504fd0f2893bdc306 +Author: Petter Reinholdtsen +Date: Fri May 16 20:27:48 2008 +0200 - * configure.ac: - Update package version number for final X11R7 release candidate. + Return an error to the log instead of segfaulting + + Return an error to the log instead of segfaulting + if catalogue line is omitted from config file. + + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=148650 -2005-12-06 Kevin E. Martin +commit 6188cb8538b713296266238b7b780718fcec881b +Author: Stephan A. Maciej +Date: Mon Mar 17 18:00:49 2008 -0700 - * Makefile.am: - Change *man_SOURCES ==> *man_PRE to fix autotools warnings. + Allow font server to start with pid longer than 5 digits + + Signed-off-by: Alan Coopersmith -2005-12-03 Kevin E. Martin +commit 24d4172a71850299c797f887d3027c32068763d0 +Author: Alan Coopersmith +Date: Mon Jan 14 19:32:09 2008 -0800 - * configure.ac: - Update package version number for X11R7 RC3 release. + Fix --with-default-config to work with more than two config files -2005-11-19 Kevin E. Martin +commit 8337bcb5650581874510514cce7d9df89db54d5c +Author: Adam Jackson +Date: Thu Mar 6 17:06:25 2008 -0500 - * configure.ac: - Update dependencies to work with separate build roots. + xfs 1.0.6 -2005-11-09 Kevin E. Martin +commit f253f56e9ff33e7424317be7fa54a60eec4053a8 +Author: Julien Cristau +Date: Tue Feb 5 21:57:21 2008 +0100 - * configure.ac: - Update package version number for X11R7 RC2 release. + Install config file in $(sysconfdir) by default instead of $(libdir) -2005-11-01 Kevin E. Martin +commit 71c2acc3d0fecc5c6c3d63cfae8f38ee2ce72d9d +Author: Alan Coopersmith +Date: Wed Jan 9 16:08:54 2008 -0800 - * configure.ac: - Update pkgcheck depedencies to work with separate build roots. + List multiple config files in man page if specified in --with-default-config-file -2005-10-18 Kevin E. Martin +commit 5a5d003bfc400471693f88a16d2ed6ed98ca8111 +Author: Alan Coopersmith +Date: Mon Jan 7 18:04:36 2008 -0800 - * configure.ac: - Update package version number for RC1 release. + Add xfsinfo & fslsfonts to See Also section of man page +commit 9d19ae3b4d6fcaa01bcb88b9fde644aec3f191b1 +Author: Alan Coopersmith +Date: Mon Jan 7 15:08:33 2008 -0800 + + Remove another extraneous + from man page + +commit c398fae4cf2119f467970a0af4b408948aff12ef +Author: Alan Coopersmith +Date: Fri Jan 4 15:56:31 2008 -0800 + + Add hooks for checking sources with tools like sparse & lint + +commit 04e94c3d22e6115f40bcced43e78a336613789a9 +Author: Alan Coopersmith +Date: Fri Jan 4 15:55:53 2008 -0800 + + Remove duplicated section & extra + in xfs.man + +commit bc3d7ac63b801b22214ce5d04fa0a585a6223fee +Author: Alan Coopersmith +Date: Thu Jan 3 17:12:58 2008 -0800 + + Rename autoconf-generated header to xfs-config.h to avoid clash with os/config.h + +commit c0b33d044edc89ec882ac425c91a79cd738167a4 +Author: Alan Coopersmith +Date: Thu Jan 3 16:47:59 2008 -0800 + + Add --with-default-config-file configure option + + Allow specifying multiple files, using the first one found at runtime. + +commit c7b49319ac3ba99002074021f0cd493aa122439a +Author: Alan Coopersmith +Date: Thu Jan 3 13:58:18 2008 -0800 + + xfs.man: Replace Speedo with TrueType, fix typos + +commit cfbf2d673d0b764f6f5aa3d802c4796c94b407d0 +Author: Alan Coopersmith +Date: Thu Jan 3 13:10:01 2008 -0800 + + Use PACKAGE_VERSION_* to set default VENDOR_RELEASE version string + +commit 33f185cc94d11279aa3c08ebebf8461225dad4be +Author: James Cloos +Date: Thu Dec 6 16:37:15 2007 -0500 + + Replace static ChangeLog with dist-hook to generate from git log + +commit ec8bfac7c5ab048d86bd60ec97526300ef41d2a9 +Author: David Nusinow +Date: Wed Oct 3 21:37:46 2007 -0400 + + Perform massive manpage cleanup and reformatting. + + Add "FUTURE DIRECTIONS" section. + + This patch by Branden Robinson, forward ported by David Nusinow and + probably a few others. + +commit 0bd59b5938059c7ff5501b928ebe80ecea27f008 +Author: Matthieu Herrb +Date: Mon Oct 1 21:55:52 2007 +0200 + + Bump to 1.0.5 + +commit ec3ca8fd4c599f41e6f977ce912805ac8ac74f32 +Author: Matthieu Herrb +Date: Mon Oct 1 21:53:41 2007 +0200 + + Fix for heap overwrite in swap_char2b() CVE-2007-4568. + +commit 380fb68316f13012ff7cb2ac4addc2626fa2dad0 +Author: Matthieu Herrb +Date: Mon Oct 1 21:51:40 2007 +0200 + + fix for integer overflows in build_range(). CVE-4568. + +commit 63596c80ec1c406a35780f45ea43d8004b020869 +Author: Ademar de Souza Reis Jr +Date: Wed Jun 20 13:31:40 2007 -0300 + + Document catalogue: feature + +commit 2037244c4a758d4010da55128fc2b7902f2bc8ad +Author: Daniel Stone +Date: Thu Nov 30 19:55:47 2006 +0200 + + bump to 1.0.4 + +commit 311483ff1bea8ae31671b5bd6033a27dd0f315a4 +Author: Alan Coopersmith +Date: Mon Nov 20 10:58:35 2006 -0800 + + Add *~ to .gitignore to skip emacs/patch droppings + +commit 2e81fe0c9eeac502e19d7f9696e29d4847f8a8e0 +Author: Alan Coopersmith +Date: Mon Nov 20 10:58:10 2006 -0800 + + renamed: .cvsignore -> .gitignore + +commit 19bc6ee23c7137c8d182738e850621586ba43659 +Author: J.P. Larocque +Date: Mon Nov 20 10:57:28 2006 -0800 + + Bug 7317: xfs doesn't build on some GLIBC based systems: _XOPEN_SOURCE undefined + + Bug 7317: + +commit 20014d1c8fa416306f5be60d4cd225cc6132d532 +Author: Adam Jackson +Date: Fri Oct 13 17:51:32 2006 -0400 + + Bump to 1.0.3 + +commit d68ce54e725aa332c0c74e1aa2e7e59b079fb5fe +Author: Kristian Høgsberg +Date: Mon Sep 25 18:01:48 2006 -0400 + + Substitute config dir into man page. + +commit ced4cd44bd177b9579c457a2f108a09e8bbb7eb9 +Author: Adam Jackson +Date: Wed Apr 26 23:40:40 2006 +0000 + + Bump to 1.0.2 + +commit 099e52769a0601bca9d731209465d6205cd63fc9 +Author: Alan Coopersmith +Date: Tue Mar 14 03:41:28 2006 +0000 + + Check for alloc error was reversed, causing memory leak, NULL pointer + dereference (if fsalloc actually failed), and failure to rebuild cache. + (Coverity ids #560 & #127). + +commit 03a3384fe8985419d8ec9507458a8808dafa2758 +Author: Kevin E Martin +Date: Wed Dec 21 02:29:50 2005 +0000 + + Update package version for X11R7 release. + +commit c34fccfa706811aa2d177afd07cc96e7094b10ef +Author: Adam Jackson +Date: Mon Dec 19 16:22:44 2005 +0000 + + Stub COPYING files + +commit 7cd4bd5a4044fbbcd7b05b5d4c11542353d85e52 +Author: Kevin E Martin +Date: Thu Dec 15 00:24:07 2005 +0000 + + Update package version number for final X11R7 release candidate. + +commit e9ed66a84780a87d1f102b3960007aba9d7d2ed7 +Author: Kevin E Martin +Date: Tue Dec 6 22:48:22 2005 +0000 + + Change *man_SOURCES ==> *man_PRE to fix autotools warnings. + +commit 7d6e0e69cde9b41061eb591d418d3ceab4e5f9a3 +Author: Kevin E Martin +Date: Sat Dec 3 05:49:23 2005 +0000 + + Update package version number for X11R7 RC3 release. + +commit 932e1834195eb85b291b29bac4719cd02830dcc4 +Author: Alan Coopersmith +Date: Mon Nov 28 22:01:42 2005 +0000 + + Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4 + update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir) + +commit 02640671a2ef2c5240d87f96f1b3518ac0026a6d +Author: Eric Anholt +Date: Mon Nov 21 10:35:00 2005 +0000 + + Another pass at .cvsignores for apps. + +commit c23ac3c68be607d8b050b4a50bfe441737c9fed8 +Author: Eric Anholt +Date: Sun Nov 20 22:08:52 2005 +0000 + + Add/improve .cvsignore files for apps. + +commit e3edf1412eacc3efb3bc6d949406474e1f4aacff +Author: Kevin E Martin +Date: Sat Nov 19 07:15:36 2005 +0000 + + Update pkgconfig files to separate library build-time dependencies from + application build-time dependencies, and update package deps to work + with separate build roots. + +commit dc896313209b1fc91cfd8f9ed15d7a26d4cdb450 +Author: Kevin E Martin +Date: Wed Nov 9 21:09:21 2005 +0000 + + Update package version number for X11R7 RC2 release. + +commit af24389ccccdf82a8224299f808acf07443ce98b +Author: Kean Johnson +Date: Tue Nov 8 06:33:33 2005 +0000 + + See ChangeLog entry 2005-11-07 for details. + +commit 75cca7507a37ea2e65a7ff541560047b54da369e +Author: Kevin E Martin +Date: Tue Nov 1 15:05:18 2005 +0000 + + Update pkgcheck depedencies to work with separate build roots. + +commit 3bca148d9c5d9af5af31c6d4ce6a731fc46ff3b3 +Author: Kevin E Martin +Date: Wed Oct 19 02:47:54 2005 +0000 + + Update package version number for RC1 release. + +commit be42526a6087c63f618bfeb13c7f3b46068528fe +Author: Alan Coopersmith +Date: Mon Oct 17 23:56:22 2005 +0000 + + Use @APP_MAN_SUFFIX@ instead of $(APP_MAN_SUFFIX) in macro substitutions to + work better with BSD make + +commit bc6cbdd5925ffc52abbf0da1834405b8fbe49ee1 +Author: Alan Coopersmith +Date: Mon Oct 17 22:28:18 2005 +0000 + + Add 's|XCOMM|\#|g' to sed rules for man page processing + +commit 91cc5c0c1d36059e6e0792a80b4443b8bb6c0c14 +Author: Alan Coopersmith +Date: Fri Oct 14 00:25:45 2005 +0000 + + Use sed to fill in variables in man page + +commit 68de46d260d44841aab5ecce9d31cf24ccd533f8 +Author: Alan Coopersmith +Date: Mon Aug 1 20:25:29 2005 +0000 + + Install man pages to section 1 instead of section m (Patch from Donnie + Berkholz) + +commit 216412edcbf15a9ae918c2066f93680355fc9b0b +Author: Alan Coopersmith +Date: Sat Jul 30 19:32:32 2005 +0000 + + Add -D flags to clear more compiler warnings (Stefan Dirsch) + +commit 6890ec2cd680eed48c64f9e91fa4b0c8508f4b96 +Author: Kevin E Martin +Date: Fri Jul 29 21:22:34 2005 +0000 + + Various changes preparing packages for RC0: + - Verify and update package version numbers as needed + - Implement versioning scheme + - Change bug address to point to bugzilla bug entry form + - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to + reenable it) + - Fix makedepend to use pkgconfig and pass distcheck + - Update build script to build macros first + - Update modular Xorg version + +commit 9a118fcc0ce0e202d31fcf579daf0dc03fc2f6bb +Author: Søren Sandmann Pedersen +Date: Thu Jul 28 22:43:18 2005 +0000 + + Thu Jul 28 18:29:06 2005 Søren Sandmann + Fix double free when there no valid paths. + +commit 9c9f67e12450035b7997c2c3bb3700ea51d8b3d2 +Author: Søren Sandmann Pedersen +Date: Thu Jul 28 22:28:21 2005 +0000 + + Add flags to make xfs actually load fonts + +commit fc670eef6a29564aeddcb2e8f6b6a3fdb791b7f5 +Author: Søren Sandmann Pedersen +Date: Thu Jul 28 20:46:54 2005 +0000 + + Create and install a config file Fix xfs DEFAULT_CONFIG_FILE + +commit b7901095f14ec2ea00f1cbeb57952957e9f0d5aa +Author: Søren Sandmann Pedersen +Date: Wed Jul 27 22:48:39 2005 +0000 + + Add -D_XOPEN_SOURCE on Linux + +commit cedf6178e2c2becfd40a9ed309714d3957ee7d1f +Author: Adam Jackson +Date: Wed Jul 20 19:31:56 2005 +0000 + + Use a unique token for PKG_CHECK_MODULES. Otherwise, if you use a global + configure cache, you cache it, and the cached value is probably wrong. + +commit f0c7ea00ce16c6f4d7d23fe3f87af335b1bdc591 +Author: Alan Coopersmith +Date: Sat Jul 16 23:29:38 2005 +0000 + + x11perf/Makefile.am: xinit/Makefile.am: xvidtune/Makefile.am: + - Replace $< with portable macro xinit/Makefile.am: xinit/configure.ac: + xvidtune/Makefile.am: xvidtune/configure.ac: + - Use more portable cpp invocations for pre-processing files + xfs/configure.ac: + - Add XTRANS_CONNECTION_FLAGS so xtrans transport type defines are set + correctly + +commit 2dd92fea669cdd34b15cf75455ca7766b5cf9c93 +Author: Alan Coopersmith +Date: Sat Jul 16 20:52:25 2005 +0000 + + Mark variables modified in signal handlers as volatile (part of Sun bug id + 4496504) + +commit f638b9c31aab9b90b8b9b4dbea79f8a588037498 +Author: Søren Sandmann Pedersen +Date: Thu Jul 14 22:40:15 2005 +0000 + + Add _BSD_SOURCE to lots of applications - patch from Stefan Dirsch + +commit 61c45e7ae8cdcead33392c0a2affc63a00b284c3 +Author: Søren Sandmann Pedersen +Date: Tue Jul 12 18:49:12 2005 +0000 + + Add include files to sources, so it will distcheck + +commit 2ac8a668c645746430031f7f2776e98dc0cf0b98 +Author: Søren Sandmann Pedersen +Date: Tue Jul 12 18:45:48 2005 +0000 + + - lib/lbxutil/lbxutil.pc.in: link to lbxutil, not Xfixes + - symlink.sh: add xedit.h, add xedit/lis/mp directory, add xfs + - xc/programs/xedit: include "lisp/../xedit.h" instead of xedit/xedit.h + - Change include of "foo.h" to in various places in + xc/programs/lbxproxy and xc/programs/xfs + - add build system for xfs + - add forgotten lbxproxytrans.c file + +commit 465a53c5deee64fcdc768b5c8a9123ee56a39dd5 +Author: Alexander Gottwald +Date: Thu Jun 9 15:52:02 2005 +0000 + + Replace with + Copy Xtrans.h to exports/include/X11/Xtrans only + +commit 2203407e26a173410b8a96368266f0e860381987 +Author: Adam Jackson +Date: Fri Apr 22 20:49:50 2005 +0000 + + Bug #3069: Drop the BuildLowMem hack, it doesn't compile and isn't useful. + +commit 9971dd3529c07022231fd722cb593f6609dd9d70 +Author: Matthieu Herrb +Date: Mon Jul 26 22:44:25 2004 +0000 + + Fix opening of log file with '-user nobody'. Problem reported by Oleg + Safiullin and Mike Pechkin. + +commit 956b25ecaa203291b5abdfc43451ae34da4ebdc7 +Author: Egbert Eich +Date: Fri Apr 23 19:54:48 2004 +0000 + + Merging XORG-CURRENT into trunk + +commit 54409026c1afcd67c2d548a9efc606e29d47715f +Author: Egbert Eich +Date: Sun Mar 14 08:35:23 2004 +0000 + + Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 + +commit 4b40ae3860584b4c4078941f45c6dfe223d2154c +Author: Egbert Eich +Date: Wed Mar 3 12:13:08 2004 +0000 + + Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 + +commit 73d09b90af9e6b5aa389939f913f9f9a826e9269 +Author: Egbert Eich +Date: Thu Feb 26 13:36:24 2004 +0000 + + readding XFree86's cvs IDs + +commit 9cd7676755000e0bf926cab806d8a5b10ce8efab +Author: Egbert Eich +Date: Thu Feb 26 09:24:07 2004 +0000 + + Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 + +commit 32d7dc13777fee72c185b64bafc64f6525c474c5 +Author: Kaleb Keithley +Date: Mon Feb 23 20:35:41 2004 +0000 + + Import most of XFree86 4.4RC3. This import excludes files which have the + new license. If we want to, later we can import 4.4RC3 again and pick + up the files that have the new license, but for now the vendor branch + is "pure." + +commit 86cae258ef5b7de939d2b4af5669992815145f61 +Author: Egbert Eich +Date: Thu Jan 29 08:09:12 2004 +0000 + + Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004 + +commit 8e1ac4fe2b5d9e31a37469fb462eb728457ccfb5 +Author: Kaleb Keithley +Date: Tue Nov 25 19:29:13 2003 +0000 + + XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks + +commit 491f741a1b34f20831a30fa017e422154127d54f +Author: Kaleb Keithley +Date: Fri Nov 14 16:49:22 2003 +0000 + + XFree86 4.3.0.1 + +commit 58396f7f075f465fe9fb7580af16c96ad0a88738 +Author: Kaleb Keithley +Date: Fri Nov 14 16:49:22 2003 +0000 + + Initial revision + +commit db757f1d2a5a951ec26aa4ed64134d8113089fd0 +Author: Kaleb Keithley +Date: Fri Nov 14 15:54:53 2003 +0000 + + R6.6 is the Xorg base-line diff --git a/app/xfs/Makefile.am b/app/xfs/Makefile.am index dd2aa457f..acaec230d 100644 --- a/app/xfs/Makefile.am +++ b/app/xfs/Makefile.am @@ -19,15 +19,16 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -configdir = $(datadir)/X11/fs +ACLOCAL_AMFLAGS = -I m4 + +configdir = $(sysconfdir)/X11/fs bin_PROGRAMS = xfs FONT_FLAGS = -DFONT_PCF -DFONT_FS -DFONT_SPEEDO -DFONTCACHE -AM_CFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \ - -DDEFAULT_CONFIG_FILE=\"$(configdir)/config\" $(FONT_FLAGS) \ - -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN +AM_CPPFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \ + $(FONT_FLAGS) -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN LDADD = $(XFS_LIBS) @@ -133,9 +134,29 @@ MAN_SUBSTS = \ -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \ + -e 's|__configfiledesc__|$(CONFIG_FILE_DESC)|g' \ + -e 's|__configfilepath__|$(CONFIG_FILE_PATH)|g' \ -e 's|XCOMM|\#|g' SUFFIXES = .$(APP_MAN_SUFFIX) .man .man.$(APP_MAN_SUFFIX): sed $(MAN_SUBSTS) < $< > $@ + +EXTRA_DIST += ChangeLog +MAINTAINERCLEANFILES = ChangeLog + +.PHONY: ChangeLog + +ChangeLog: + (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + +dist-hook: ChangeLog + +if LINT +ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) + +lint: + $(LINT) $(ALL_LINT_FLAGS) $(xfs_SOURCES) +endif LINT diff --git a/app/xfs/Makefile.in b/app/xfs/Makefile.in index 903de2bdf..accd3c8d6 100644 --- a/app/xfs/Makefile.in +++ b/app/xfs/Makefile.in @@ -60,18 +60,19 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = xfs$(EXEEXT) DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/Makefile.in $(srcdir)/xfs-config.h.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ config.guess config.sub depcomp install-sh missing subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno configure.status.lineno mkinstalldirs = $(SHELL) $(install_sh) -d -CONFIG_HEADER = config.h +CONFIG_HEADER = xfs-config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" \ "$(DESTDIR)$(configdir)" @@ -136,9 +137,12 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CONFIG_FILE_DESC = @CONFIG_FILE_DESC@ +CONFIG_FILE_PATH = @CONFIG_FILE_PATH@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ +DEFAULT_CONFIG_FILE = @DEFAULT_CONFIG_FILE@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ @@ -159,6 +163,10 @@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINT = @LINT@ +LINT_FALSE = @LINT_FALSE@ +LINT_FLAGS = @LINT_FLAGS@ +LINT_TRUE = @LINT_TRUE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ @@ -219,11 +227,11 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -configdir = $(datadir)/X11/fs +ACLOCAL_AMFLAGS = -I m4 +configdir = $(sysconfdir)/X11/fs FONT_FLAGS = -DFONT_PCF -DFONT_FS -DFONT_SPEEDO -DFONTCACHE -AM_CFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \ - -DDEFAULT_CONFIG_FILE=\"$(configdir)/config\" $(FONT_FLAGS) \ - -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN +AM_CPPFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \ + $(FONT_FLAGS) -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN LDADD = $(XFS_LIBS) xfs_SOURCES = \ @@ -292,7 +300,7 @@ FSERRORS = /var/log/xfs.log FONTDIR = $(libdir)/X11/fonts FONTPATH = $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/ config_DATA = config -EXTRA_DIST = xfs.def config.cpp $(appman_PRE) +EXTRA_DIST = xfs.def config.cpp $(appman_PRE) ChangeLog CLEANFILES = config $(appman_DATA) appmandir = $(APP_MAN_DIR) appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) @@ -314,10 +322,16 @@ MAN_SUBSTS = \ -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \ + -e 's|__configfiledesc__|$(CONFIG_FILE_DESC)|g' \ + -e 's|__configfilepath__|$(CONFIG_FILE_PATH)|g' \ -e 's|XCOMM|\#|g' SUFFIXES = .$(APP_MAN_SUFFIX) .man -all: config.h +MAINTAINERCLEANFILES = ChangeLog +@LINT_TRUE@ALL_LINT_FLAGS = $(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +@LINT_TRUE@ $(AM_CPPFLAGS) $(CPPFLAGS) + +all: xfs-config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: @@ -356,22 +370,22 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -config.h: stamp-h1 +xfs-config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) stamp-h1; \ else :; fi -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status +stamp-h1: $(srcdir)/xfs-config.h.in $(top_builddir)/config.status @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(SHELL) ./config.status xfs-config.h +$(srcdir)/xfs-config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: - -rm -f config.h stamp-h1 + -rm -f xfs-config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" @@ -870,11 +884,11 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) mkid -fID $$unique tags: TAGS -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) xfs-config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) xfs-config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ @@ -886,11 +900,11 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $$tags $$unique; \ fi ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) xfs-config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) xfs-config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ @@ -911,6 +925,7 @@ distclean-tags: distdir: $(DISTFILES) $(am__remove_distdir) mkdir $(distdir) + $(mkdir_p) $(distdir)/m4 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ @@ -937,6 +952,9 @@ distdir: $(DISTFILES) || exit 1; \ fi; \ done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ @@ -1036,7 +1054,7 @@ distcleancheck: distclean exit 1; } >&2 check-am: all-am check: check-am -all-am: Makefile $(PROGRAMS) $(DATA) config.h +all-am: Makefile $(PROGRAMS) $(DATA) xfs-config.h installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(configdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ @@ -1066,6 +1084,7 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am @@ -1121,8 +1140,8 @@ uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \ .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ - dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ + dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ + distclean distclean-compile distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-appmanDATA install-binPROGRAMS install-configDATA \ @@ -1140,6 +1159,16 @@ config: config.cpp .man.$(APP_MAN_SUFFIX): sed $(MAN_SUBSTS) < $< > $@ + +.PHONY: ChangeLog + +ChangeLog: + (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + +dist-hook: ChangeLog + +@LINT_TRUE@lint: +@LINT_TRUE@ $(LINT) $(ALL_LINT_FLAGS) $(xfs_SOURCES) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/app/xfs/aclocal.m4 b/app/xfs/aclocal.m4 index 1875bdee8..9384d2c2b 100644 --- a/app/xfs/aclocal.m4 +++ b/app/xfs/aclocal.m4 @@ -995,6 +995,7 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/ac_define_dir.m4]) dnl dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved. dnl @@ -1042,7 +1043,7 @@ AC_DEFUN([XORG_MACROS_VERSION],[ XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'` XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`] AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}]) - [XORG_MACROS_version=1.1.5 + [XORG_MACROS_version=1.1.6 XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'` XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`] if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then @@ -1191,7 +1192,11 @@ AC_DEFUN([XORG_CHECK_LINUXDOC],[ XORG_SGML_PATH=$prefix/share/sgml HAVE_DEFS_ENT= -AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes]) +if test x"$cross_compiling" = x"yes" ; then + HAVE_DEFS_ENT=no +else + AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes]) +fi AC_PATH_PROG(LINUXDOC, linuxdoc) AC_PATH_PROG(PS2PDF, ps2pdf) @@ -1463,14 +1468,14 @@ AC_DEFUN([XORG_RELEASE_VERSION],[ AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR], [`echo $PACKAGE_VERSION | cut -d . -f 1`], [Major version of this package]) - PVM=`echo $PACKAGE_VERSION | cut -d . -f 2` + PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1` if test "x$PVM" = "x"; then PVM="0" fi AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR], [$PVM], [Minor version of this package]) - PVP=`echo $PACKAGE_VERSION | cut -d . -f 3` + PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1` if test "x$PVP" = "x"; then PVP="0" fi @@ -1533,6 +1538,12 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[ #include #include ]) + + # POSIX.1g changed the type of pointer passed to getsockname/getpeername/etc. + AC_CHECK_TYPES([socklen_t], [], [], [ +AC_INCLUDES_DEFAULT +#include ]) + ]) # XTRANS_TCP_FLAGS # XTRANS_CONNECTION_FLAGS() @@ -1542,17 +1553,21 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[ AC_DEFUN([XTRANS_CONNECTION_FLAGS],[ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_TYPE_SIGNAL]) + [case $host_os in + mingw*) unixdef="no" ;; + *) unixdef="yes" ;; + esac] AC_ARG_ENABLE(unix-transport, AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]), - [UNIXCONN=$enableval], [UNIXCONN=yes]) - AC_ARG_ENABLE(tcp-transport, - AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]), - [TCPCONN=$enableval], [TCPCONN=yes]) + [UNIXCONN=$enableval], [UNIXCONN=$unixdef]) AC_MSG_CHECKING([if Xtrans should support UNIX socket connections]) if test "$UNIXCONN" = "yes"; then AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections]) fi AC_MSG_RESULT($UNIXCONN) + AC_ARG_ENABLE(tcp-transport, + AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]), + [TCPCONN=$enableval], [TCPCONN=yes]) AC_MSG_CHECKING([if Xtrans should support TCP socket connections]) AC_MSG_RESULT($TCPCONN) if test "$TCPCONN" = "yes"; then diff --git a/app/xfs/configure b/app/xfs/configure index c66ce6821..cda478654 100644 --- a/app/xfs/configure +++ b/app/xfs/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for xfs 1.0.5. +# Generated by GNU Autoconf 2.59 for xfs 1.0.8. # # Report bugs to . # @@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='xfs' PACKAGE_TARNAME='xfs' -PACKAGE_VERSION='1.0.5' -PACKAGE_STRING='xfs 1.0.5' +PACKAGE_VERSION='1.0.8' +PACKAGE_STRING='xfs 1.0.8' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' # Factoring default headers for most tests. @@ -310,7 +310,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP PKG_CONFIG ac_pt_PKG_CONFIG XFS_CFLAGS XFS_LIBS APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP DEFAULT_CONFIG_FILE CONFIG_FILE_DESC CONFIG_FILE_PATH PKG_CONFIG ac_pt_PKG_CONFIG XFS_CFLAGS XFS_LIBS LINT LINT_FLAGS LINT_TRUE LINT_FALSE APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -791,7 +791,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xfs 1.0.5 to adapt to many kinds of systems. +\`configure' configures xfs 1.0.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -857,7 +857,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xfs 1.0.5:";; + short | recursive ) echo "Configuration of xfs 1.0.8:";; esac cat <<\_ACEOF @@ -877,6 +877,12 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-default-config-file=PATH + comma-separated list of paths to look for config + file when not specified (default: + ${sysconfdir}/X11/fs/config) + --with-lint Use a lint-style source code checker (default: + disabled) --with-release-version=STRING Use release version string in package name @@ -991,7 +997,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -xfs configure 1.0.5 +xfs configure 1.0.8 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1005,7 +1011,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xfs $as_me 1.0.5, which was +It was created by xfs $as_me 1.0.8, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1603,7 +1609,7 @@ fi # Define the identity of the package. PACKAGE='xfs' - VERSION='1.0.5' + VERSION='1.0.8' cat >>confdefs.h <<_ACEOF @@ -1758,7 +1764,32 @@ fi - ac_config_headers="$ac_config_headers config.h" + ac_config_headers="$ac_config_headers xfs-config.h" + + +# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro + + + XORG_MACROS_needed_version=1.1 + XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'` + XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'` + echo "$as_me:$LINENO: checking if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}" >&5 +echo $ECHO_N "checking if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}... $ECHO_C" >&6 + XORG_MACROS_version=1.1.6 + XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'` + XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'` + if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then + { { echo "$as_me:$LINENO: error: configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x" >&5 +echo "$as_me: error: configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x" >&2;} + { (exit 1); exit 1; }; } + fi + if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then + { { echo "$as_me:$LINENO: error: configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer" >&5 +echo "$as_me: error: configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer" >&2;} + { (exit 1); exit 1; }; } + fi + echo "$as_me:$LINENO: result: yes, $XORG_MACROS_version" >&5 +echo "${ECHO_T}yes, $XORG_MACROS_version" >&6 ac_ext=c @@ -3648,6 +3679,48 @@ fi done + +# Check whether --with-default-config-file or --without-default-config-file was given. +if test "${with_default_config_file+set}" = set; then + withval="$with_default_config_file" + CONFIG_FILE="$withval" +else + CONFIG_FILE="${sysconfdir}/X11/fs/config" +fi; + +DEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g` + + prefix_NONE= + exec_prefix_NONE= + test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix + eval ac_define_dir="\"$DEFAULT_CONFIG_FILE\"" + eval ac_define_dir="\"$ac_define_dir\"" + DEFAULT_CONFIG_FILE="$ac_define_dir" + + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_CONFIG_FILE "$ac_define_dir" +_ACEOF + + test "$prefix_NONE" && prefix=NONE + test "$exec_prefix_NONE" && exec_prefix=NONE + + +# generate text for the man page +case $CONFIG_FILE in + *,*) + CONFIG_FILE_DESC="the first file found from the list:" + CONFIG_FILE_PATH=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\fR, \\\\\\\\fI/g'` + ;; + *) + CONFIG_FILE_DESC="the default file," + CONFIG_FILE_PATH="${CONFIG_FILE}" + ;; +esac + + + # Checks for pkg-config packages @@ -3942,19 +4015,16 @@ _ACEOF + case $host_os in + mingw*) unixdef="no" ;; + *) unixdef="yes" ;; + esac # Check whether --enable-unix-transport or --disable-unix-transport was given. if test "${enable_unix_transport+set}" = set; then enableval="$enable_unix_transport" UNIXCONN=$enableval else - UNIXCONN=yes -fi; - # Check whether --enable-tcp-transport or --disable-tcp-transport was given. -if test "${enable_tcp_transport+set}" = set; then - enableval="$enable_tcp_transport" - TCPCONN=$enableval -else - TCPCONN=yes + UNIXCONN=$unixdef fi; echo "$as_me:$LINENO: checking if Xtrans should support UNIX socket connections" >&5 echo $ECHO_N "checking if Xtrans should support UNIX socket connections... $ECHO_C" >&6 @@ -3967,6 +4037,13 @@ _ACEOF fi echo "$as_me:$LINENO: result: $UNIXCONN" >&5 echo "${ECHO_T}$UNIXCONN" >&6 + # Check whether --enable-tcp-transport or --disable-tcp-transport was given. +if test "${enable_tcp_transport+set}" = set; then + enableval="$enable_tcp_transport" + TCPCONN=$enableval +else + TCPCONN=yes +fi; echo "$as_me:$LINENO: checking if Xtrans should support TCP socket connections" >&5 echo $ECHO_N "checking if Xtrans should support TCP socket connections... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $TCPCONN" >&5 @@ -4468,6 +4545,77 @@ _ACEOF fi + # POSIX.1g changed the type of pointer passed to getsockname/getpeername/etc. + echo "$as_me:$LINENO: checking for socklen_t" >&5 +echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 +if test "${ac_cv_type_socklen_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +$ac_includes_default +#include + +int +main () +{ +if ((socklen_t *) 0) + return 0; +if (sizeof (socklen_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_socklen_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_socklen_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5 +echo "${ECHO_T}$ac_cv_type_socklen_t" >&6 +if test $ac_cv_type_socklen_t = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_SOCKLEN_T 1 +_ACEOF + + +fi + + + fi case $host_os in solaris*|sco*|sysv4*) localdef="yes" ;; @@ -4496,6 +4644,49 @@ _ACEOF +# Allow checking code with lint, sparse, etc. + +# Check whether --with-lint or --without-lint was given. +if test "${with_lint+set}" = set; then + withval="$with_lint" + use_lint=$withval +else + use_lint=no +fi; +if test "x$use_lint" = "xyes" ; then + LINT="lint" +else + LINT="$use_lint" +fi +if test "x$LINT_FLAGS" = "x" -a "x$LINT" != "xno" ; then + case $LINT in + lint|*/lint) + case $host_os in + solaris*) + LINT_FLAGS="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2" + ;; + esac + ;; + esac +fi + + + + + +if test x$LINT != xno; then + LINT_TRUE= + LINT_FALSE='#' +else + LINT_TRUE='#' + LINT_FALSE= +fi + + + + + + if test x$APP_MAN_SUFFIX = x ; then APP_MAN_SUFFIX=1 @@ -4585,7 +4776,7 @@ cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1` _ACEOF - PVM=`echo $PACKAGE_VERSION | cut -d . -f 2` + PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1` if test "x$PVM" = "x"; then PVM="0" fi @@ -4594,7 +4785,7 @@ cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION_MINOR $PVM _ACEOF - PVP=`echo $PACKAGE_VERSION | cut -d . -f 3` + PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1` if test "x$PVP" = "x"; then PVP="0" fi @@ -4718,6 +4909,13 @@ echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${LINT_TRUE}" && test -z "${LINT_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"LINT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"LINT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -4989,7 +5187,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by xfs $as_me 1.0.5, which was +This file was extended by xfs $as_me 1.0.8, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5052,7 +5250,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -xfs config.status 1.0.5 +xfs config.status 1.0.8 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -5164,7 +5362,7 @@ do # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "xfs-config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS xfs-config.h" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; @@ -5301,10 +5499,17 @@ s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t +s,@DEFAULT_CONFIG_FILE@,$DEFAULT_CONFIG_FILE,;t t +s,@CONFIG_FILE_DESC@,$CONFIG_FILE_DESC,;t t +s,@CONFIG_FILE_PATH@,$CONFIG_FILE_PATH,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t s,@XFS_CFLAGS@,$XFS_CFLAGS,;t t s,@XFS_LIBS@,$XFS_LIBS,;t t +s,@LINT@,$LINT,;t t +s,@LINT_FLAGS@,$LINT_FLAGS,;t t +s,@LINT_TRUE@,$LINT_TRUE,;t t +s,@LINT_FALSE@,$LINT_FALSE,;t t s,@APP_MAN_SUFFIX@,$APP_MAN_SUFFIX,;t t s,@LIB_MAN_SUFFIX@,$LIB_MAN_SUFFIX,;t t s,@FILE_MAN_SUFFIX@,$FILE_MAN_SUFFIX,;t t diff --git a/app/xfs/configure.ac b/app/xfs/configure.ac index a4ebb6558..54f81de55 100644 --- a/app/xfs/configure.ac +++ b/app/xfs/configure.ac @@ -1,4 +1,3 @@ - dnl Copyright 2005 Red Hat, Inc. dnl dnl Permission to use, copy, modify, distribute, and sell this software and its @@ -22,11 +21,15 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT(xfs,[1.0.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xfs) +AC_INIT(xfs,[1.0.8], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xfs) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE -AM_CONFIG_HEADER(config.h) +AM_CONFIG_HEADER(xfs-config.h) + +# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.1) AC_PROG_CC AC_PROG_INSTALL @@ -43,6 +46,29 @@ esac AC_CHECK_HEADERS([stdint.h]) +AC_ARG_WITH(default-config-file, + AS_HELP_STRING([--with-default-config-file=PATH], + [comma-separated list of paths to look for config file when not specified (default: ${sysconfdir}/X11/fs/config)]), + [CONFIG_FILE="$withval"], [CONFIG_FILE="${sysconfdir}/X11/fs/config"]) + +DEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g` +AC_DEFINE_DIR([DEFAULT_CONFIG_FILE], DEFAULT_CONFIG_FILE, + [comma-separated list of strings for config file paths when not specified]) + +# generate text for the man page +case $CONFIG_FILE in + *,*) + CONFIG_FILE_DESC="the first file found from the list:" + CONFIG_FILE_PATH=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\fR, \\\\\\\\fI/g'` + ;; + *) + CONFIG_FILE_DESC="the default file," + CONFIG_FILE_PATH="${CONFIG_FILE}" + ;; +esac +AC_SUBST([CONFIG_FILE_DESC]) +AC_SUBST([CONFIG_FILE_PATH]) + # Checks for pkg-config packages PKG_CHECK_MODULES(XFS, libfs xfont xtrans) XFS_CFLAGS="$XFS_CFLAGS $OS_CFLAGS" @@ -52,6 +78,9 @@ AC_SUBST(XFS_LIBS) # Transport selection macro from xtrans.m4 XTRANS_CONNECTION_FLAGS +dnl Allow checking code with lint, sparse, etc. +XORG_WITH_LINT + XORG_MANPAGE_SECTIONS XORG_RELEASE_VERSION diff --git a/app/xfs/difs/fontinfo.c b/app/xfs/difs/fontinfo.c index e7e627d46..a5615d439 100644 --- a/app/xfs/difs/fontinfo.c +++ b/app/xfs/difs/fontinfo.c @@ -48,6 +48,8 @@ in this Software without prior written authorization from The Open Group. */ /* $XFree86: xc/programs/xfs/difs/fontinfo.c,v 1.10 2001/12/14 20:01:34 dawes Exp $ */ +#include + #include #include #include @@ -62,9 +64,6 @@ in this Software without prior written authorization from The Open Group. #include #include -#ifdef HAVE_CONFIG_H -#include -#endif #ifdef HAVE_STDINT_H #include #endif diff --git a/app/xfs/difs/main.c b/app/xfs/difs/main.c index 4e6272c2b..4b3a5ccc5 100644 --- a/app/xfs/difs/main.c +++ b/app/xfs/difs/main.c @@ -69,10 +69,6 @@ int ConnInfoLen; Cache serverCache; -#ifndef DEFAULT_CONFIG_FILE -#define DEFAULT_CONFIG_FILE "/usr/lib/X11/fs/config" -#endif - #define SERVER_CACHE_SIZE 10000 /* for random server cacheables */ static Bool create_connection_block(void); @@ -91,7 +87,7 @@ main(int argc, char *argv[]) argcGlobal = argc; argvGlobal = argv; - configfilename = DEFAULT_CONFIG_FILE; + configfilename = NULL; /* init stuff */ ProcessCmdLine(argc, argv); diff --git a/app/xfs/include/os.h b/app/xfs/include/os.h index 24485522d..e98778a5d 100644 --- a/app/xfs/include/os.h +++ b/app/xfs/include/os.h @@ -91,7 +91,7 @@ extern FontCacheSettings cacheSettings; struct _osComm; /* FIXME: osCommPtr */ /* os/config.c */ -extern int ReadConfigFile(char *filename); +extern int ReadConfigFile(const char *filename); /* os/connection.c */ extern void AttendClient(ClientPtr client); diff --git a/app/xfs/include/servermd.h b/app/xfs/include/servermd.h index 6e5cc8abc..ccd6629be 100644 --- a/app/xfs/include/servermd.h +++ b/app/xfs/include/servermd.h @@ -49,8 +49,17 @@ in this Software without prior written authorization from The Open Group. #ifndef _SERVERMD_H_ #define _SERVERMD_H_ +#include + #ifndef VENDOR_RELEASE -#define VENDOR_RELEASE 6700 +# if defined PACKAGE_VERSION_MAJOR +# define VENDOR_RELEASE \ + (((PACKAGE_VERSION_MAJOR) * 10000000) + \ + ((PACKAGE_VERSION_MINOR) * 100000) + \ + ((PACKAGE_VERSION_PATCHLEVEL) * 1000)) +# else +# define VENDOR_RELEASE 7000 +# endif #endif #ifndef VENDOR_STRING diff --git a/app/xfs/m4/ac_define_dir.m4 b/app/xfs/m4/ac_define_dir.m4 new file mode 100644 index 000000000..db42d3eb0 --- /dev/null +++ b/app/xfs/m4/ac_define_dir.m4 @@ -0,0 +1,49 @@ +# =========================================================================== +# http://autoconf-archive.cryp.to/ac_define_dir.html +# =========================================================================== +# +# SYNOPSIS +# +# AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION]) +# +# DESCRIPTION +# +# This macro sets VARNAME to the expansion of the DIR variable, taking +# care of fixing up ${prefix} and such. +# +# VARNAME is then offered as both an output variable and a C preprocessor +# symbol. +# +# Example: +# +# AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.]) +# +# LAST MODIFICATION +# +# 2008-04-12 +# +# COPYLEFT +# +# Copyright (c) 2008 Stepan Kasal +# Copyright (c) 2008 Andreas Schwab +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2008 Alexandre Oliva +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +AC_DEFUN([AC_DEFINE_DIR], [ + prefix_NONE= + exec_prefix_NONE= + test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix +dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn +dnl refers to ${prefix}. Thus we have to use `eval' twice. + eval ac_define_dir="\"[$]$2\"" + eval ac_define_dir="\"$ac_define_dir\"" + AC_SUBST($1, "$ac_define_dir") + AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3]) + test "$prefix_NONE" && prefix=NONE + test "$exec_prefix_NONE" && exec_prefix=NONE +]) diff --git a/app/xfs/os/config.c b/app/xfs/os/config.c index e5dbc4801..1abf2afff 100644 --- a/app/xfs/os/config.c +++ b/app/xfs/os/config.c @@ -49,6 +49,8 @@ in this Software without prior written authorization from The Open Group. */ /* $XFree86: xc/programs/xfs/os/config.c,v 3.15 2002/05/31 18:46:12 dawes Exp $ */ +#include + #include #include #include @@ -66,6 +68,15 @@ in this Software without prior written authorization from The Open Group. #include #include "difs.h" +static const char * const default_config_files[] = { +#ifdef DEFAULT_CONFIG_FILE + DEFAULT_CONFIG_FILE, +#else + "/usr/lib/X11/fs/config", +#endif + NULL +}; + extern int portFromCmdline; static char *font_catalogue = NULL; @@ -285,6 +296,10 @@ SetConfigValues(void) int err, num; + if (font_catalogue == NULL) { + FatalError("font catalogue is missing/empty\n"); + } + err = SetFontCatalogue(font_catalogue, &num); if (err != FSSuccess) { FatalError("element #%d (starting at 0) of font path is bad or has a bad font:\n\"%s\"\n", @@ -315,12 +330,14 @@ char *__XFSRedirRoot(char *fname) } #endif +/* If argument is NULL, uses first file found from default_config_files */ int -ReadConfigFile(char *filename) +ReadConfigFile(const char *filename) { FILE *fp; int ret; int len; + int i; char *data; data = (char *) fsalloc(CONFIG_MAX_FILESIZE); @@ -328,12 +345,31 @@ ReadConfigFile(char *filename) ErrorF(ConfigErrors[CONFIG_ERR_MEMORY], filename); return FSBadAlloc; } + if (filename != NULL) { #ifdef __UNIXOS2__ - filename = __XFSRedirRoot(filename); + filename = __XFSRedirRoot(filename); #endif - if ((fp = fopen(filename, "r")) == NULL) { + fp = fopen(filename, "r"); + if (fp == NULL) { + ErrorF(ConfigErrors[CONFIG_ERR_OPEN], filename); + } + } else { + for (i = 0; default_config_files[i] != NULL; i++) { + filename = default_config_files[i]; +#ifdef __UNIXOS2__ + filename = __XFSRedirRoot(filename); +#endif + if ((fp = fopen(filename, "r")) != NULL) + break; + } + if (fp == NULL) { + for (i = 0; default_config_files[i] != NULL; i++) { + ErrorF(ConfigErrors[CONFIG_ERR_OPEN], default_config_files[i]); + } + } + } + if (fp == NULL) { fsfree(data); - ErrorF(ConfigErrors[CONFIG_ERR_OPEN], filename); return FSBadName; } ret = fread(data, sizeof(char), CONFIG_MAX_FILESIZE, fp); diff --git a/app/xfs/os/utils.c b/app/xfs/os/utils.c index fcc1c2a06..5ee8b6e94 100644 --- a/app/xfs/os/utils.c +++ b/app/xfs/os/utils.c @@ -562,7 +562,7 @@ StorePid (void) strerror (errno)); return -1; } - if (fprintf (pidFilePtr, "%5ld\n", (long) getpid ()) != 6) + if (fprintf (pidFilePtr, "%11ld\n", (long) getpid ()) != 12) { ErrorF ("cannot write to process-id file %s: %s\n", pidFile, strerror (errno)); diff --git a/app/xfs/os/xfstrans.c b/app/xfs/os/xfstrans.c index 1e54309bf..f74a23a6b 100644 --- a/app/xfs/os/xfstrans.c +++ b/app/xfs/os/xfstrans.c @@ -1,5 +1,5 @@ /* - * $Id: xfstrans.c,v 1.1.1.1 2006/11/26 14:43:47 matthieu Exp $ + * $Id: xfstrans.c,v 1.2 2008/06/13 21:00:36 matthieu Exp $ * * Copyright © 2003 Keith Packard * @@ -22,9 +22,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -#ifdef HAVE_CONFIG_H -#include -#endif +#include #define FONT_t #define TRANS_REOPEN diff --git a/app/xfs/xfs.man b/app/xfs/xfs.man index 049e60a63..4f71ce2e4 100644 --- a/app/xfs/xfs.man +++ b/app/xfs/xfs.man @@ -37,137 +37,215 @@ .\" 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 __appmansuffix__ __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] -.SH DESCRIPTION -.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__configdir__/config\fR -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 +.B xfs +[ +.BI "\-config " configuration_file +] +[ .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 +] +[ .B \-droppriv -If specified, xfs will attempt to run as user and group \fIxfs\fR (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 +] +[ +.BI "\-ls " listen_socket +] +[ .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 +] +[ +.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 (__adminmansuffix__). +Users may also wish to start private font servers for specific sets of +fonts. +.PP +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, xfs will read its configuration from +__configfiledesc__ \fI__configfilepath__\fR. +.TP +.B \-daemon +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; +.TP .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" +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 +.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 +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 "\-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 +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 declared in +.BR xfs 's +configuration file. +.SS "Configuration File Format" +.B xfs +reads its configuration from a text file (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. +.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. The current implementation only supports a single catalogue ("all") containing all of the specified fonts. A special directory with symlinks to font paths can be specified using a catalogue: entry. See the CATALOGUE DIR section below for details. -.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. +.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)" +.\" identifies 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 (__libmansuffix__) +(on supported systems) instead of being written to the +.B error\-file +(see above). .SH "CATALOGUE DIR" You can specify a special kind of font path in the form \fBcatalogue:\fR. The directory specified after the catalogue: prefix will be scanned for symlinks @@ -200,76 +278,96 @@ the following font path: /usr/share/fonts/default/Type1, /usr/share/fonts/default/ghostscript .fi -.SH "EXAMPLE" +.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 TrueType 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/ +catalogue = /usr/X11R6/lib/X11/fonts/TTF, + /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 xfsinfo (__appmansuffix__), +.BR fslsfonts (__appmansuffix__), +.BR init (__adminmansuffix__), +.BR syslog (__libmansuffix__), +.IR "The X Font Service Protocol" , +.I Font Server Implementation Overview