- added missing patch (missing legacy protos files from git)
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 20 Feb 2018 17:59:27 +0000 (18:59 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 20 Feb 2018 17:59:27 +0000 (18:59 +0100)
- added make patch (fix Makefile typo that broke xcalibrate headers installation)
- release 4 (max from xorg-proto-*proto-devel + 1)

xorg-proto-xorgproto.spec
xorgproto-make.patch [new file with mode: 0644]
xorgproto-missing.patch [new file with mode: 0644]

index e87068be7b669ae3f68057c31a4f5c73a8065aa6..66ff16ab40c64b6cd62d0475c9aa45958df0463a 100644 (file)
@@ -1,3 +1,7 @@
+# NOTE:
+# when updating spec, adjust particular proto versions
+# and bump release (unless all versions are increased)
+
 # whole package version
 %define        ver             2018.2
 # subpackage versions (see .pc files) # last standalone spec EVR as comment
@@ -47,12 +51,16 @@ Summary:    Header files of X Window System Unified Protocol
 Summary(pl.UTF-8):     Pliki nagłówkowe zunifikowanego protokołu systemu X Window
 Name:          xorg-proto-xorgproto
 Version:       2018.2
-# bump release on updates unless all subpackage versions are increased!
+# bump release on updates unless ALL subpackage versions are increased!
 Release:       4
 License:       MIT
 Group:         X11/Development/Libraries
 Source0:       https://xorg.freedesktop.org/releases/individual/proto/xorgproto-%{ver}.tar.bz2
 # Source0-md5: 490677ddbc649b177eda7ddb8d3e2074
+# from git://anongit.freedesktop.org/xorg/proto/xorgproto, missing man/ and include/X11/extensions/ files
+# TODO: specs/ dir, but there are no build rules for processing XML
+Patch0:                xorgproto-missing.patch
+Patch1:                xorgproto-make.patch
 URL:           https://xorg.freedesktop.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake
@@ -436,6 +444,20 @@ Pliki nagłówkowe rozszerzenia WindowsWM udostępniają definicję
 rozszerzenia WindowsWM do protokołu X11, służącego do współpracy
 między serwerem X11 a natywnym zarządcą okien Microsoft Windows.
 
+%package -n xorg-proto-xcalibrateproto-devel
+Summary:       XCalibrate extension headers
+Summary(pl.UTF-8):     Pliki nagłówkowe rozszerzenia XCalibrate
+Version:       %{xcalibrate_ver}
+Group:         X11/Development/Libraries
+# just for dirs
+Requires:      xorg-proto-xproto-devel = %{x_ver}-%{release}
+
+%description -n xorg-proto-xcalibrateproto-devel
+XCalibrate extension headers.
+
+%description -n xorg-proto-xcalibrateproto-devel -l pl.UTF-8
+Pliki nagłówkowe rozszerzenia XCalibrate.
+
 %package -n xorg-proto-xcmiscproto-devel
 Summary:       XCMisc extension headers
 Summary(pl.UTF-8):     Pliki nagłówkowe rozszerzenia XCMisc
@@ -525,6 +547,7 @@ Pliki nagłówkowe rozszerzenia XF86DGA.
 %package -n xorg-proto-xf86driproto-devel
 Summary:       XF86DRI extension headers
 Summary(pl.UTF-8):     Pliki nagłówkowe rozszerzenia XF86DRI
+Version:       %{xf86dri_ver}
 Group:         X11/Development/Libraries
 Requires:      libdrm-devel
 Requires:      xorg-proto-xproto-devel = %{x_ver}-%{release}
@@ -643,6 +666,8 @@ usługi proxy.
 
 %prep
 %setup -q -n xorgproto-%{ver}
+%patch0 -p1
+%patch1 -p1
 
 %build
 %{__aclocal}
@@ -654,7 +679,6 @@ usługi proxy.
        --build=%{_host} \
 %endif
        %{?with_legacy:--enable-legacy} \
-       --disable-specs \
        --without-fop
 
 %{__make}
@@ -670,6 +694,9 @@ rm -rf $RPM_BUILD_ROOT
 %{__rm} $RPM_BUILD_ROOT%{_npkgconfigdir}/{applewmproto,windowswmproto}.pc
 %endif
 
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xorgproto
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -684,6 +711,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-bigreqsproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-bigreqsproto
+# specs/bigreq.html
 %{_includedir}/X11/extensions/bigreqs*.h
 %{_npkgconfigdir}/bigreqsproto.pc
 
@@ -736,13 +764,14 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-fontcacheproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-fontcacheproto
-%{_includedir}/X11/extensions/fontcache*.h
+%{_includedir}/X11/extensions/fontcach*.h
 %{_npkgconfigdir}/fontcacheproto.pc
 %endif
 
 %files -n xorg-proto-fontsproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-fontsproto
+# specs/fsproto.html
 %dir %{_includedir}/X11/fonts
 %{_includedir}/X11/fonts/FS.h
 %{_includedir}/X11/fonts/FSproto.h
@@ -766,6 +795,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-inputproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-inputproto
+# specs/{XIproto.txt,XI2proto.txt}
 %{_includedir}/X11/extensions/XI.h
 %{_includedir}/X11/extensions/XIproto.h
 %{_includedir}/X11/extensions/XI2.h
@@ -775,6 +805,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-kbproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-kbproto
+# specs/{XKBproto-*.svg,xkbproto.html}
 %{_includedir}/X11/extensions/XKB.h
 %{_includedir}/X11/extensions/XKBgeom.h
 %{_includedir}/X11/extensions/XKBproto.h
@@ -802,6 +833,7 @@ rm -rf $RPM_BUILD_ROOT
 %doc COPYING-printproto
 %{_includedir}/X11/extensions/Print*.h
 %{_npkgconfigdir}/printproto.pc
+%{_mandir}/man7/Xprint.7*
 %endif
 
 %files -n xorg-proto-randrproto-devel
@@ -813,6 +845,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-recordproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-recordproto
+# specs/record.html
 %{_includedir}/X11/extensions/record*.h
 %{_npkgconfigdir}/recordproto.pc
 
@@ -831,6 +864,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-scrnsaverproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-scrnsaverproto
+# specs/saver.html
 %{_includedir}/X11/extensions/saver*.h
 %{_npkgconfigdir}/scrnsaverproto.pc
 
@@ -858,15 +892,24 @@ rm -rf $RPM_BUILD_ROOT
 %{_npkgconfigdir}/windowswmproto.pc
 %endif
 
+%if %{with legacy}
+%files -n xorg-proto-xcalibrateproto-devel
+%defattr(644,root,root,755)
+%{_includedir}/X11/extensions/xcalibrate*.h
+%{_npkgconfigdir}/xcalibrateproto.pc
+%endif
+
 %files -n xorg-proto-xcmiscproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-xcmiscproto
+# specs/xc-misc.html
 %{_includedir}/X11/extensions/xcmisc*.h
 %{_npkgconfigdir}/xcmiscproto.pc
 
 %files -n xorg-proto-xextproto-devel
 %defattr(644,root,root,755)
 %doc COPYING-xextproto
+# specs/{dbe,dpms,evi,geproto,lbx,multibuf,security,shape,shm,sync,tog-cup,xtest}.html
 %{_includedir}/X11/extensions/EVI*.h
 %{_includedir}/X11/extensions/ag*.h
 %{_includedir}/X11/extensions/cup*.h
@@ -932,7 +975,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n xorg-proto-xproto-devel
 %defattr(644,root,root,755)
 %doc AUTHORS COPYING-x11proto README
-# specs/*.html specs/SIAddresses/{IPv6,hostname,localuser}.txt
+# specs/x11protocol.html specs/SIAddresses/{IPv6,hostname,localuser}.txt
 %{_includedir}/X11/DECkeysym.h
 %{_includedir}/X11/HPkeysym.h
 %{_includedir}/X11/Sunkeysym.h
diff --git a/xorgproto-make.patch b/xorgproto-make.patch
new file mode 100644 (file)
index 0000000..aa7ded2
--- /dev/null
@@ -0,0 +1,11 @@
+--- xorgproto-2018.2/Makefile.am.orig  2018-02-12 17:18:57.000000000 +0100
++++ xorgproto-2018.2/Makefile.am       2018-02-20 16:07:57.395032824 +0100
+@@ -16,7 +16,7 @@
+ if LEGACY
+ XCalibrateincludedir = $(includedir)/X11/extensions
+-XCalibrateinclude_HEADERS = 
++XCalibrateinclude_HEADERS = \
+       include/X11/extensions/xcalibrateproto.h \
+       include/X11/extensions/xcalibratewire.h
diff --git a/xorgproto-missing.patch b/xorgproto-missing.patch
new file mode 100644 (file)
index 0000000..e76b3cb
--- /dev/null
@@ -0,0 +1,1226 @@
+diff -Nur xorgproto/man.orig/Xprint.man xorgproto/man/Xprint.man
+--- xorgproto/man.orig/Xprint.man      1970-01-01 01:00:00.000000000 +0100
++++ xorgproto/man/Xprint.man   2018-02-20 15:29:03.205059476 +0100
+@@ -0,0 +1,421 @@
++.\" -*- coding: us-ascii -*-
++.TH Xprint __miscmansuffix__ "8 October 2004"
++.SH NAME
++Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
++.SH SYNOPSIS
++Xprint is a very flexible, extensible, scaleable, client/server
++print system based on ISO 10175 (and some other specs) and the X11
++rendering protocol.
++Using Xprint an application can search, query and use devices like
++printers, FAX machines or create documents in formats like PDF.
++In particular, an application can seek a printer, query supported
++attributes (like paper size, trays, fonts etc.), configure the printer
++device to match it\(cqs needs and print on it like on any other X device
++reusing parts of the code which is used for the video card Xserver.
++.SH OVERVIEW
++The "X Print Service" technology allows X rendering to devices such as
++printers and fax. Most of the service is available in the X11
++technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
++Modifications have also been made to the LessTif/Motif/Qt technology
++stacks to support Xprint.
++.PP
++The Xp portion consists of:
++.TP 0.2i
++\(bu
++Xp Extension for the X-Server (included in the X-Server Xprt)
++.TP 0.2i
++\(bu
++Xp Extension API for the client side (libXp/libXprintUtils)
++.TP 0.2i
++\(bu
++PCL ddx driver that converts core X to native PCL
++.TP 0.2i
++\(bu
++PDF ddx driver that converts core X to native PDF
++.TP 0.2i
++\(bu
++PostScript ddx driver that converts core X to native PostScript
++.TP 0.2i
++\(bu
++Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
++.PP
++.PP
++From an X clients perspective, it can attach to one of two nearly
++identical X-Servers, a "Video" X-Server, and a "Print" X-Server
++which has the additional Xp capability but otherwise looks and
++behaves the same.
++.SH "HOW THE X PRINT SERVICE WORKS"
++The X Print Service expands on the traditional X-Server and Xlib world
++in four ways.
++.TP 0.4i
++1.
++Most obvious is the use of "print ddx drivers" instead of
++"video ddx drivers". While a video ddx driver modifies pixels
++in a video frame buffer, a print ddx driver generates "page
++description language (PDL)" output (such as PCL, PDF or PostScript)
++or sends the print rendering instructions to a platform-specific
++print API (like Win32/GDI).
++
++Once a print ddx driver generates PDL output, it can be sent to
++a spooler such as \fBlp\fR(1)
++or retrieved by the client (to implement functionality like "print-to-file").
++
++Though not currently done, a single X-Server can support both
++print and video ddx drivers.
++.TP 0.4i
++2.
++Since printers support "paged" output, unlike video, a portion
++of the Xp Extension supports APIs to delineate printed output.
++For example, XpStartPage and XpEndPage tell the X-Server where
++a physical page starts and ends in an otherwise continuous
++stream of X rendering primitives. Likewise, XpStartJob and
++XpEndJob determine when a collection of pages starts and ends.
++XpEndJob typically causes the generated PDL to be submitted to
++a spooler, such as \fBlp\fR(1).
++.TP 0.4i
++3.
++Since printers have extensive capabilities, another portion of
++the Xp Extension supports APIs to manipulate "print contexts".
++
++Once a printer is selected using the Xp Extension API, a print
++context to represent it can be created. A print context
++embodies the printer selected - it contains the printer's
++default capabilities, selectable range of capabilities,
++printer state, and generated output. Some "attributes" within
++the print context can be modified by the user, and the
++X-Server and print ddx driver will react accordingly. For
++example, the attribute "content-orientation" can be set to
++"landscape" or "portrait" (if the printer supports these
++values - which can be queried using the Xprint API as well).
++.TP 0.4i
++4.
++Since printers can have "built in" fonts, the Xp Extension in
++the X-Server works with the print ddx drivers to make
++available (for printing only) additional fonts on a per print
++context basis.
++
++When a print context is created and set for a given printer,
++the X font calls may be able to access additional printer
++fonts. To do this (typically), the X-Server must have access
++to "printer metric files" (.pmf) that describe at minimum the
++metrics of the built in fonts.
++.PP
++.SH USAGE
++There are three tasks to start the X Print Service:
++.TP 0.4i
++1.
++configuring the X Print Server,
++.TP 0.4i
++2.
++starting the X Print Service
++.TP 0.4i
++3.
++configuring the user session so that clients can find the running X Print Service
++.PP
++.PP
++The tasks are described in detail below.
++.SH "SERVER CONFIGURATION"
++The X Print Server (Xprt) can read a number of configuration files which
++control its behavior and support for printers. Each vendor platform has
++a default location for this information. Xprt can also read the
++environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
++directories. Common settings include:
++
++export XPCONFIGDIR=/X11/lib/X11/XpConfig/
++.PP
++export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
++
++.PP
++Xprt has many built-in defaults, and lacking any configuration files,
++will immediately try to support all printers visible via \fBlpstat\fR(1).
++.PP
++In order of importance for configuration by a system administrator, the
++configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
++details (including support for non-"C" locales)):
++.TP
++\fB${XPCONFIGDIR}/C/print/Xprinters\fR
++\&'Xprinters' is the top most configuration file. It tells
++Xprt which specific printer names (e.g. mylaser) should
++be supported, and whether \fBlpstat\fR(1) or other commands
++should be used to automatically supplement the list of
++printers.
++.TP
++\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
++The 'printer' file maps printer names to model
++configurations (see 'model-config' below). For example,
++"mylaser" could be mapped to a "HPDJ1600C", and all other
++arbitrary printers could be mapped to a default, such as
++"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
++file, setting up defaults in 'printer' becomes all the
++more important.
++.TP
++\fB${XPCONFIGDIR}/C/print/attributes/document\fR
++The 'document' file specifies the initial document values
++for any print jobs. For example, which paper tray to
++use, what default resolution, etc.
++.TP
++\fB${XPCONFIGDIR}/C/print/attributes/job\fR
++The 'job' file specifies the initial job values for any
++print jobs. For example, "notification-profile" can be
++set so that when a print job is successfully sent to a
++printer, e-mail is sent to the user.
++.TP
++\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR
++The 'model-config' file has attributes that describe the
++printer model\(cqs capabilities and default settings.
++Printer model fonts may also be present. The model-config
++file also identifies the print ddx driver to be used.
++For each printer model supported, a complete hierarchy of
++files should exist. In most cases, these files do not
++need to be modified.
++.TP
++\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR
++The print ddx drivers can have highly specific
++configuration files to control their behavior. In most
++cases, these files do not need to be modified.
++.PP
++More information in how to configure and customize the X print server can be found in the
++\fBXprt\fR(__appmansuffix__)
++manual page.
++.SH "STARTING UP"
++The summary checklist for starting the X Print Service is as follows:
++.TP 0.4i
++1.
++Choose an execution model for the X Print Service. The X
++Print Service can be run on a per-user session basis, per
++machine basis, or can be run on a few machines globally
++available to a number of users.
++.TP 0.4i
++2.
++If print jobs are to be submitted to a spooler (almost always
++the case), make sure all needed printers are available to the
++spooler subsystem (most often \fBlp\fR(1))
++on the same machine running the X Print Service.
++.TP 0.4i
++3.
++Configure the X Print Server. See ``X Print Server
++Configuration''.
++.TP 0.4i
++4.
++Depending on #1, start the X Print Server process "Xprt", and
++then the toolkit-specific Print Dialog Manager Daemon process
++(such as CDEnext's "dtpdmd") at the appropriate times.
++Note that libXprintUtils-based applications/toolkits do not need
++a Print Dialog Manager Daemon process to use Xprint.
++.PP
++The details are described below.
++.PP
++Because the X Print Service is based on X, it can be easily distributed.
++The most significant factors in which execution model to choose will be
++driven by:
++.TP 0.2i
++\(bu
++how many printers will be accessable through the printer
++subsystem on any given machine. A system administrator may
++choose to cluster printers on a few given machines, or
++scatter them across an organization and possibly make
++extensive use of remote spoolers to make them globally
++available.
++.TP 0.2i
++\(bu
++how many machines will need a copy of the X Print Server
++configuration files. The files have been architected so
++that one super-set version of them can be maintained and
++distributed (e.g. via NFS), and a per-machine or per-user
++version of the `Xprinters' is all that is needed to have the
++appropriate information in them utilized or ignored.
++.TP 0.2i
++\(bu
++how many users can demand services from a given X Print
++Service.
++.PP
++With the above in mind, some obvious execution models include:
++.TP 0.2i
++\(bu
++Global - in this model, the system administrator is choosing
++to run the X Print Service on a *few* select machines with
++appropriate printers configured, and allow clients access to
++the global resource. This can centralize the administration
++of printers and configuration files, but may have to be
++monitored for performance loading.
++
++Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
++.TP 0.2i
++\(bu
++Per-machine - every machine with potential X Print Service
++users would run the service. Printer and configuration file
++administration is decentralized, and usage would be limited
++to the users on the machine.
++
++Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
++.TP 0.2i
++\(bu
++Per-user session - every user would run an entire X Print
++Service for themselves. In the future, the Video X Server
++normally started may contain Print X Server capability, so
++this model becomes very natural.
++
++Startup would likely be done at session login or by
++launching actions or processes manually once the user
++logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
++.PP
++.PP
++Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
++.TP 0.4i
++1.
++
++.nf
++[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
++.fi
++
++
++Note that Xprt will look for configuration files in either
++a default location or where \fBXPCONFIGDIR\fR points.
++
++\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
++than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
++.TP 0.4i
++2.
++
++.nf
++[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
++.fi
++
++
++The dtpdmd will maintain an X-Selection on the X-Server,
++and will start dtpdm's as required to service requests.
++.PP
++.PP
++In all but the per-user session model, the machine running the dtpdmd
++(thus dtpdm's) will need display authorization to the users video
++display.
++.SH "CLIENT CONFIGURATION"
++Once a X Print Server and dtpdmd have been started -- many of them
++in some cases -- clients will need to find and use them. There are
++two mechanisms that allow clients to discover X Print Servers and
++printers.
++.TP 0.2i
++\(bu
++"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
++applications, the following notation is understood:
++
++
++.nf
++printer_name@machine[:dispNum]
++.fi
++
++
++For example:
++
++
++.nf
++colorlj7@printhub:2
++.fi
++
++
++In the above example, the X Print Server running at `printhub:2'
++is assumed to support the printer named `colorlj7'.
++.TP 0.2i
++\(bu
++\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
++the environment variable \fB${XPSERVERLIST}\fR can contain a list
++of X Print Servers. For example:
++
++
++.nf
++XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
++.fi
++
++
++Then in the dialogs, only a printer name needs to be entered.
++The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
++for a server than supports the printer, and then establish
++contact.
++.PP
++.SH "END-USER SEQUENCE"
++From most CDEnext applications, printing is accomplished by bringing
++down the <File> menu and selecting <Print...>. This will result in
++the DtPrintSetupBox dialog, which will request the name of a printer,
++and offer limited capability to configure print options (e.g. number
++of copies). If the user wishes, they can select <Setup...>, which
++will start a dtpdm capable of modifying additional print options.
++Finally, the user should select <Print>.
++.SH ENVIRONMENT
++.TP
++\fB${XPCONFIGDIR}\fR
++This environment variable points to the root
++of the Xprint server configuration directory hierarchy.
++If the variable is not defined, the default
++path is be assumed. The default path may be
++\fB/usr/X11R6/lib/X11/xserver/\fR,
++\fB/usr/lib/X11/xserver/\fR,
++\fB/usr/share/Xprint/xserver/\fR or
++\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
++system, and may be configured in \fB/etc/init.d/xprint\fR.
++.TP
++\fB${LANG}\fR
++This environment variable selects the locale settings used by the Xprint server.
++Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
++which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
++If \fB${LANG}\fR is not set "C" is assumed.
++.TP
++\fB${XPSERVERLIST}\fR
++The environment variable \fB${XPSERVERLIST}\fR contains a list
++of display identifiers (separated by whitespace) which tell an
++application where it can find the Xprint servers. Usually
++\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
++\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
++\fB/etc/init.d/xprint get_xpserverlist\fR.
++
++Example:
++
++.nf
++
++              export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
++.fi
++
++
++Alternatively \fB${XPSERVERLIST}\fR can be set
++manually. Example:
++
++.nf
++
++              export XPSERVERLIST="littlecat:80 bitdog:72"
++.fi
++
++instructs an application to find an Xprint server at display
++80 on the machine "littlecat" and at display 72 on the
++machine bigdog.
++.TP
++\fB${XPRINTER}\fR
++The environment variable \fB${XPRINTER}\fR
++defines the default printer used by print
++applications. The syntax is either
++\fIprintername\fR or
++\fIprintername\fR@\fIdisplay\fR.
++
++Examples:
++.RS
++.TP
++\fBXPRINTER=ps003\fR
++tells an application to look for the
++first printer named "ps003" on all Xprint
++servers.
++.TP
++\fBXPRINTER=hplaser19@littlecat:80\fR
++tells an application to use the printer "hplaser19"
++on the Xprint server at display
++"littlecat:80".
++.RE
++
++
++If \fB${XPRINTER}\fR is not set the applications
++will examine the values of the \fB${PDPRINTER}\fR,
++\fB${LPDEST}\fR, and
++\fB${PRINTER}\fR environment variables (in that order).
++.SH "SEE ALSO"
++\fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/)
++.SH AUTHORS
++This manual page was written by
++Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
++\fBxc/programs/Xserver/XpConfig/README\fR.
+diff -Nur xorgproto/man.orig/Xprint.sgml xorgproto/man/Xprint.sgml
+--- xorgproto/man.orig/Xprint.sgml     1970-01-01 01:00:00.000000000 +0100
++++ xorgproto/man/Xprint.sgml  2018-02-20 15:29:03.205059476 +0100
+@@ -0,0 +1,627 @@
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'>
++
++<!-- Process this file with docbook-to-man to generate an nroff manual
++     page: 'docbook-to-man manpage.sgml > manpage.1'.  You may view
++     the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'.
++     A typical entry in a Makefile or Makefile.am is:
++
++manpage.1: manpage.sgml
++      docbook-to-man $< > $@
++
++HTML generation can be done like this:
++% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
++  -->
++
++<refentry id="Xprint">
++  <refmeta>
++    <refentrytitle>Xprint</refentrytitle>
++    <manvolnum>__miscmansuffix__</manvolnum>
++  </refmeta>
++  <refnamediv>
++    <refname>Xprint</refname>
++
++    <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
++  </refnamediv>
++  <refsynopsisdiv>
++    <para>Xprint is a very flexible, extensible, scaleable, client/server
++     print system based on ISO 10175 (and some other specs) and the X11
++     rendering protocol.
++     Using Xprint an application can search, query and use devices like
++     printers, FAX machines or create documents in formats like PDF.
++     In particular, an application can seek a printer, query supported
++     attributes (like paper size, trays, fonts etc.), configure the printer
++     device to match it&rsquo;s needs and print on it like on any other X device
++     reusing parts of the code which is used for the video card Xserver.
++    </para>
++  </refsynopsisdiv>
++
++  <refsect1>
++    <title>OVERVIEW</title>
++    <para>
++      The "X Print Service" technology allows X rendering to devices such as
++      printers and fax.  Most of the service is available in the X11
++      technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
++      Modifications have also been made to the LessTif/Motif/Qt technology
++      stacks to support Xprint.
++    </para>
++    <para>
++      The Xp portion consists of:
++      <itemizedlist>
++        <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
++        <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
++        <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
++        <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
++        <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
++        <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
++      </itemizedlist>
++    </para>
++    <para>
++      From an X clients perspective, it can attach to one of two nearly
++      identical X-Servers, a "Video" X-Server, and a "Print" X-Server
++      which has the additional Xp capability but otherwise looks and
++      behaves the same.
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>HOW THE X PRINT SERVICE WORKS</title>
++    <para>
++      The X Print Service expands on the traditional X-Server and Xlib world
++      in four ways.
++
++      <orderedlist>
++        <listitem>
++          <para>
++            Most obvious is the use of "print ddx drivers" instead of
++            "video ddx drivers".  While a video ddx driver modifies pixels
++            in a video frame buffer, a print ddx driver generates "page
++            description language (PDL)" output (such as PCL, PDF or PostScript)
++            or sends the print rendering instructions to a platform-specific
++            print API (like Win32/GDI).
++          </para>
++          <para>
++            Once a print ddx driver generates PDL output, it can be sent to
++            a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
++            or retrieved by the client (to implement functionality like "print-to-file").
++          </para>
++          <para>
++            Though not currently done, a single X-Server can support both
++            print and video ddx drivers.
++            <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            Since printers support "paged" output, unlike video, a portion
++            of the Xp Extension supports APIs to delineate printed output.
++            For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
++            a physical page starts and ends in an otherwise continuous
++            stream of X rendering primitives.  Likewise, <function>XpStartJob</function> and
++            <function>XpEndJob</function> determine when a collection of pages starts and ends.
++            <function>XpEndJob</function> typically causes the generated PDL to be submitted to
++            a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            Since printers have extensive capabilities, another portion of
++            the Xp Extension supports APIs to manipulate "print contexts".
++          </para>
++          <para>
++            Once a printer is selected using the Xp Extension API, a print
++            context to represent it can be created.  A print context
++            embodies the printer selected - it contains the printer's
++            default capabilities, selectable range of capabilities,
++            printer state, and generated output.  Some "attributes" within
++            the print context can be modified by the user, and the
++            X-Server and print ddx driver will react accordingly.  For
++            example, the attribute "content-orientation" can be set to
++            "landscape" or "portrait" (if the printer supports these
++            values - which can be queried using the Xprint API as well).
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            Since printers can have "built in" fonts, the Xp Extension in
++            the X-Server works with the print ddx drivers to make
++            available (for printing only) additional fonts on a per print
++            context basis.
++          </para>
++          <para>
++            When a print context is created and set for a given printer,
++            the X font calls may be able to access additional printer
++            fonts.  To do this (typically), the X-Server must have access
++            to "printer metric files" (.pmf) that describe at minimum the
++            metrics of the built in fonts.
++          </para>
++        </listitem>
++      </orderedlist>
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>USAGE</title>
++    <para>
++      There are three tasks to start the X Print Service:
++      <orderedlist>
++        <listitem><para>configuring the X Print Server,</para></listitem>
++        <listitem><para>starting the X Print Service</para></listitem>
++        <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
++      </orderedlist>
++    </para>
++    <para>
++      The tasks are described in detail below.
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>SERVER CONFIGURATION</title>
++    <para>
++      The X Print Server (Xprt) can read a number of configuration files which
++      control its behavior and support for printers.  Each vendor platform has
++      a default location for this information.  Xprt can also read the
++      environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
++      directories.  Common settings include:
++
++      <simplelist type="vert">
++        <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
++        <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
++      </simplelist>
++    </para>
++    <para>
++      Xprt has many built-in defaults, and lacking any configuration files,
++      will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
++    </para>
++    <para>
++      In order of importance for configuration by a system administrator, the
++      configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
++      details (including support for non-"C" locales)):
++      <variablelist>
++        <varlistentry>
++          <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
++          <listitem>
++            <para>
++              'Xprinters' is the top most configuration file.  It tells
++              Xprt which specific printer names (e.g.  mylaser) should
++              be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
++              should be used to automatically supplement the list of
++              printers.
++            </para>
++          </listitem>
++        </varlistentry>
++
++        <varlistentry>
++          <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
++          <listitem>
++            <para>
++              The 'printer' file maps printer names to model
++              configurations (see 'model-config' below).  For example,
++              "mylaser" could be mapped to a "HPDJ1600C", and all other
++              arbitrary printers could be mapped to a default, such as
++              "HPLJ4SI".  When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
++              file, setting up defaults in 'printer' becomes all the
++              more important.
++            </para>
++          </listitem>
++        </varlistentry>
++
++        <varlistentry>
++          <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
++          <listitem>
++            <para>
++              The 'document' file specifies the initial document values
++              for any print jobs.  For example, which paper tray to
++              use, what default resolution, etc.
++            </para>
++          </listitem>
++        </varlistentry>
++
++        <varlistentry>
++          <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
++          <listitem>
++            <para>
++              The 'job' file specifies the initial job values for any
++              print jobs.  For example, "notification-profile" can be
++              set so that when a print job is successfully sent to a
++              printer, e-mail is sent to the user.
++            </para>
++          </listitem>
++        </varlistentry>
++
++        <varlistentry>
++          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
++          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
++          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
++          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
++
++          <listitem>
++            <para>
++              The 'model-config' file has attributes that describe the
++              printer model&rsquo;s capabilities and default settings.
++              Printer model fonts may also be present.  The model-config
++              file also identifies the print ddx driver to be used.
++
++              For each printer model supported, a complete hierarchy of
++              files should exist.  In most cases, these files do not
++              need to be modified.
++            </para>
++          </listitem>
++        </varlistentry>
++
++        <varlistentry>
++          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
++          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
++          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
++
++          <listitem>
++            <para>
++              The print ddx drivers can have highly specific
++              configuration files to control their behavior.  In most
++              cases, these files do not need to be modified.
++            </para>
++          </listitem>
++        </varlistentry>
++      </variablelist>
++
++      More information in how to configure and customize the X print server can be found in the
++      <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
++      manual page.
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>STARTING UP</title>
++    <para>
++      The summary checklist for starting the X Print Service is as follows:
++
++      <orderedlist>
++        <listitem>
++          <para>
++            Choose an execution model for the X Print Service.  The X
++            Print Service can be run on a per-user session basis, per
++            machine basis, or can be run on a few machines globally
++            available to a number of users.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            If print jobs are to be submitted to a spooler (almost always
++            the case), make sure all needed printers are available to the
++            spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
++            on the same machine running the X Print Service.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            Configure the X Print Server.  See ``X Print Server
++            Configuration''.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            Depending on #1, start the X Print Server process "Xprt", and
++            then the toolkit-specific Print Dialog Manager Daemon process
++            (such as CDEnext's "dtpdmd") at the appropriate times.
++            Note that libXprintUtils-based applications/toolkits do not need
++            a Print Dialog Manager Daemon process to use Xprint.
++          </para>
++        </listitem>
++      </orderedlist>
++      The details are described below.
++    </para>
++    <para>
++      Because the X Print Service is based on X, it can be easily distributed.
++      The most significant factors in which execution model to choose will be
++      driven by:
++      <itemizedlist>
++        <listitem>
++          <para>
++            how many printers will be accessable through the printer
++            subsystem on any given machine.  A system administrator may
++            choose to cluster printers on a few given machines, or
++            scatter them across an organization and possibly make
++            extensive use of remote spoolers to make them globally
++            available.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            how many machines will need a copy of the X Print Server
++            configuration files.  The files have been architected so
++            that one super-set version of them can be maintained and
++            distributed (e.g.  via NFS), and a per-machine or per-user
++            version of the `Xprinters' is all that is needed to have the
++            appropriate information in them utilized or ignored.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            how many users can demand services from a given X Print
++            Service.
++          </para>
++        </listitem>
++      </itemizedlist>
++
++      With the above in mind, some obvious execution models include:
++      <itemizedlist>
++        <listitem>
++          <para>
++            Global - in this model, the system administrator is choosing
++            to run the X Print Service on a *few* select machines with
++            appropriate printers configured, and allow clients access to
++            the global resource.  This can centralize the administration
++            of printers and configuration files, but may have to be
++            monitored for performance loading.
++          </para>
++          <para>
++            Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
++          </para>
++        </listitem>
++
++        <listitem>
++          <para>
++            Per-machine - every machine with potential X Print Service
++            users would run the service.  Printer and configuration file
++            administration is decentralized, and usage would be limited
++            to the users on the machine.
++          </para>
++          <para>
++            Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
++          </para>
++        </listitem>
++
++        <listitem>
++          <para>
++            Per-user session - every user would run an entire X Print
++            Service for themselves.  In the future, the Video X Server
++            normally started may contain Print X Server capability, so
++            this model becomes very natural.
++          </para>
++          <para>
++            Startup would likely be done at session login or by
++            launching actions or processes manually once the user
++            logs in.  Note: Deamons like "dtpdmd" must be started after Xprt.
++          </para>
++        </listitem>
++      </itemizedlist>
++     </para>
++     <para>
++       Starting of the processes is straight forward.  In strict order (example is for manually starting the X print server for CDEnext usage):
++       <orderedlist>
++         <listitem>
++           <para>
++             <programlisting>[machineA] % Xprt [-XpFile &lt;Xprinters file&gt;] [:dispNum] &amp;</programlisting>
++           </para>
++           <para>
++             Note that Xprt will look for configuration files in either
++             a default location or where <envar>XPCONFIGDIR</envar> points.
++           </para>
++           <para>
++             <option>-XpFile</option> specifies an alternate `Xprinters' file, rather
++             than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
++           </para>
++         </listitem>
++         <listitem>
++           <para>
++             <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &amp;</programlisting>
++           </para>
++           <para>
++            The dtpdmd will maintain an X-Selection on the X-Server,
++            and will start dtpdm's as required to service requests.
++           </para>
++         </listitem>
++       </orderedlist>
++     </para>
++     <para>
++       In all but the per-user session model, the machine running the dtpdmd
++       (thus dtpdm's) will need display authorization to the users video
++       display.
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>CLIENT CONFIGURATION</title>
++    <para>
++      Once a X Print Server and dtpdmd have been started -- many of them
++      in some cases -- clients will need to find and use them.  There are
++      two mechanisms that allow clients to discover X Print Servers and
++      printers.
++
++      <itemizedlist>
++        <listitem>
++          <para>
++            "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
++            applications, the following notation is understood:
++          </para>
++          <para>
++            <programlisting>printer_name@machine[:dispNum]</programlisting>
++          </para>
++          <para>
++            For example:
++          </para>
++          <para>
++            <programlisting>colorlj7@printhub:2</programlisting>
++          </para>
++          <para>
++           In the above example, the X Print Server running at `printhub:2'
++           is assumed to support the printer named `colorlj7'.
++          </para>
++        </listitem>
++        <listitem>
++          <para>
++            <envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs,
++            the environment variable <envar>${XPSERVERLIST}</envar> can contain a list
++            of X Print Servers.  For example:
++          </para>
++          <para>
++            <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
++          </para>
++          <para>
++            Then in the dialogs, only a printer name needs to be entered.
++            The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar>
++            for a server than supports the printer, and then establish
++            contact.
++          </para>
++        </listitem>
++      </itemizedlist>
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>END-USER SEQUENCE</title>
++    <para>
++      From most CDEnext applications, printing is accomplished by bringing
++      down the &lt;File&gt; menu and selecting &lt;Print...&gt;.  This will result in
++      the DtPrintSetupBox dialog, which will request the name of a printer,
++      and offer limited capability to configure print options (e.g. number
++      of copies).  If the user wishes, they can select &lt;Setup...&gt;, which
++      will start a dtpdm capable of modifying additional print options.
++      Finally, the user should select &lt;Print&gt;.
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>ENVIRONMENT</title>
++    <variablelist>
++      <varlistentry>
++        <term><envar>${XPCONFIGDIR}</envar></term>
++        <listitem>
++          <para> This environment variable points to the  root
++          of  the Xprint server configuration directory hierarchy.
++          If the variable is not defined,  the  default
++          path  is be assumed.  The default path may be
++            <filename>/usr/X11R6/lib/X11/xserver/</filename>,
++            <filename>/usr/lib/X11/xserver/</filename>,
++            <filename>/usr/share/Xprint/xserver/</filename> or
++            <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
++          system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
++        </listitem>
++      </varlistentry>
++
++      <varlistentry>
++        <term><envar>${LANG}</envar></term>
++        <listitem>
++          <para>
++            This environment variable selects the locale settings used by the Xprint server.
++            Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
++            which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
++            If <envar>${LANG}</envar> is not set "C" is assumed.
++          </para>
++        </listitem>
++      </varlistentry>
++
++      <varlistentry>
++        <term><envar>${XPSERVERLIST}</envar></term>
++        <listitem>
++          <para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list
++          of display identifiers (separated by whitespace) which tell an
++          application where it can find the Xprint servers.  Usually
++          <envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g.
++          <filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of
++          <userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para>
++        <para>Example:
++          <informalexample>
++            <programlisting>
++              export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
++          </informalexample>
++        </para>
++        <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
++          manually. Example:</para>
++          <informalexample>
++            <programlisting>
++              export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
++          </informalexample>
++        <para>
++          instructs an application to find an Xprint server at display
++          80 on the machine "littlecat" and at display 72 on the
++          machine bigdog.
++        </para>
++      </listitem>
++      </varlistentry>
++
++      <varlistentry>
++        <term><envar>${XPRINTER}</envar>
++        </term>
++        <listitem>
++          <para>The environment variable <envar>${XPRINTER}</envar>
++          defines the default printer used by print
++          applications. The syntax is either
++          <replaceable>printername</replaceable> or
++          <replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para>
++          <para>Examples:
++          <variablelist>
++            <varlistentry>
++              <term><userinput>XPRINTER=ps003</userinput></term>
++              <listitem><para>
++                tells an application to look for the
++                first printer named "ps003" on all Xprint
++                servers.</para>
++              </listitem>
++            </varlistentry>
++
++            <varlistentry>
++              <!-- brain dead <term> does not permit quote marks
++              (in XPRINTER="hplaser19@littlecat:80"), so omit them -->
++              <term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term>
++              <listitem><para>
++                tells an application to use the printer "hplaser19"
++              on the Xprint server at display
++                "littlecat:80".</para>
++            </listitem>
++            </varlistentry>
++
++          </variablelist>
++        </para>
++        <para>If <envar>${XPRINTER}</envar> is not set the applications
++          will examine the values of the <envar>${PDPRINTER}</envar>,
++          <envar>${LPDEST}</envar>, and
++          <envar>${PRINTER}</envar> environment variables (in that order).
++        </para>
++        </listitem>
++      </varlistentry>
++    </variablelist>
++  </refsect1>
++
++  <refsect1>
++    <title>SEE ALSO</title>
++    <para>
++      <simplelist type="inline">
++        <!-- specific references -->
++        <!-- none -->
++
++        <!-- Xprint general references -->
++<!--
++        <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
++-->
++        <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
++        <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
++        <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
++        <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
++        <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
++        <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
++      </simplelist>
++    </para>
++  </refsect1>
++
++  <refsect1>
++    <title>AUTHORS</title>
++    <para>
++      This manual page was written by
++      Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6
++      <filename>xc/programs/Xserver/XpConfig/README</filename>.
++    </para>
++  </refsect1>
++</refentry>
++
+--- xorgproto.orig/include/X11/extensions/xcalibrateproto.h    1970-01-01 01:00:00.000000000 +0100
++++ xorgproto/include/X11/extensions/xcalibrateproto.h 2018-02-20 15:29:03.198392810 +0100
+@@ -0,0 +1,120 @@
++/*
++ * $Id: xcalibrateproto.h,v 1.1.1.1 2004/06/02 19:18:47 pb Exp $
++ *
++ * Copyright © 2003 Philip Blundell
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Philip Blundell not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Philip Blundell makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++ * PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#ifndef XCALIBRATEPROTO_H
++#define XCALIBRATEPROTO_H
++
++/* 
++ * requests and replies
++ */
++typedef struct {
++    CARD8   reqType;
++    CARD8   xCalibrateReqType;
++    CARD16  length B16;
++    CARD32  majorVersion B32;
++    CARD32  minorVersion B32;
++} xXCalibrateQueryVersionReq;
++
++#define sz_xXCalibrateQueryVersionReq   12
++
++typedef struct {
++    BYTE    type;   /* X_Reply */
++    BYTE    pad1;
++    CARD16  sequenceNumber B16;
++    CARD32  length B32;
++    CARD32  majorVersion B32;
++    CARD32  minorVersion B32;
++    CARD32  pad2 B32;
++    CARD32  pad3 B32;
++    CARD32  pad4 B32;
++    CARD32  pad5 B32;
++} xXCalibrateQueryVersionReply;
++
++#define sz_xXCalibrateQueryVersionReply       32
++
++typedef struct {
++    CARD8   reqType;
++    CARD8   xCalibrateReqType;
++    CARD16  length B16;
++    CARD16  on B16;
++    CARD16  pad B16;
++} xXCalibrateRawModeReq;
++
++#define sz_xXCalibrateRawModeReq      8
++
++typedef struct {
++    BYTE    type;   /* X_Reply */
++    BYTE    pad1;
++    CARD16  sequenceNumber B16;
++    CARD32  status;
++    CARD32  pad2 B32;
++    CARD32  pad3 B32;
++    CARD32  pad4 B32;
++    CARD32  pad5 B32;
++    CARD32  pad6 B32;
++    CARD32  pad7 B32;
++} xXCalibrateRawModeReply;
++
++#define sz_xXCalibrateRawModeReply    32
++
++typedef struct {
++    CARD8   reqType;
++    CARD8   xCalibrateReqType;
++    CARD16  length B16;
++    CARD32  x B32;
++    CARD32  y B32;
++} xXCalibrateScreenToCoordReq;
++
++#define sz_xXCalibrateScreenToCoordReq        12
++
++typedef struct {
++    BYTE    type;   /* X_Reply */
++    BYTE    pad1;
++    CARD16  sequenceNumber B16;
++    CARD32  x;
++    CARD32  y;
++    CARD32  pad2 B32;
++    CARD32  pad3 B32;
++    CARD32  pad4 B32;
++    CARD32  pad5 B32;
++    CARD32  pad6 B32;
++} xXCalibrateScreenToCoordReply;
++
++#define sz_xXCalibrateScreenToCoordReply      32
++
++/* Events */
++
++typedef struct {
++    CARD8     type;
++    CARD8     pad1;
++    CARD16    sequenceNumber B16;
++    CARD16    x;
++    CARD16    y;
++    CARD16    pressure;
++    CARD16      pad2;
++} xXCalibrateRawTouchscreenEvent;
++
++#define sz_xXCalibrateRawTouchscreenEvent 12
++
++#endif
+--- xorgproto.orig/include/X11/extensions/xcalibratewire.h     1970-01-01 01:00:00.000000000 +0100
++++ xorgproto/include/X11/extensions/xcalibratewire.h  2018-02-20 15:29:03.198392810 +0100
+@@ -0,0 +1,44 @@
++/*
++ * $Id: xcalibratewire.h,v 1.1.1.1 2004/06/02 19:18:47 pb Exp $
++ *
++ * Copyright © 2003 Philip Blundell
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Philip Blundell not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission.  Philip Blundell makes no
++ * representations about the suitability of this software for any purpose.  It
++ * is provided "as is" without express or implied warranty.
++ *
++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++ * PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#ifndef XCALIBRATEWIRE_H
++#define XCALIBRATEWIRE_H
++
++#define XCALIBRATE_MAJOR_VERSION 0
++#define XCALIBRATE_MINOR_VERSION 1
++#define XCALIBRATE_NAME "XCALIBRATE"
++
++#define X_XCalibrateQueryVersion              0
++#define X_XCalibrateRawMode                   1
++#define X_XCalibrateScreenToCoord             2
++
++#define XCalibrateNumberRequests              (X_XCalibrateScreenToCoord + 1)
++
++#define X_XCalibrateRawTouchscreen            0
++
++#define XCalibrateNumberEvents                        (X_XCalibrateRawTouchscreen + 1)
++
++#define XCalibrateNumberErrors                        0
++
++#endif
This page took 0.217364 seconds and 4 git commands to generate.