| Download location (HTTP): http://www.cups.org/software.html Download location (FTP): ftp://ftp.easysw.com/pub/cups/1.1.18/cups-1.1.18-source.tar.bz2 Version used: 1.1.18 Package size: 3.3 MB Estimated Disk space required: 21 MB | 
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.
| CUPS depends on: GhostScript-7.05.5 (for non-postscript printers) CUPS will utilize: libjpeg-6b, libpng-1.2.5 and libtiff-3.5.7 | 
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.
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:
| cat > /etc/rc.d/init.d/cups << "EOF"
#!/bin/sh
# Begin $rc_base/init.d/cups
# Start or stop the CUPS server based upon the first argument to the script.
source /etc/sysconfig/rc
source $rc_functions
case $1 in
    start)
           echo "Starting CUPS Printserver..."
           loadproc /usr/sbin/cupsd
           ;;
    stop)
           echo "Stopping CUPS Printserver..."
           killproc cupsd
           ;;
    reload)
           echo "Reloading CUPS Printserver..."
           reloadproc /usr/sbin/cupsd
           ;;
    restart)
           $0 stop
           sleep 1
           $0 start
           ;;
    status)
           statusproc cupsd
           ;;
    *)
           echo "Usage: $0 {start|stop|reload|restart|status}"
           exit 1
           ;;
esac
# End $rc_base/init.d/cups startup script.
EOF | 
The CUPS install also copies the initialization script to the /etc/rc.d/rc{0,2,3,5} directories. You may want to delete those files and add symbolic links to /etc/rc.d/init.d/cups.
CUPS provides:
/usr/sbin/lpc - line printer control program
/usr/sbin/cupsd - common unix printing system daemon
/usr/sbin/accept - accept jobs sent to a destination
/usr/sbin/reject - reject jobs sent to a destination
/usr/sbin/cupsaddsmb - export printers to samba for windows clients
/usr/sbin/lpadmin - configure cups printers and classes
/usr/sbin/lpinfo - show available devices or drivers
/usr/sbin/lpmove - move a job to a new destination
/usr/sbin/cupstestppd - test conformance of ppd files
/usr/bin/lpq - show printer queue status
/usr/bin/lpr - print files
/usr/bin/lprm - cancel print jobs
/usr/bin/cancel - cancel jobs
/usr/bin/disable - start printers and classes
/usr/bin/enable - start printers and classes
/usr/bin/lp - print files
/usr/bin/lpoptions - display or set printer options and defaults
/usr/bin/lpstat - print cups status information
/usr/bin/lppasswd - add, change, or delete digest passwords
/usr/bin/cups-config - get cups api, compiler, directory, and link information