Cups-1.6.3
Introduction to Cups
The Common Unix Printing System (CUPS) is a print spooler and
associated utilities. It is based on the "Internet Printing
Protocol" and provides printing services to most PostScript and
raster printers.
This package is known to build and work properly using an LFS-7.4
platform.
Package Information
Additional Downloads
Cups Dependencies
Recommended
Colord-1.0.3, D-Bus-1.6.14, and
libusb-1.0.9
Optional
acl-2.2.52, Avahi-0.6.31,
GnuTLS-3.2.4 or OpenSSL-1.0.1e, libpaper,
Linux-PAM-1.1.7, MIT
Kerberos V5-1.11.3, OpenJDK-1.7.0.40/IcedTea-2.4.1,
PHP-5.5.3, Python-2.7.5,
and xdg-utils-1.1.0-rc1
Required (Runtime)
cups-filters-1.0.38
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/cups
Kernel Configuration
Note
There is a conflict between the Cups libusb
backend and the usblp kernel driver. If you want to use
Cups with libusb, do
not enable USB Printer support in your kernel.
If you want to use the kernel usblp driver, enable the following
options in your kernel configuration and recompile the kernel:
Device Drivers --->
[*] USB support --->
...
Enable support for either UHCI or OHCI, not both:
[*] OHCI HCD support
[*] UHCI HCD (most Intel and VIA) support
...
[*] USB Printer support
If you have a parallel printer, enable the following options in
your kernel configuration and recompile the kernel:
Device Drivers --->
[*] Parallel port support --->
[*] PC-style hardware
...
Character devices --->
[*] Parallel printer support
Installation of Cups
You will need to add an lp
user, as
Cups will create some files owned
by this user. (The lp
user is the
default used by Cups, but may be
changed to a different user by passing a parameter to the
configure script.)
Use the following command as the root
user:
useradd -c "Print Service User" -d /var/spool/cups -g lp -s /bin/false -u 9 lp
You will also need a dedicated group that will contain users
allowed to do Cups administrative
tasks. Add the group by running the following command as the
root
user:
groupadd -g 19 lpadmin
If you want to add a user to the Cups administrative group, run the following
command as the root
user:
usermod -a -G lpadmin <username>
If you didn't install xdg-utils-1.1.0-rc1, use the following
sed to change the
default browser that will be used to access the Cups web interface:
sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in
Replace firefox with
the web browser of your choice.
Install Cups by running the
following commands:
patch -Np1 -i ../cups-1.6.3-blfs-1.patch &&
aclocal -I config-scripts &&
autoconf -I config-scripts &&
CC=gcc \
./configure --libdir=/usr/lib \
--with-rcdir=/tmp/cupsinit \
--with-docdir=/usr/share/cups/doc \
--with-system-groups=lpadmin &&
make
This package does not have a working testsuite.
Now, as the root
user:
make install &&
rm -rf /tmp/cupsinit &&
ln -sv ../cups/doc /usr/share/doc/cups-1.6.3
Create a basic Cups client
configuration file by running the following command as the
root
user:
echo "ServerName /var/run/cups/cups.sock" > /etc/cups/client.conf
Remove filters that are now part of the Cups Filters package by running the following
commands as the root
user:
rm -rf /usr/share/cups/banners &&
rm -rf /usr/share/cups/data/testprint
Note
This package installes icon files into the /usr/share/icons/hicolor
hierarchy and you can
improve system performance and memory usage by updating
/usr/share/icons/hicolor/index.theme
. To
perform the update you must have GTK+-2.24.20 or
GTK+-3.8.4 installed and issue the following
command as the root
user:
gtk-update-icon-cache
Command Explanations
CC=gcc
: This environment variable
ensures that gcc is used if clang is installed. The build fails
with the clang compiler.
--with-rcdir=/tmp/cupsinit
:
This switch tells the build process to install the shipped
bootscript into /tmp
instead of
/etc/rc.d
.
--with-system-groups=lpadmin
: This
switch ensures that only lpadmin
will be used as the Cups
administrative group.
--disable-libusb
: Use this switch if
you have installed libusb-1.0.9, but wish to use the kernel
usblp driver.
--enable-libpaper
: Use this switch if
you have installed libpaper and
wish to use it with Cups.
--disable-gnutls --enable-openssl
: This
switch tells the build process to use OpenSSL-1.0.1e
instead of GnuTLS-3.2.4. The current version of
GnuTLS might produce lot of
warnings during the Cups build.
Configuring Cups
Configuration of Cups is dependent
on the type of printer and can be complex. Generally, PostScript
printers are easier. For detailed instructions on configuration and
use of Cups, see http://www.cups.org/documentation.php.
The Software Administrators Manual and Software Users Manual are
particularly useful.
For non-PostScript printers to print with Cups, you need to install ghostscript-9.10 to
convert PostScript to raster images and a driver (e.g., from
Gutenprint-5.2.9) to convert the resulting
raster images to a form that the printer understands. Foomatic drivers
use Ghostscript to convert PostScript to a printable form directly,
but this is considered to be a hack by Cups developers.
Boot Script
If you want the Cups print
service to start automatically when the system is booted, install
the init script included in the blfs-bootscripts-20130908 package:
make install-cups
Contents
Installed Programs:
accept, cancel, cupsaccept, cupsaddsmb,
cups-config, cupsctl, cupsd, cupsdisable, cupsenable,
cupsfilter, cupsreject, cupstestdsc, cupstestppd, ipptool, lp,
lpadmin, lpc, lpinfo, lpmove, lpoptions, lppasswd, lpq, lpr,
lprm, lpstat, ppdc, ppdhtml, ppdi, ppdmerge, ppdpo and
reject
Installed Libraries:
libcupscgi.so, libcupsimage.so,
libcupsmime.so, libcupsppdc.so and libcups.so
Installed Directories:
/etc/cups, /usr/include/cups,
/usr/lib/cups, /usr/share/cups, /usr/share/doc/cups-1.6.3,
/var/cache/cups, /var/log/cups, /var/run/cups and
/var/spool/cups
Short Descriptions
accept
|
instructs the printing system to accept print jobs to the
specified destinations.
|
cancel
|
cancels existing print jobs from the print queues.
|
cupsaddsmb
|
exports printers to the Samba software for use with Windows
clients.
|
cups-config
|
is a Cups program
configuration utility.
|
cupsctl
|
updates or queries the cupsd.conf file for a server.
|
cupsd
|
is the scheduler for the Common Unix Printing System.
|
cupsfilter
|
is a front-end to the Cups filter subsystem which allows
you to convert a file to a specific format.
|
cupstestdsc
|
tests the conformance of PostScript files.
|
cupstestppd
|
tests the conformance of PPD files.
|
ipptool
|
sends IPP requests to the specified URI and tests and/or
displays the results.
|
lp
|
submits files for printing or alters a pending job.
|
lpadmin
|
configures printer and class queues provided by
Cups.
|
lpc
|
provides limited control over printer and class queues
provided by Cups.
|
lpinfo
|
lists the available devices or drivers known to the
Cups server.
|
lpmove
|
moves the specified job to a new destination.
|
lpoptions
|
displays or sets printer options and defaults.
|
lppasswd
|
adds, changes or deletes passwords in the Cups digest password file
passwd.md5 .
|
lpq
|
shows the current print queue status on the named
printer.
|
lpr
|
submits files for printing.
|
lprm
|
cancels print jobs that have been queued for printing.
|
lpstat
|
displays status information about the current classes,
jobs, and printers.
|
ppdc
|
compiles PPDC source files into one or more PPD files.
|
ppdhtml
|
reads a driver information file and produces a HTML
summary page that lists all of the drivers in a file and
the supported options.
|
ppdi
|
imports one or more PPD files into a PPD compiler source
file.
|
ppdmerge
|
merges two or more PPD files into a single,
multi-language PPD file.
|
ppdpo
|
extracts UI strings from PPDC source files and updates
either a GNU gettext or Mac OS X strings format message
catalog source file for translation.
|
reject
|
instructs the printing system to reject print jobs to the
specified destinations.
|
libcups.so
|
contains the Cups API
functions.
|
Last updated on 2013-09-12 06:19:11 -0700