CUPS Software Version Description


CUPS-SVD-1.1
Easy Software Products
Copyright 1997-2002, All Rights Reserved

Table of Contents



1 Scope 2 References 3 Additions 4 Changes A Glossary

1 Scope

1.1 Identification

This software version description document provides release information for the Common UNIX Printing System ("CUPS") Version 1.1.

1.2 System Overview

CUPS provides a portable printing layer for UNIX®-based operating systems. It has been developed by Easy Software Products to promote a standard printing solution for all UNIX vendors and users. CUPS provides the System V and Berkeley command-line interfaces.

CUPS uses the Internet Printing Protocol ("IPP") as the basis for managing print jobs and queues. The Line Printer Daemon ("LPD") Server Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported with reduced functionality. CUPS adds network printer browsing and PostScript Printer Description ("PPD") based printing options to support real-world printing under UNIX.

CUPS also includes a customized version of GNU Ghostscript (currently based off GNU Ghostscript 5.50) and an image file RIP that are used to support non-PostScript printers. Sample drivers for HP and EPSON printers are included that use these filters.

1.3 Document Overview

This software version description document is organized into the following sections:

2 References

2.1 CUPS Documentation

The following CUPS documentation is referenced by this document:

2.2 Other Documents

The following non-CUPS documents are referenced by this document:

3 Additions

CUPS 1.1 includes many new features from the 1.0.x releases.

3.1 Filters

3.1.1 imagetoraster, imagetops

The image file filters have been upgraded to support conversion of Microsoft Bitmap ("BMP") and Alias PIX files.

3.1.2 pdftops

A new pdftops filter has been developed that is based on the excellent Xpdf 0.90 software from Derek B. Noonburg. The new filter is faster, smaller, and considerably more reliable than the Ghostscript-based filter in CUPS 1.0.

3.1.3 pstoraster

The pstoraster filter has been integrated with GNU GhostScript 5.50. The new RIP supports most Level 3 PostScript language features.

3.1.4 rastertoepson

The new rastertoepson filter supports EPSON printers using the ESC/P or ESC/P2 command sets. PPDs are supplied for 9-pin, 24-pin, Stylus Color, and Stylus Photo printers.

3.2 User-Defined Printers and Options

The new lpoptions command allows users to configure default document options and create additional "instances" of existing printers, each with unique options.

The lp, lpr, and lpstat commands have been upgraded to use this option and printer instance information automatically.

3.3 Daemons

CUPS 1.1 includes two new daemons that provide enhanced network printing support.

3.3.1 cups-lpd

The cups-lpd daemon provides support for clients using the Line Printer Daemon protocol.

3.3.2 cups-polld

The cups-polld daemon provides remote polling services for the scheduler.

3.4 Commands

CUPS 1.1 includes several new printing commands.

3.4.1 lpoptions

The lpoptions command provides user-defined printers and options.

3.4.2 lpmove

The lpmove command moves a print job to a new destination.

3.4.3 lpinfo

The lpinfo command lists the available PPD files or devices.

3.5 IPP Implementation

CUPS 1.1 adds support for the set-job-attributes extension operation as well as two new CUPS-specific extension operations to determine which devices and printer drivers are available on the system.

Further information on the CUPS implementation of IPP can be found in CUPS-IPP-1.1.

4 Changes

CUPS 1.1 includes many changes from the 1.0.x releases.

4.1 Directory Structure

The directory structure in CUPS 1.1 has been modified to conform to the Filesystem Hierarchy Standard, 2.0. The following table describes the new file locations.

Table 1: Directory structure changes from CUPS 1.0.x to 1.1.x.
DescriptionCUPS 1.0.xCUPS 1.1.x
Backends/var/cups/backend/usr/lib/cups/backend
CGI programs/var/cups/cgi-bin /usr/lib/cups/cgi-bin
Configuration files/var/cups/conf/etc/cups
Documentation/usr/share/cups/doc /usr/share/doc/cups
Filter programs/var/cups/filter /usr/lib/cups/filter
Interface scripts/var/cups/interfaces /etc/cups/interfaces
Locale data/usr/lib/locale/usr/share/locale
Log files/var/cups/logs/var/log/cups
PPD files/var/cups/ppd/etc/cups/ppd
Request files/var/cups/requests/var/spool/cups

4.2 IPP Implementation

CUPS 1.1 is based on version 1.1 of the Internet Printing Protocol.

The new scheduler supports the create-job and send-document operations. In addition, the job-sheets , job-sheets-default, and job-sheets-supported attributes are now supported for banner pages.

The CUPS-get-printers and CUPS-get-classes operations have been upgraded to support limited filtering based upon the printer-type, printer-location, printer-info, and printer-make-and-model attributes.

The CUPS-add-printer operation now supports the ppd-name attribute to specify a locally-available PPD file rather than sending the PPD file from the client with the request.

Further information on the CUPS implementation of IPP can be found in CUPS-IPP-1.1.

A Glossary

A.1 Terms

C
A computer language.
parallel
Sending or receiving data more than 1 bit at a time.
pipe
A one-way communications channel between two programs.
serial
Sending or receiving data 1 bit at a time.
socket
A two-way network communications channel.

A.2 Acronyms

ASCII
American Standard Code for Information Interchange
CUPS
Common UNIX Printing System
ESC/P
EPSON Standard Code for Printers
FTP
File Transfer Protocol
HP-GL
Hewlett-Packard Graphics Language
HP-PCL
Hewlett-Packard Page Control Language
HP-PJL
Hewlett-Packard Printer Job Language
IETF
Internet Engineering Task Force
IPP
Internet Printing Protocol
ISO
International Standards Organization
LPD
Line Printer Daemon
MIME
Multimedia Internet Mail Exchange
PPD
PostScript Printer Description
SMB
Server Message Block
TFTP
Trivial File Transfer Protocol