<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!ENTITY gutenprint-download-http "&sourceforge-repo;/gimp-print/gutenprint-&gutenprint-version;.tar.bz2">
  <!ENTITY gutenprint-download-ftp  " ">
  <!ENTITY gutenprint-md5sum        "9ff027103bafac419c37e19da75163ae">
  <!ENTITY gutenprint-size          "6.0 MB">
  <!ENTITY gutenprint-buildsize     "73 MB">
  <!ENTITY gutenprint-time          "0.5 SBU">
]>

<sect1 id="gutenprint" xreflabel="Gutenprint-&gutenprint-version;">
  <?dbhtml filename="gutenprint.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-02-28 23:47:03 -0500 (Sat, 28 Feb 2015) $</date>
  </sect1info>

  <title>Gutenprint-&gutenprint-version;</title>

  <indexterm zone="gutenprint">
    <primary sortas="a-Gutenprint">Gutenprint</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to Gutenprint</title>

    <para>The <application>Gutenprint</application> (formerly
    <application>Gimp-Print</application>) package contains high
    quality drivers for many brands and models of printers for use with
    <xref linkend="gs"/>, <xref linkend="cups"/>,
    <ulink url="http://www.linuxprinting.org/foomatic.html">Foomatic</ulink>,
    and the
    <application>GIMP-2.0</application>. See a list of supported printers at
    <ulink url="http://gutenprint.sourceforge.net/p_Supported_Printers.php"/>.
    </para>

    &lfs77_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&gutenprint-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&gutenprint-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &gutenprint-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &gutenprint-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &gutenprint-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &gutenprint-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Gutenprint Dependencies</bridgehead>

    <!-- recommend cups since we describe how to use it, and the gimp
    so that we can use gutenprint's driver to print photos there -->
    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended"><xref linkend="cups"/>, and
    <xref linkend="gimp"/></para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
    <ulink url="http://www.linuxprinting.org/foomatic.html">Foomatic</ulink>,
    <xref linkend="ijs"/></para>

    <bridgehead renderas="sect4">Optional (to Regenerate Documentation)</bridgehead>
    <para role="optional"><xref linkend="imagemagick"/>,
    <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
    <xref linkend="doxygen"/>, and
    <xref linkend="docbook-utils"/></para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/gutenprint"/></para>

  </sect2>

  <sect2 role="kernel" id="gutenprint-escputil">
    <title>Kernel Configuration</title>

    <para>
      If you intend to use <application>escputil</application> with a USB-connected
      Epson Stylus printer for commands such as <command>--ink-level</command>
      which need to access the raw device, you must enable the kernel's usblp
      driver. Enable the following options in your kernel configuration and
      recompile the kernel:
    </para>

<screen><literal>Device Drivers  ---&gt;
  [*] USB support  ---&gt;                          [CONFIG_USB_SUPPORT]
    &lt;*/M&gt;  OHCI HCD (USB 1.1) support            [CONFIG_USB_OHCI_HCD]
    &lt;*/M&gt;  UHCI HCD (most Intel and VIA) support [CONFIG_USB_UHCI_HCD]
    &lt;*/M&gt;  USB Printer support                   [CONFIG_USB_PRINTER]</literal></screen>

    <indexterm zone="gutenprint escputil">
      <primary sortas="d-escputil">escputil for usb printers</primary>
    </indexterm>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Gutenprint</title>

    <para>Install <application>Gutenprint</application> by running the
    following commands:</para>

<screen><userinput>sed -i 's|$(PACKAGE)/doc|doc/$(PACKAGE)-$(VERSION)|' \
       {,doc/,doc/developer/}Makefile.in &amp;&amp;
./configure --prefix=/usr --disable-static &amp;&amp;
make</userinput></screen>

    <!-- this is supposed to discourage you from running the tests if you upgrade
    the package - I suppose you could sed the tests/Makefile to only run 'curve',
    and perhaps 'run-testdither', it's 'run-weavetest' which takes most of the time -->
    <para>To test the results, issue: <command>make check</command>. When last
    tested (version 5.2.7, LFS-7.1, on a uniprocessor box which is admittedly short of
    memory) this took more than 800 SBUs (more than two days for that box) and used an
    extra 678 MB of disk space.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>

