This chapter contains spooling printer management systems and ghostscript applications to render PostScript for display on terminals or paper.
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.
Download (HTTP): http://ftp.easysw.com/pub/cups/1.1.23/cups-1.1.23-source.tar.bz2
Download (FTP): ftp://ftp.easysw.com/pub/cups/1.1.23/cups-1.1.23-source.tar.bz2
Download MD5 sum: 4ce09b1dce09b6b9398af0daae9adf63
Download size: 8.7 MB
Estimated disk space required: 46 MB
Estimated build time: 0.54 SBU (additional 69 SBU to run full test suite)
OpenSSL-0.9.7e or GnuTLS (which needs libgpg-error, libgcrypt and opencdk, in that order), Linux-PAM-0.78, PHP-5.0.3, Python-2.4, J2SDK-1.4.2, OpenSLP, libpaper and Valgrind (optionally used if running the test suites)
Create an 'lp' user, as CUPS will install the lppasswd command SUID to this user. Use the following command as the root user:
useradd -c "Print Service User" -d /dev/null -g lp -s /bin/false lp
If you utilize Linux-PAM, you need to modify some files so CUPS can find needed headers. Make the appropriate modifications using the following command:
sed -i -e "s@pam/pam@security/pam@g" \
{config-scripts/cups-pam.m4,scheduler/auth.c,configure}
Install CUPS by running the following commands:
./configure &&
make &&
make install
The basic default behavior of the installation is appropriate for LFS systems. CUPS files are placed in /usr/bin, /usr/sbin, /var and /etc/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 ESP Ghostscript-7.07.1 to convert PostScript to raster images and a driver (e.g., from Gimp-Print-4.2.7) 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.
During the install, CUPS created the startup file /etc/rc.d/init.d/cups. The file works, but you may want to change it to a more conventional LFS startup file by installing the script included in the blfs-bootscripts-6.0 package:
make install-cups
CUPS provides accept, cupsaddsmb, cupsd, cupstestppd, lpadmin, lpc, lpinfo, lpmove, reject, cancel, cups-config, disable, enable, lp, lpoptions, lppasswd, lpq, lpr, lprm, lpstat, libcups, libcupsimage and various scripts and filters.