Author: ken
Date: 2010-12-18 17:01:48 -0700 (Sat, 18 Dec 2010)
New Revision: 8741
Modified:
trunk/BOOK/general.ent
trunk/BOOK/introduction/welcome/changelog.xml
trunk/BOOK/pst/printing/gs.xml
Log:
Update to ghostscript-9.00
Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent 2010-12-18 20:17:15 UTC (rev 8740)
+++ trunk/BOOK/general.ent 2010-12-19 00:01:48 UTC (rev 8741)
@@ -809,7 +809,7 @@
<!-- Chapter 42 -->
<!ENTITY cups-version "1.4.4">
<!ENTITY LPRng-version "3.8.28">
-<!ENTITY gs-version "8.71">
+<!ENTITY gs-version "9.00">
<!ENTITY gutenprint-version "5.2.5">
<!-- Obsolete
Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml 2010-12-18 20:17:15 UTC
(rev 8740)
+++ trunk/BOOK/introduction/welcome/changelog.xml 2010-12-19 00:01:48 UTC
(rev 8741)
@@ -52,6 +52,11 @@
<para>[ken] - Upgraded to freetype-2.4.4 (fixes ticket
<ulink url="&blfs-ticket-root;3183">#3183</ulink>).</para>
</listitem>
+ <listitem>
+ <para>[ken] - Upgraded to ghostscript-9.00 (fixes ticket
+ <ulink url="&blfs-ticket-root;3150">#3150</ulink>). Many thanks to
+ David Jensen and Randy for their assistance.</para>
+ </listitem>
</itemizedlist>
</listitem>
Modified: trunk/BOOK/pst/printing/gs.xml
===================================================================
--- trunk/BOOK/pst/printing/gs.xml 2010-12-18 20:17:15 UTC (rev 8740)
+++ trunk/BOOK/pst/printing/gs.xml 2010-12-19 00:01:48 UTC (rev 8741)
@@ -6,11 +6,13 @@
<!-- <!ENTITY gs-download-http
"&sourceforge-repo;/ghostscript/ghostscript-&gs-version;.tar.bz2"> -->
<!ENTITY gs-download-http
"http://ghostscript.com/releases/ghostscript-&gs-version;.tar.gz">
- <!ENTITY gs-download-ftp
"ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs871/ghostscript-&gs-version;.tar.gz">
- <!ENTITY gs-md5sum "51a522a5b4818bd3dc7c1c0e9dd22bad">
- <!ENTITY gs-size "25.2 MB">
- <!ENTITY gs-buildsize "255 MB (includes installing libgs.so and both
font tarballs)">
- <!ENTITY gs-time "3.3 SBU (includes building and installing
libgs.so)">
+ <!-- no response 2010-12-18
+ <!ENTITY gs-download-ftp
"ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs900/ghostscript-&gs-version;.tar.gz">
-->
+ <!ENTITY gs-download-ftp " ">
+ <!ENTITY gs-md5sum "177c33b796ed28d3d568e230a6dbdba5">
+ <!ENTITY gs-size "22.3 MB">
+ <!ENTITY gs-buildsize "170 MB (includes installing libgs.so and both
font tarballs)">
+ <!ENTITY gs-time "2.7 SBU (includes building and installing
libgs.so)">
<!-- <!ENTITY gs-standard-fonts-download
"ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ghostscript-fonts-std-8.11.tar.gz">
-->
<!ENTITY gs-standard-fonts-download
"&sourceforge-repo;/gs-fonts/ghostscript-fonts-std-8.11.tar.gz">
@@ -43,7 +45,7 @@
for PostScript data with the ability to render PostScript to different
targets.</para>
- &lfs65_checked;
+ &lfs67_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
@@ -98,7 +100,12 @@
<itemizedlist spacing="compact">
<title>Patches</title>
<listitem>
- <para>Optional patch: <ulink
+ <para>Required patch: <ulink
+ url="&patch-root;/ghostscript-&gs-version;-security_fixes-1.patch"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Recommended patch (unless you build without JPEG2000 support) :
<ulink
url="&patch-root;/ghostscript-&gs-version;-system_jasper-1.patch"/>
</para>
</listitem>
@@ -106,17 +113,24 @@
<bridgehead renderas="sect3">Ghostscript Dependencies</bridgehead>
+ <bridgehead renderas="sect4">Recommended</bridgehead>
+ <para role="optional"><xref linkend="expat"/>,
+ <xref linkend="freetype2"/>,
+ <xref linkend="jasper"/>
+ <xref linkend="libjpeg"/>,
+ <xref linkend="libpng"/>,
+ <xref linkend="libtiff"/>, and
+ <xref linkend="lcms"/></para>
+
<bridgehead renderas="sect4">Optional</bridgehead>
- <para role="optional"><xref linkend="libjpeg"/>,
- <xref linkend="libpng"/>,
- <xref linkend="libtiff"/>,
- <xref linkend="jasper"/>,
+ <para role="optional">
<xref linkend="cairo"/>,
<xref linkend="fontconfig"/>,
<xref linkend="gtk2"/>,
<xref linkend="cups"/>,
- <xref linkend="x-window-system"/>,
- <ulink url="http://www.linuxprinting.org/ijs/">IJS</ulink>, and
+ <xref linkend="x-window-system"/>, and
+ <!-- the link for ijs source ultimately takes users back to the
ghostscript site
+ <ulink url="http://www.linuxprinting.org/ijs/">IJS</ulink>, and -->
<ulink
url="http://packages.debian.org/unstable/source/libpaper">libpaper</ulink></para>
<para condition="html" role="usernotes">User Notes:
@@ -127,44 +141,58 @@
<sect2 role="installation">
<title>Installation of Ghostscript</title>
- <note>
+ <para>Install <application>GPL Ghostscript</application> by running the
+ following commands:</para>
+
+ <note>
<para>The <application>Ghostscript</application> build system is not
user-friendly. In order to use system copies of various graphics
libraries, you must do it using unconventional methods.</para>
+ </note>
- <para>First, if you wish to use the system-installed version of
- <application>JasPer</application>, remove the local copy from the
- source tree and apply a patch:</para>
+ <para>Begin by patching some vulnerabilities:</para>
-<screen><userinput>rm -rf jasper &&
-patch -Np1 -i
../ghostscript-&gs-version;-system_jasper-1.patch</userinput></screen>
+<screen><userinput>patch -Np1 -i
../ghostscript-&gs-version;-security_fixes-1.patch
+</userinput></screen>
- <para>Next, if you wish to use the system-installed copies of
- <application>libjpeg</application> and <application>libpng</application>,
- remove the local copies from the source tree:</para>
+ <para><application>GPL Ghostscript</application> includes (old) copies of
+ several libraries. Some of these seem to have been patched to fix known
+ vulnerabilities, but others of these copies are less-well maintained.
+ To ensure that any future fixes are applied throughout the whole system,
+ it is recommended that you build the released versions of these libraries
+ and then configure <application>GPL Ghostscript</application> to link to
+ them. This configuration has several steps.</para>
-<screen><userinput>rm -rf jpeg &&
-rm -rf libpng</userinput></screen>
+ <para>Unless you intend to build <application>GPL
Ghostscript</application>
+ without support for <literal>JPEG2000</literal> files, apply a patch to
+ allow it to build against a current system-installed version of
+ <application>JasPer</application>:</para>
- <para>If you wish to use the system-installed copy of
- <application>libtiff</application>, add the parameter
- <option>--with-system-libtiff</option> to the
<command>./configure</command>
- command shown below. Also remove the
- <filename class='directory'>tiff</filename> directory from the source
tree
- to prevent the <application>Ghostscript</application> build from using
any
- of its local copy.</para>
+<screen><userinput>patch -Np1 -i
../ghostscript-&gs-version;-system_jasper-1.patch
+</userinput></screen>
- <para>Unfortunately, <application>Ghostscript</application> will use
local
- copies of <application>Expat</application> and
- <application>Zlib</application> from the source tree. There doesn't
- appear to be an easy way to use system-installed copies of these
libraries
- without doing some hacking of the sources.</para>
- </note>
+ <para>Remove the local copies of <application>expat</application>,
+ <application>JasPer</application>, <application>lcms</application>,
+ <application>libjpeg</application>, <application>libpng</application>,
+ <application>libtiff</application>, and <application>zlib</application>:
+ </para>
- <para>Install <application>GPL Ghostscript</application> by running the
- following commands:</para>
+<screen><userinput>rm -rf expat jasper lcms jpeg libpng tiff zlib
+</userinput></screen>
-<screen><userinput>./configure --prefix=/usr --enable-dynamic
--with-drivers=ALL,x11 &&
+ <para>Run the configure command:</para>
+
+<screen><userinput>./configure --prefix=/usr --enable-dynamic
--with-drivers=ALL,x11 --with-system-libtiff
--disable-compile-inits</userinput></screen>
+
+ <para>To ensure the build is able to use the system versions of
+ <application>expat</application>, <application>freetype</application>, and
+ <application>lcms</application> it is necessary to make some changes and an
+ addition to the <literal>Makefile</literal> before building the
package:</para>
+
+<screen><userinput>sed -i -e 's|SHARE_LCMS=0|SHARE_LCMS=1|' \
+ -e 's|LCMSSRCDIR=lcms|LCMSSRCDIR=/usr|' \
+ -e 's|=imdi|&\n\n# Use system expat library\n\nSHARE_EXPAT=1|' \
+ -e 's|SHARE_FT=0|SHARE_FT=1|' Makefile &&
make</userinput></screen>
<para>This package does not come with a test suite. However, you may test
@@ -175,19 +203,27 @@
<para>Now, as the <systemitem class="username">root</systemitem>
user:</para>
-<screen role="root"><userinput>make install
docdir=/usr/share/doc/ghostscript-&gs-version; &&
-
+<!-- for 9.00 docdir is only referenced by GS_DOCDIR which is itself not
referenced
+ so the docs still go into /usr/share/ghostscript/9.00/
+<screen role="root"><userinput>make install
docdir=/usr/share/doc/ghostscript-&gs-version; &&-->
+<screen role="root"><userinput>make install &&
for INSTFILE in `ls doc`
do
- if [ ! -f /usr/share/doc/ghostscript-&gs-version;/$INSTFILE ]; then
+ <!--if [ ! -f /usr/share/doc/ghostscript-&gs-version;/$INSTFILE ];
then -->
+ if [ ! -f /usr/share/ghostscript/&gs-version;/doc/$INSTFILE ]; then
install -v -m644 doc/$INSTFILE \
- /usr/share/doc/ghostscript-&gs-version;
+ /usr/share/ghostscript/&gs-version;/doc
+ <!--/usr/share/doc/ghostscript-&gs-version;-->
fi
done &&
-install -v -m755 -d /usr/share/doc/ghostscript-&gs-version;/figures &&
+<!--install -v -m755 -d /usr/share/doc/ghostscript-&gs-version;/figures
&&-->
+install -v -m755 -d /usr/share/ghostscript/&gs-version;/doc/figures &&
install -v -m644 doc/figures/* \
-
/usr/share/doc/ghostscript-&gs-version;/figures</userinput></screen>
+ /usr/share/ghostscript/&gs-version;/doc/figures &&
+ <!--/usr/share/doc/ghostscript-&gs-version;/figures-->
+ln -sv ../ghostscript/&gs-version;/doc /usr/share/doc/ghostscript-&gs-version;
+</userinput></screen>
<para>To install the shared library
<filename class='libraryfile'>libgs.so</filename>, run the
@@ -229,13 +265,23 @@
selection so that the test to render the tiger will work on 32-bit systems
(this does no harm on the <literal>x86_64</literal> architecture, although
it is not required there).</para>
+ <para><command>--disable-compile-inits</command>: This parameter is
intended
+ to avoid compiling initialization files into the executables. It is used
here
+ to simplify building agaisnt the system version of
+ <application>zlib</application>.</para>
+ <para><option>--without-jasper</option>: If you know you do not wish to
print
+ any <literal>JPEG2000</literal> files, this switch (and removing the
+ <filename class="directory">jasper/</filename> source) will achieve
this.</para>
+ <para><option>--without-jbig2dec</option>: The <literal>JBIG2</literal>
+ decompression code (used for some faxes) can be disabled by using this
switch
+ and removing the <filename class="directory">jbig2dec/</filename>
source.</para>
<para><command>install ...</command>: Some packages
(<application>ImageMagick</application> is one) need the
<application>Ghostscript</application> interface headers in place to link
to the shared library. These commands install the headers.</para>
- <!-- <para><command>ln -sv ...
/usr/share/doc/ghostscript-&gs-version;</command>: This puts
- the documentation where it is expected to be found.</para> -->
+ <para><command>ln -sv ...
/usr/share/doc/ghostscript-&gs-version;</command>: This puts
+ the documentation where it is expected to be found.</para>
<para><command>ln -v -s ghostscript /usr/include/ps</command>: Some
packages expect to find the interface headers in an alternate
@@ -252,12 +298,14 @@
<seglistitem>
<seg>bdftops, dumphint, dvipdf, eps2eps, fixmswrd.pl, font2c, gs, gsbj,
- gsdj, gsdj500, gslj, gslp, gsnd, lprsetup.sh, pdf2dsc, pdf2ps, pdfopt,
+ gsc (from soinstall), gsdj, gsdj500, gslj, gslp, gsnd, gsx (from
soinstall),
+ lprsetup.sh, pdf2dsc, pdf2ps, pdfopt,
pf2afm, pfbtopfa, printafm, ps2ascii, ps2epsi, ps2pdf, ps2pdf12,
ps2pdf13, ps2pdf14, ps2pdfwr, ps2ps, ps2ps2, pv.sh, unix-lpr.sh, and
wftopfa</seg>
<seg>libgs.so </seg>
<seg>/usr/include/ghostscript, /usr/lib/ghostscript,
/usr/share/ghostscript,
+ <!--and /usr/share/doc/ghostscript</seg>-->
and /usr/share/doc/ghostscript-&gs-version;</seg>
</seglistitem>
</segmentedlist>
--
http://linuxfromscratch.org/mailman/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page