source: pst/printing/cups-filters.xml@ 21d89b9

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 21d89b9 was 14891a90, checked in by Xi Ruoyao <xry111@…>, 12 months ago

treewide: More "User Notes" clean up

Remove links to pages w/o real contents.

  • Property mode set to 100644
File size: 12.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY cups-filters-download-http
8 "https://www.openprinting.org/download/cups-filters/cups-filters-&cups-filters-version;.tar.xz">
9 <!ENTITY cups-filters-download-ftp " ">
10 <!ENTITY cups-filters-md5sum "24bed15110499fd652d65d6baab85ca6">
11 <!ENTITY cups-filters-size "1.4 MB">
12 <!ENTITY cups-filters-buildsize "56 MB (with tests), 16 MB installed">
13 <!ENTITY cups-filters-time "0.2 SBU (Using parallelism=4; with tests)">
14]>
15
16<sect1 id="cups-filters" xreflabel="cups-filters-&cups-filters-version;">
17 <?dbhtml filename="cups-filters.html"?>
18
19
20 <title>cups-filters-&cups-filters-version;</title>
21
22 <indexterm zone="cups-filters">
23 <primary sortas="a-cups-filters">cups-filters</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to CUPS Filters</title>
28
29 <para>
30 The <application>CUPS Filters</application> package contains backends,
31 filters and other software that was once part of the core
32 <application>CUPS</application> distribution but is no longer
33 maintained by Apple Inc.
34 </para>
35
36 &lfs113_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&cups-filters-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&cups-filters-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &cups-filters-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &cups-filters-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &cups-filters-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &cups-filters-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>
76 Required patch:
77 <ulink url="&patch-root;/cups-filters-&cups-filters-version;-security_fix-1.patch"/>
78 </para>
79 </listitem>
80 </itemizedlist>
81
82 <bridgehead renderas="sect3">CUPS Filters Dependencies</bridgehead>
83
84 <bridgehead renderas="sect4">Required</bridgehead>
85 <para role="required">
86 <xref linkend="cups"/>,
87 <xref linkend="glib2"/>,
88 <xref linkend="gs"/>,
89 <xref linkend="lcms2"/>,
90 <xref linkend="poppler"/>, and
91 <xref linkend="qpdf"/>
92 </para>
93
94 <bridgehead renderas="sect4">Recommended</bridgehead>
95 <para role="recommended">
96 <xref linkend="dejavu-fonts"/> (the build fails if they are not
97 installed, although they are only required for the tests),
98 <xref linkend="libexif"/>,
99 <xref linkend="libjpeg"/>,
100 <xref linkend="libpng"/>,
101 <xref linkend="libtiff"/>, and
102 <xref linkend="mupdf"/> (mutool)
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <xref linkend="avahi"/> (required to build the DNSSD backend of the
108 <command>cups-browsed</command> daemon, which is needed for operating
109 some network printers),
110 <xref linkend="openldap"/>,
111 <xref linkend="php"/> (use of this might be broken),
112 <ulink url="https://liblouis.github.io/downloads/">Liblouis (Braille)</ulink>, and
113 <ulink url="https://liblouis.github.io/downloads/">Liblouisutdml (Braille)</ulink>
114 </para>
115
116 <bridgehead renderas="sect4">Optional printer drivers (runtime)</bridgehead>
117 <para role="optional">
118 <xref role="runtime" linkend="gutenprint"/> (for supported printers),
119 or other printer drivers, such as <ulink role="runtime"
120 url="https://sourceforge.net/projects/hplip/files/hplip/">hplip</ulink>
121 </para>
122
123 </sect2>
124
125 <sect2 role="installation">
126 <title>Installation of CUPS Filters</title>
127
128<!--
129 <para revision="systemd">
130 First, fix the systemd unit file to work with
131 <application>CUPS</application> 2.0 and later:
132 </para>
133
134<screen revision="systemd"><userinput>sed -i "s:cups.service:org.cups.cupsd.service:g" utils/cups-browsed.service</userinput></screen>
135-->
136
137 <para>
138 First, fix a security vulnerability that can allow for remote code
139 execution with the 'beh' printer backend:
140 </para>
141
142<screen><userinput remap="pre">patch -Np1 -i ../cups-filters-&cups-filters-version;-security_fix-1.patch</userinput></screen>
143
144 <para>
145 Install <application>CUPS Filters</application> by running the following
146 commands:
147 </para>
148
149<screen><userinput>CXXFLAGS="$CXXFLAGS -std=c++17" \
150./configure --prefix=/usr \
151 --sysconfdir=/etc \
152 --localstatedir=/var \
153 --without-rcdir \
154 --disable-static \
155 --disable-avahi \
156 --docdir=/usr/share/doc/cups-filters-&cups-filters-version; &amp;&amp;
157make</userinput></screen>
158
159<!-- The test suite still bombs out for me. I'll leave the instructions for it
160 here though. I didn't have the Dejavu font installed, but used one of the
161 ones installed by X.
162 Version 1.16.0: test worked for me with "make check >testlog 2>&1",
163 that is, the other way around. I have DejaVu fonts. Pierre L
164 With 1.17.2 (and DejaVu) the test output is clean, no need for a log. Ken
165
166 Tests are clean for version 1.21.0 (and version 1.21.5): - Bruce
167 # TOTAL: 6
168 # PASS: 6
169 real 0m2.504s -->
170
171 <para>
172 To test the results, issue:
173 <!--<command>make check &gt;testlog 2&gt;&amp;1</command>.-->
174 <command>make check</command>. DejaVu fonts
175 are needed for the tests.
176 </para>
177
178 <para>
179 Now, as the <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root"><userinput>make install</userinput></screen>
183
184 <para revision="systemd">
185 Install the systemd unit by running the following command as the
186 <systemitem class="username">root</systemitem> user:
187 </para>
188
189<screen role="root" revision="systemd"><userinput>install -v -m644 utils/cups-browsed.service /lib/systemd/system/cups-browsed.service</userinput></screen>
190
191 </sect2>
192
193 <sect2 role="commands">
194 <title>Command Explanations</title>
195
196<!-- please comment this if no patches are currently needed -->
197<!--<para>
198 <parameter>patch -Np1 -i ../cups-filters-&cups-filters-version;-poppler71-1.patch</parameter>:
199 Conditionally apply changes for recent versions of poppler.
200 </para>
201 Poppler-0.72.0, cups-filters-1.21.5 - no longer needed.-->
202
203 <para>
204 <envar>CXXFLAGS="$CXXFLAGS -std=c++17"</envar>: This environment
205 variable is necessary to fix a problem introduced by qpdf-11.3.0.
206 </para>
207
208 <para>
209 <parameter>--disable-avahi</parameter>: This switch is needed
210 if the optional <xref linkend="avahi"/> is not installed. Remove
211 it if avahi is installed and you need network printer discovery
212 capabilities.
213 </para>
214
215 <para>
216 <parameter>--without-rcdir</parameter>: This switch disables
217 installation of the bundled bootscript which is not compatible
218 with BLFS.
219 </para>
220
221<!-- Those are hard dependencies now
222 <para>
223 <parameter>- -with-gs-path=/usr/bin/gs</parameter>: This switch
224 defines the path to the <application>GhostScript</application>
225 binary in case <xref linkend="gs"/> is not installed at build time.
226 </para>
227
228 <para>
229 <parameter>- -with-pdftops-path=/usr/bin/gs</parameter>: This switch
230 defines the path to the <application>GhostScript</application>
231 binary in case <xref linkend="gs"/> is not installed at build time.
232 </para>
233-->
234
235 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
236 href="../../xincludes/static-libraries.xml"/>
237 <!--
238 <para>
239 <option>- -enable-ijs</option>: This switch will allow the pdftoijs
240 filter, for sending PDFs to an HP InkJet Server, to be built.
241 </para>
242 -->
243
244 <para>
245 <option>--with-test-font-path=<replaceable>VALUE</replaceable></option>:
246 If you wish to run the tests, but
247 you do not have the default
248 <filename>/usr/share/fonts/dejavu/DejaVuSans.ttf</filename> use this
249 switch to specify where <filename>DejaVuSans.ttf</filename> (or perhaps
250 some other text TTF font - untested) is located.
251 </para>
252
253
254 </sect2>
255
256<!-- TODO: Write a bootscript for cups-browsed -->
257
258 <sect2 role="configuration" revision="systemd">
259 <title>Configuring CUPS Filters</title>
260
261 <sect3 id="cups-filters-init">
262 <title>Systemd Units</title>
263
264 <para>
265 To start the <command>cups-browsed</command> daemon at boot, enable
266 the previously installed systemd unit by running the following command
267 as the <systemitem class="username">root</systemitem> user:
268 </para>
269
270 <indexterm zone="cups-filters cups-filters-init">
271 <primary sortas="f-cups-browsed">cups-browsed</primary>
272 </indexterm>
273
274<screen role="root"><userinput>systemctl enable cups-browsed</userinput></screen>
275
276 </sect3>
277
278 </sect2>
279
280 <sect2 role="content">
281 <title>Contents</title>
282
283 <segmentedlist>
284 <segtitle>Installed Programs</segtitle>
285 <segtitle>Installed Libraries</segtitle>
286 <segtitle>Installed Directories</segtitle>
287
288 <seglistitem>
289 <seg>
290 cups-browsed, driverless, driverless-fax, and foomatic-rip
291 <!-- and ttfread -->
292 </seg>
293 <seg>
294 libcupsfilters.so and libfontembed.so
295 </seg>
296 <seg>
297 /usr/include/{cupsfilters,fontembed},
298 /usr/lib/cups/{backend,driver,filter},
299 /usr/share/cups/{braille,charsets},
300 /usr/share/doc/cups-filters-&cups-filters-version;, and
301 /usr/share/ppd/cupsfilters
302 </seg>
303 </seglistitem>
304 </segmentedlist>
305
306 <variablelist>
307 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
308 <?dbfo list-presentation="list"?>
309 <?dbhtml list-presentation="table"?>
310
311 <varlistentry id="cups-browsed">
312 <term><command>cups-browsed</command></term>
313 <listitem>
314 <para>
315 is a daemon for browsing the Bonjour and CUPS broadcasts of shared,
316 remote CUPS printers
317 </para>
318 <indexterm zone="cups-filters cups-browsed">
319 <primary sortas="b-cups-browsed">cups-browsed</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 <varlistentry id="driverless">
325 <term><command>driverless</command></term>
326 <listitem>
327 <para>
328 is a PPD generator utility for driverless printing
329 </para>
330 <indexterm zone="cups-filters driverless">
331 <primary sortas="b-driverless">driverless</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="driverless-fax">
337 <term><command>driverless-fax</command></term>
338 <listitem>
339 <para>
340 is a wrapper to <command>driverless</command> for FAX type devices
341 </para>
342 <indexterm zone="cups-filters driverless-fax">
343 <primary sortas="b-driverless-fax">driverless-fax</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="foomatic-rip">
349 <term><command>foomatic-rip</command></term>
350 <listitem>
351 <para>
352 is a universal print filter/RIP wrapper which can be used as CUPS
353 filter or stand-alone for spooler-less, direct printing
354 </para>
355 <indexterm zone="cups-filters foomatic-rip">
356 <primary sortas="b-foomatic-rip">foomatic-rip</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="libcupsfilters">
362 <term><filename class="libraryfile">libcupsfilters.so</filename></term>
363 <listitem>
364 <para>
365 contains <application>CUPS Filters</application> API functions
366 </para>
367 <indexterm zone="cups-filters libcupsfilters">
368 <primary sortas="c-libcupsfilters">libcupsfilters.so</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 </variablelist>
374
375 </sect2>
376
377</sect1>
Note: See TracBrowser for help on using the repository browser.