source: pst/printing/cups-filters.xml@ 1dff19d

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 1dff19d was 2868741, checked in by Xi Ruoyao <xry111@…>, 10 months ago

cups-filter: Do not produce unoptimized binary

  • 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 &lfs120_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:- -O2 -g} -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:- -O2 -g} -std=c++17"</envar>: This
205 environment variable is necessary to fix a problem introduced by
206 qpdf-11.3.0.
207 </para>
208
209 <para>
210 <parameter>--disable-avahi</parameter>: This switch is needed
211 if the optional <xref linkend="avahi"/> is not installed. Remove
212 it if avahi is installed and you need network printer discovery
213 capabilities.
214 </para>
215
216 <para>
217 <parameter>--without-rcdir</parameter>: This switch disables
218 installation of the bundled bootscript which is not compatible
219 with BLFS.
220 </para>
221
222<!-- Those are hard dependencies now
223 <para>
224 <parameter>- -with-gs-path=/usr/bin/gs</parameter>: This switch
225 defines the path to the <application>GhostScript</application>
226 binary in case <xref linkend="gs"/> is not installed at build time.
227 </para>
228
229 <para>
230 <parameter>- -with-pdftops-path=/usr/bin/gs</parameter>: This switch
231 defines the path to the <application>GhostScript</application>
232 binary in case <xref linkend="gs"/> is not installed at build time.
233 </para>
234-->
235
236 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
237 href="../../xincludes/static-libraries.xml"/>
238 <!--
239 <para>
240 <option>- -enable-ijs</option>: This switch will allow the pdftoijs
241 filter, for sending PDFs to an HP InkJet Server, to be built.
242 </para>
243 -->
244
245 <para>
246 <option>--with-test-font-path=<replaceable>VALUE</replaceable></option>:
247 If you wish to run the tests, but
248 you do not have the default
249 <filename>/usr/share/fonts/dejavu/DejaVuSans.ttf</filename> use this
250 switch to specify where <filename>DejaVuSans.ttf</filename> (or perhaps
251 some other text TTF font - untested) is located.
252 </para>
253
254
255 </sect2>
256
257<!-- TODO: Write a bootscript for cups-browsed -->
258
259 <sect2 role="configuration" revision="systemd">
260 <title>Configuring CUPS Filters</title>
261
262 <sect3 id="cups-filters-init">
263 <title>Systemd Units</title>
264
265 <para>
266 To start the <command>cups-browsed</command> daemon at boot, enable
267 the previously installed systemd unit by running the following command
268 as the <systemitem class="username">root</systemitem> user:
269 </para>
270
271 <indexterm zone="cups-filters cups-filters-init">
272 <primary sortas="f-cups-browsed">cups-browsed</primary>
273 </indexterm>
274
275<screen role="root"><userinput>systemctl enable cups-browsed</userinput></screen>
276
277 </sect3>
278
279 </sect2>
280
281 <sect2 role="content">
282 <title>Contents</title>
283
284 <segmentedlist>
285 <segtitle>Installed Programs</segtitle>
286 <segtitle>Installed Libraries</segtitle>
287 <segtitle>Installed Directories</segtitle>
288
289 <seglistitem>
290 <seg>
291 cups-browsed, driverless, driverless-fax, and foomatic-rip
292 <!-- and ttfread -->
293 </seg>
294 <seg>
295 libcupsfilters.so and libfontembed.so
296 </seg>
297 <seg>
298 /usr/include/{cupsfilters,fontembed},
299 /usr/lib/cups/{backend,driver,filter},
300 /usr/share/cups/{braille,charsets},
301 /usr/share/doc/cups-filters-&cups-filters-version;, and
302 /usr/share/ppd/cupsfilters
303 </seg>
304 </seglistitem>
305 </segmentedlist>
306
307 <variablelist>
308 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
309 <?dbfo list-presentation="list"?>
310 <?dbhtml list-presentation="table"?>
311
312 <varlistentry id="cups-browsed">
313 <term><command>cups-browsed</command></term>
314 <listitem>
315 <para>
316 is a daemon for browsing the Bonjour and CUPS broadcasts of shared,
317 remote CUPS printers
318 </para>
319 <indexterm zone="cups-filters cups-browsed">
320 <primary sortas="b-cups-browsed">cups-browsed</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="driverless">
326 <term><command>driverless</command></term>
327 <listitem>
328 <para>
329 is a PPD generator utility for driverless printing
330 </para>
331 <indexterm zone="cups-filters driverless">
332 <primary sortas="b-driverless">driverless</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="driverless-fax">
338 <term><command>driverless-fax</command></term>
339 <listitem>
340 <para>
341 is a wrapper to <command>driverless</command> for FAX type devices
342 </para>
343 <indexterm zone="cups-filters driverless-fax">
344 <primary sortas="b-driverless-fax">driverless-fax</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="foomatic-rip">
350 <term><command>foomatic-rip</command></term>
351 <listitem>
352 <para>
353 is a universal print filter/RIP wrapper which can be used as CUPS
354 filter or stand-alone for spooler-less, direct printing
355 </para>
356 <indexterm zone="cups-filters foomatic-rip">
357 <primary sortas="b-foomatic-rip">foomatic-rip</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="libcupsfilters">
363 <term><filename class="libraryfile">libcupsfilters.so</filename></term>
364 <listitem>
365 <para>
366 contains <application>CUPS Filters</application> API functions
367 </para>
368 <indexterm zone="cups-filters libcupsfilters">
369 <primary sortas="c-libcupsfilters">libcupsfilters.so</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 </variablelist>
375
376 </sect2>
377
378</sect1>
Note: See TracBrowser for help on using the repository browser.