<screen role="root"><userinput>make install &amp;&amp;
install -v -m755 -d /usr/share/doc/gutenprint-&gutenprint-version;/api/gutenprint{,ui2} &amp;&amp;
install -v -m644    doc/gutenprint/html/* \
                    /usr/share/doc/gutenprint-&gutenprint-version;/api/gutenprint &amp;&amp;
install -v -m644    doc/gutenprintui2/html/* \
                    /usr/share/doc/gutenprint-&gutenprint-version;/api/gutenprintui2</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para><command>sed -i '...' ...Makefile.in</command>: This
    command is used so that the package documentation is installed in the
    conventional <filename class='directory'>/usr/share/doc</filename>
    directory structure instead of
    <filename class='directory'>/usr/share/gutenprint/doc</filename>.</para>

    <para><option>--disable-static</option>: This switch prevents the static
    libraries being installed.</para>

    <!-- redundant, only applies to cups < 1.2.0 : cups-5.0 gives a version of 1.5.0
    FIXME - delete this on next version upgrade
    <para><option>\-\-with-translated-ppds=no</option>: When this parameter is
    given, only US English PPD files for <application>CUPS</application>
    will be built. Useful if the PPD files are not yet translated into your
    native language and you want to save some space by not installing unneeded
    translations.</para>-->

  </sect2>

  <sect2 role="configuration">
    <title>Configuring Gutenprint</title>

    <sect3>
      <title>Configuration Information</title>

      <para>For <application>CUPS</application> to see newly installed print
      drivers, it has to be restarted (as the <systemitem
      class="username">root</systemitem> user):</para>

<screen role="root"><userinput>/etc/rc.d/init.d/cups restart</userinput></screen>

      <!-- <para>This command may take a long time (up to 10 minutes)
      to complete. Don't panic while <application>CUPS</application>
      is rescanning the list of PPD files. The long delay will happen
      only once.</para> -->

      <para>Then point your web browser to <ulink url="http://localhost:631/"/>
      to add a new printer to <application>CUPS</application>.</para>

    </sect3>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>cups-calibrate, cups-genppd.5.2, cups-genppdupdate, escputil,
        ijsgutenprint.5.2 (if compiled using ijs), and
        testpattern</seg>
        <seg>libgutenprint.so, libgutenprintui2.so
        and optionally, various
        <application>CUPS</application> filters and backend
        drivers under /usr/lib/gutenprint/5.2/modules/</seg>
        <seg>/usr/include/gutenprint,
        /usr/include/gutenprintui2,
        /usr/lib/gutenprint,
        /usr/share/doc/gutenprint-&gutenprint-version; and
        /usr/share/gutenprint</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="cups-calibrate">
        <term><command>cups-calibrate</command></term>
        <listitem>
          <para>calibrates the color output of printers using the
          <application>Gutenprint</application>,
          <application>CUPS</application> or
          <application>ESP Print Pro</application> drivers.</para>
          <indexterm zone="gutenprint cups-calibrate">
            <primary sortas="b-cups-calibrate">cups-calibrate</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="escputil">
        <term><command>escputil</command></term>
        <listitem>
          <para>is a command line utility to perform various maintenance
          tasks on Epson Stylus inkjet printers.</para>
          <indexterm zone="gutenprint escputil">
            <primary sortas="b-escputil">escputil</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="ijsgutenprint.5.2">
        <term><command>ijsgutenprint.5.2</command></term>
        <listitem>
          <para>is a Ghostscript driver for HP inkjet and laserjet printers.</para>
          <indexterm zone="gutenprint ijsgutenprint.5.2">
            <primary sortas="b-ijsgutenprint.5.2">ijsgutenprint.5.2</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
