source: pst/printing/gs.xml@ 3e91fda

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 3e91fda was 3e91fda, checked in by Douglas R. Reno <renodr@…>, 5 years ago

Update the ghostscript patch to handle CVE-2019-14811, CVE-2019-14812, CVE-2019-14813, and CVE-2019-14817

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22238 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 12.7 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 <!-- When updating, ensure gs9xx is updated in url -->
8
9 <!ENTITY gs-download-http
10 "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs927/ghostscript-&gs-version;.tar.xz">
11 <!ENTITY gs-download-ftp " ">
12 <!ENTITY gs-md5sum "dd531503dbbc524f73528359e2ea145c">
13 <!ENTITY gs-size "32 MB">
14 <!ENTITY gs-buildsize "332 MB (with fonts and libgs.so)">
15 <!ENTITY gs-time "1.7 SBU (Using parallelism=4; with libgs.so)">
16
17 <!ENTITY gs-standard-fonts-download
18 "&sourceforge-dl;/gs-fonts/ghostscript-fonts-std-8.11.tar.gz">
19 <!ENTITY gs-standard-fonts-md5sum "6865682b095f8c4500c54b285ff05ef6">
20 <!ENTITY gs-standard-fonts-size "3.7 MB">
21
22 <!ENTITY gs-other-fonts-download
23 "&sourceforge-dl;/gs-fonts/gnu-gs-fonts-other-6.0.tar.gz">
24 <!ENTITY gs-other-fonts-md5sum "33457d3f37de7ef03d2eea05a9e6aa4f">
25 <!ENTITY gs-other-fonts-size "796 KB">
26]>
27
28<sect1 id="gs" xreflabel="ghostscript-&gs-version;">
29 <?dbhtml filename="gs.html"?>
30
31 <sect1info>
32 <othername>$LastChangedBy$</othername>
33 <date>$Date$</date>
34 </sect1info>
35
36 <title>ghostscript-&gs-version;</title>
37
38 <indexterm zone="gs">
39 <primary sortas="a-Ghostscript">Ghostscript</primary>
40 </indexterm>
41
42 <sect2 role="package">
43 <title>Introduction to Ghostscript</title>
44
45 <para><application>Ghostscript</application> is a versatile processor
46 for PostScript data with the ability to render PostScript to different
47 targets. It is a mandatory part of the cups printing stack.</para>
48
49 &lfs90_checked;
50
51 <bridgehead renderas="sect3">Package Information</bridgehead>
52 <itemizedlist spacing="compact">
53 <listitem>
54 <para>Download (HTTP): <ulink url="&gs-download-http;"/></para>
55 </listitem>
56 <listitem>
57 <para>Download (FTP): <ulink url="&gs-download-ftp;"/></para>
58 </listitem>
59 <listitem>
60 <para>Download MD5 sum: &gs-md5sum;</para>
61 </listitem>
62 <listitem>
63 <para>Download size: &gs-size;</para>
64 </listitem>
65 <listitem>
66 <para>Estimated disk space required: &gs-buildsize;</para>
67 </listitem>
68 <listitem>
69 <para>Estimated build time: &gs-time;</para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/ghostscript-&gs-version;-upstream_fixes-2.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <para>If you wish, you can download additional fonts.</para>
86
87 <itemizedlist spacing="compact">
88 <title>Standard Fonts</title>
89 <listitem>
90 <para>Download (HTTP): <ulink url="&gs-standard-fonts-download;"/></para>
91 </listitem>
92 <listitem>
93 <para>Download MD5 sum: &gs-standard-fonts-md5sum;</para>
94 </listitem>
95 <listitem>
96 <para>Download size: &gs-standard-fonts-size;</para>
97 </listitem>
98 </itemizedlist>
99
100 <itemizedlist spacing="compact">
101 <title>Other Fonts</title>
102 <listitem>
103 <para>Download (HTTP): <ulink url="&gs-other-fonts-download;"/></para>
104 </listitem>
105 <listitem>
106 <para>Download MD5 sum: &gs-other-fonts-md5sum;</para>
107 </listitem>
108 <listitem>
109 <para>Download size: &gs-other-fonts-size;</para>
110 </listitem>
111 </itemizedlist>
112
113 <bridgehead renderas="sect3">Ghostscript Dependencies</bridgehead>
114
115 <bridgehead renderas="sect4">Recommended</bridgehead>
116 <para role="recommended">
117 <xref linkend="cups"/> (required for building the <quote>cups</quote>
118 device backend, which is needed by
119 <application>cups-filters</application>),
120 <xref linkend="fontconfig"/> (required, if you are installing any
121 suggested font),
122 <xref linkend="freetype2"/>,
123 <xref linkend="libjpeg"/>,
124 <xref linkend="libpng"/>,
125 <xref linkend="libtiff"/>,
126 <xref linkend="lcms2"/>, and
127 <xref linkend="openjpeg2"/>
128 </para>
129
130 <bridgehead renderas="sect4">Optional</bridgehead>
131 <para role="optional">
132 <xref linkend="cairo"/>,
133 <xref linkend="gtk3"/>,
134 <xref linkend="libidn"/>,
135 <xref linkend="libpaper"/>,
136 <xref linkend="lcms"/> (not used by default, nor if lcms2 is present or found), and
137 <xref linkend="x-window-system"/>
138 </para>
139
140 <para condition="html" role="usernotes">
141 User Notes: <ulink url="&blfs-wiki;/gs"/>
142 </para>
143 </sect2>
144
145 <sect2 role="installation">
146 <title>Installation of Ghostscript</title>
147
148 <note>
149 <para>
150 The <application>Ghostscript</application> build system is not
151 user-friendly. In order to use system copies of various graphics
152 libraries, you must do it using unconventional methods.
153 </para>
154 </note>
155
156 <para>
157 <application>Ghostscript</application> includes (old) copies of
158 several libraries. Some of these seem to have been patched to fix known
159 vulnerabilities, but others of these copies are less-well maintained.
160 To ensure that any future fixes are applied throughout the whole system,
161 it is recommended that you first install the released versions of these
162 libraries and then configure <application>Ghostscript</application>
163 to link to them.
164 </para>
165
166 <para>
167 If you have installed the recommended dependencies on your system,
168 remove the copies of
169 <application>freetype</application>, <application>lcms2</application>,
170 <application>libjpeg</application>, <application>libpng</application>,
171 and <application>openjpeg</application>:
172 </para>
173
174<screen><userinput>rm -rf freetype lcms2mt jpeg libpng openjpeg</userinput></screen>
175
176 <para>Compile <application>Ghostscript</application>:</para>
177
178<screen><userinput>rm -rf zlib &amp;&amp;
179
180patch -Np1 -i ../ghostscript-&gs-version;-upstream_fixes-2.patch &amp;&amp;
181
182./configure --prefix=/usr \
183 --disable-compile-inits \
184 --enable-dynamic \
185 --with-system-libtiff &amp;&amp;
186make</userinput></screen>
187
188 <note>
189 <para>
190 The shared library depends on <xref linkend="gtk3"/>. It is only used by
191 external programs like <xref linkend="asymptote"/>, <xref
192 linkend="imagemagick"/>, and <xref linkend="texlive"/>.
193 </para>
194 </note>
195
196 <para>
197 To compile the shared library
198 <filename class="libraryfile">libgs.so</filename>, run the following
199 additional command as an unprivileged user:
200 </para>
201
202<screen><userinput>make so</userinput></screen>
203
204 <para>
205 This package does not come with a test suite. A set of example files
206 may be used for testing, but it is only possible after installation
207 of the package.
208 </para>
209
210 <para>
211 Now, as the <systemitem class="username">root</systemitem> user:
212 </para>
213
214<screen role="root"><userinput>make install</userinput></screen>
215
216 <para>If you want the shared library too:</para>
217
218<screen role="root"><userinput>make soinstall &amp;&amp;
219install -v -m644 base/*.h /usr/include/ghostscript &amp;&amp;
220ln -sfvn ghostscript /usr/include/ps</userinput></screen>
221
222 <para>Now make the documentation accessible from the normal place:</para>
223<!-- Starting with 9.23, the install does not seem to copy the examples any more -->
224
225<screen role="root"><userinput>mv -v /usr/share/doc/ghostscript/&gs-version; /usr/share/doc/ghostscript-&gs-version; &amp;&amp;
226rm -rfv /usr/share/doc/ghostscript &amp;&amp;
227cp -a examples/ /usr/share/ghostscript/&gs-version;/</userinput></screen>
228
229 <para>
230 If you have downloaded the fonts, unpack them to
231 <filename class="directory">/usr/share/ghostscript</filename> and ensure
232 the ownerships of the files are
233 <systemitem class="username">root</systemitem>:
234 <systemitem class="groupname">root</systemitem>.
235 </para>
236
237<screen role="root"><userinput>tar -xvf ../ghostscript-fonts-std-8.11.tar.gz -C /usr/share/ghostscript --no-same-owner &amp;&amp;
238tar -xvf ../gnu-gs-fonts-other-6.0.tar.gz -C /usr/share/ghostscript --no-same-owner &amp;&amp;
239fc-cache -v /usr/share/ghostscript/fonts/</userinput></screen>
240
241 <para>
242 You can now test the rendering of various postscript and pdf files from the
243 <filename class="directory">/usr/share/ghostscript/&gs-version;/examples
244 </filename>, for example (you need an X window system display):
245 </para>
246
247<screen remap="test"><userinput>gs -q -dBATCH /usr/share/ghostscript/&gs-version;/examples/tiger.eps</userinput></screen>
248
249 </sect2>
250
251 <sect2 role="commands">
252 <title>Command Explanations</title>
253
254 <para>
255 <command>rm -rf zlib </command>: <application>zlib</application>
256 was installed as part of LFS.
257 </para>
258
259 <para>
260 <parameter>--disable-compile-inits</parameter>: This option makes
261 <command>gs</command> and <filename>libgs.so</filename> slightly smaller.
262 </para>
263
264 <para>
265 <parameter>--with-system-libtiff</parameter>: Remove this option if
266 you've not installed <xref linkend="libtiff"/>.
267 </para>
268
269 <para>
270 <command>install -v -m644 base/*.h... </command>: Some packages
271 (<application>ImageMagick</application> is one) need the
272 <application>Ghostscript</application> interface headers in place to link
273 to the shared library. These commands install the headers.
274 </para>
275
276 <para>
277 <command>ln -sfvn ghostscript /usr/include/ps</command>: Some packages
278 expect to find the interface headers in an alternate location.
279 </para>
280
281 <para>
282 <command>mv -v /usr/share/doc/ghostscript/&gs-version;
283 /usr/share/doc/ghostscript-&gs-version;</command>: This moves the
284 documentation where it is expected to be found.
285 </para>
286
287 <para>
288 <option>--disable-cups</option>: this option will save a tiny amount of
289 space by not linking <command>gs</command> and <filename>libgs.so</filename>
290 to the <xref linkend="cups"/> libraries if you have installed those.
291 </para>
292 </sect2>
293
294 <sect2 role="content">
295 <title>Contents</title>
296 <segmentedlist>
297 <segtitle>Installed Programs</segtitle>
298 <segtitle>Installed Library</segtitle>
299 <segtitle>Installed Directories</segtitle>
300
301 <seglistitem>
302 <seg>
303 dvipdf, eps2eps, font2c, gs, gsbj, gsc (from soinstall), gsdj,
304 gsdj500, gslj, gslp, gsnd, gsx (from soinstall), lprsetup.sh,
305 pdf2dsc, pdf2ps, pf2afm, pfbtopfa, pphs, printafm, ps2ascii,
306 ps2epsi, ps2pdf, ps2pdf12, ps2pdf13, ps2pdf14, ps2pdfwr,
307 ps2ps, ps2ps2, unix-lpr.sh, and wftopfa
308 <!-- I don't see bdftops,fixmswrd.pl or pv.sh on my builds [ I don't
309 have any bdf tools from xorg ] but they are still referenced in
310 base/unixinst.mak -->
311 </seg>
312 <seg>libgs.so and
313 /usr/lib/ghostscript/&gs-version;/X11.so</seg>
314 <seg>
315 /usr/include/ghostscript,
316 /usr/lib/ghostscript,
317 /usr/share/ghostscript, and
318 /usr/share/doc/ghostscript-&gs-version;
319 </seg>
320 </seglistitem>
321 </segmentedlist>
322
323 <variablelist>
324 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
325 <?dbfo list-presentation="list"?>
326 <?dbhtml list-presentation="table"?>
327
328 <varlistentry id="gplgs-prog">
329 <term><command>gs</command></term>
330 <listitem>
331 <para>
332 is an interpreter for Adobe Systems' PostScript(tm) and Portable
333 Document Format (PDF).
334 </para>
335 <indexterm zone="gs gplgs-prog">
336 <primary sortas="b-gs">gs</primary>
337 </indexterm>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry id="libgs.so">
342 <term><filename class="libraryfile">libgs.so</filename></term>
343 <listitem>
344 <para>
345 provides <application>Ghostscript</application> functionality to
346 other programs, such as <application>GSView</application>,
347 <application>ImageMagick</application>, and
348 <application>libspectre</application>.
349 </para>
350 <indexterm zone="gs libgs.so">
351 <primary sortas="c-libgs.so">libgs.so</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355 </variablelist>
356
357 <para>
358 <application>Ghostscript</application> provides many different
359 scripts used to convert PostScript, PDF, and other formats. Please refer to
360 the HTML documentation or the man pages for information about the
361 capabilities provided.
362 </para>
363 </sect2>
364</sect1>
Note: See TracBrowser for help on using the repository browser.