source: pst/printing/cups-filters.xml@ 9fd586e9

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 9fd586e9 was 9fd586e9, checked in by Douglas R. Reno <renodr@…>, 13 months ago

Fix CVE-2023-24805 in cups-filters.

  • Property mode set to 100644
File size: 12.5 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 <para condition="html" role="usernotes">
124 User Notes: <ulink url="&blfs-wiki;/cups-filters"/>
125 </para>
126 </sect2>
127
128 <sect2 role="installation">
129 <title>Installation of CUPS Filters</title>
130
131<!--
132 <para revision="systemd">
133 First, fix the systemd unit file to work with
134 <application>CUPS</application> 2.0 and later:
135 </para>
136
137<screen revision="systemd"><userinput>sed -i "s:cups.service:org.cups.cupsd.service:g" utils/cups-browsed.service</userinput></screen>
138-->
139
140 <para>
141 First, fix a security vulnerability that can allow for remote code
142 execution with the 'beh' printer backend:
143 </para>
144
145<screen><userinput remap="pre">patch -Np1 -i ../cups-filters-&cups-filters-version;-security_fix-1.patch</userinput></screen>
146
147 <para>
148 Install <application>CUPS Filters</application> by running the following
149 commands:
150 </para>
151
152<screen><userinput>CXXFLAGS="$CXXFLAGS -std=c++17" \
153./configure --prefix=/usr \
154 --sysconfdir=/etc \
155 --localstatedir=/var \
156 --without-rcdir \
157 --disable-static \
158 --disable-avahi \
159 --docdir=/usr/share/doc/cups-filters-&cups-filters-version; &amp;&amp;
160make</userinput></screen>
161
162<!-- The test suite still bombs out for me. I'll leave the instructions for it
163 here though. I didn't have the Dejavu font installed, but used one of the
164 ones installed by X.
165 Version 1.16.0: test worked for me with "make check >testlog 2>&1",
166 that is, the other way around. I have DejaVu fonts. Pierre L
167 With 1.17.2 (and DejaVu) the test output is clean, no need for a log. Ken
168
169 Tests are clean for version 1.21.0 (and version 1.21.5): - Bruce
170 # TOTAL: 6
171 # PASS: 6
172 real 0m2.504s -->
173
174 <para>
175 To test the results, issue:
176 <!--<command>make check &gt;testlog 2&gt;&amp;1</command>.-->
177 <command>make check</command>. DejaVu fonts
178 are needed for the tests.
179 </para>
180
181 <para>
182 Now, as the <systemitem class="username">root</systemitem> user:
183 </para>
184
185<screen role="root"><userinput>make install</userinput></screen>
186
187 <para revision="systemd">
188 Install the systemd unit by running the following command as the
189 <systemitem class="username">root</systemitem> user:
190 </para>
191
192<screen role="root" revision="systemd"><userinput>install -v -m644 utils/cups-browsed.service /lib/systemd/system/cups-browsed.service</userinput></screen>
193
194 </sect2>
195
196 <sect2 role="commands">
197 <title>Command Explanations</title>
198
199<!-- please comment this if no patches are currently needed -->
200<!--<para>
201 <parameter>patch -Np1 -i ../cups-filters-&cups-filters-version;-poppler71-1.patch</parameter>:
202 Conditionally apply changes for recent versions of poppler.
203 </para>
204 Poppler-0.72.0, cups-filters-1.21.5 - no longer needed.-->
205
206 <para>
207 <envar>CXXFLAGS="$CXXFLAGS -std=c++17"</envar>: This environment
208 variable is necessary to fix a problem introduced by qpdf-11.3.0.
209 </para>
210
211 <para>
212 <parameter>--disable-avahi</parameter>: This switch is needed
213 if the optional <xref linkend="avahi"/> is not installed. Remove
214 it if avahi is installed and you need network printer discovery
215 capabilities.
216 </para>
217
218 <para>
219 <parameter>--without-rcdir</parameter>: This switch disables
220 installation of the bundled bootscript which is not compatible
221 with BLFS.
222 </para>
223
224<!-- Those are hard dependencies now
225 <para>
226 <parameter>- -with-gs-path=/usr/bin/gs</parameter>: This switch
227 defines the path to the <application>GhostScript</application>
228 binary in case <xref linkend="gs"/> is not installed at build time.
229 </para>
230
231 <para>
232 <parameter>- -with-pdftops-path=/usr/bin/gs</parameter>: This switch
233 defines the path to the <application>GhostScript</application>
234 binary in case <xref linkend="gs"/> is not installed at build time.
235 </para>
236-->
237
238 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
239 href="../../xincludes/static-libraries.xml"/>
240 <!--
241 <para>
242 <option>- -enable-ijs</option>: This switch will allow the pdftoijs
243 filter, for sending PDFs to an HP InkJet Server, to be built.
244 </para>
245 -->
246
247 <para>
248 <option>--with-test-font-path=<replaceable>VALUE</replaceable></option>:
249 If you wish to run the tests, but
250 you do not have the default
251 <filename>/usr/share/fonts/dejavu/DejaVuSans.ttf</filename> use this
252 switch to specify where <filename>DejaVuSans.ttf</filename> (or perhaps
253 some other text TTF font - untested) is located.
254 </para>
255
256
257 </sect2>
258
259<!-- TODO: Write a bootscript for cups-browsed -->
260
261 <sect2 role="configuration" revision="systemd">
262 <title>Configuring CUPS Filters</title>
263
264 <sect3 id="cups-filters-init">
265 <title>Systemd Units</title>
266
267 <para>
268 To start the <command>cups-browsed</command> daemon at boot, enable
269 the previously installed systemd unit by running the following command
270 as the <systemitem class="username">root</systemitem> user:
271 </para>
272
273 <indexterm zone="cups-filters cups-filters-init">
274 <primary sortas="f-cups-browsed">cups-browsed</primary>
275 </indexterm>
276
277<screen role="root"><userinput>systemctl enable cups-browsed</userinput></screen>
278
279 </sect3>
280
281 </sect2>
282
283 <sect2 role="content">
284 <title>Contents</title>
285
286 <segmentedlist>
287 <segtitle>Installed Programs</segtitle>
288 <segtitle>Installed Libraries</segtitle>
289 <segtitle>Installed Directories</segtitle>
290
291 <seglistitem>
292 <seg>
293 cups-browsed, driverless, driverless-fax, and foomatic-rip
294 <!-- and ttfread -->
295 </seg>
296 <seg>
297 libcupsfilters.so and libfontembed.so
298 </seg>
299 <seg>
300 /usr/include/{cupsfilters,fontembed},
301 /usr/lib/cups/{backend,driver,filter},
302 /usr/share/cups/{braille,charsets},
303 /usr/share/doc/cups-filters-&cups-filters-version;, and
304 /usr/share/ppd/cupsfilters
305 </seg>
306 </seglistitem>
307 </segmentedlist>
308
309 <variablelist>
310 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
311 <?dbfo list-presentation="list"?>
312 <?dbhtml list-presentation="table"?>
313
314 <varlistentry id="cups-browsed">
315 <term><command>cups-browsed</command></term>
316 <listitem>
317 <para>
318 is a daemon for browsing the Bonjour and CUPS broadcasts of shared,
319 remote CUPS printers
320 </para>
321 <indexterm zone="cups-filters cups-browsed">
322 <primary sortas="b-cups-browsed">cups-browsed</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="driverless">
328 <term><command>driverless</command></term>
329 <listitem>
330 <para>
331 is a PPD generator utility for driverless printing
332 </para>
333 <indexterm zone="cups-filters driverless">
334 <primary sortas="b-driverless">driverless</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="driverless-fax">
340 <term><command>driverless-fax</command></term>
341 <listitem>
342 <para>
343 is a wrapper to <command>driverless</command> for FAX type devices
344 </para>
345 <indexterm zone="cups-filters driverless-fax">
346 <primary sortas="b-driverless-fax">driverless-fax</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="foomatic-rip">
352 <term><command>foomatic-rip</command></term>
353 <listitem>
354 <para>
355 is a universal print filter/RIP wrapper which can be used as CUPS
356 filter or stand-alone for spooler-less, direct printing
357 </para>
358 <indexterm zone="cups-filters foomatic-rip">
359 <primary sortas="b-foomatic-rip">foomatic-rip</primary>
360 </indexterm>
361 </listitem>
362 </varlistentry>
363
364 <varlistentry id="libcupsfilters">
365 <term><filename class="libraryfile">libcupsfilters.so</filename></term>
366 <listitem>
367 <para>
368 contains <application>CUPS Filters</application> API functions
369 </para>
370 <indexterm zone="cups-filters libcupsfilters">
371 <primary sortas="c-libcupsfilters">libcupsfilters.so</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 </variablelist>
377
378 </sect2>
379
380</sect1>
Note: See TracBrowser for help on using the repository browser.