E - Sample List File

This appendix provides a sample list file that shows the capabilities and format of EPM list files.

The CUPS List File

The Common UNIX Printing System provides an EPM list file to generate software distributions for most UNIX operating systems. This is an annotated version of the CUPS 1.1.5 list file.

Variables Used for the Distribution

The CUPS makefile defines the following variables for the distribution:

BINDIR
The directory for user programs.
 
DATADIR
The directory for data files.
 
DOCDIR
The directory for documentation files.
 
INCLUDEDIR
The directory for header files.
 
LIBDIR
The directory for library files.
 
LOCALEDIR
The directory for message (localization) files.
 
LOGDIR
The directory for log files.
 
MANDIR
The directory for man pages.
 
PAMDIR
The directory for PAM configuration files.
 
REQUESTS
The directory for request files.
 
SBINDIR
The directory for administration programs.
 
SERVERBIN
The directory for server programs.
 
SERVERROOT
The directory for server configuration files.
 

Product Information

The list file starts with the product information:

One incompatibility is flagged against the "printpro" package, since ESP Print Pro provides its own CUPS distribution.

Server Programs

Next comes the server programs; these are identical for all systems:

Administration Commands

The administration commands are all pretty much the same. The only difference is that IRIX needs a symlink for the lpc program in the /usr/etc directory.

User Commands

The user commands are all pretty much the same. As with the administration commands, IRIX needs the Berkeley commands linked to a different directory, /usr/bsd.

Shared Libraries

Shared libraries present their own challenges. HP-UX uses a different extension for shared libraries than other operating systems.

Directories

The CUPS distribution uses three directories to hold the log, request, and temporary files.

Data Files

CUPS has lots of data files. We use wildcards whenever possible.

Config Files

The server configuration files and directories go in $SERVERROOT. The MIME configuration files are not treated as configuration files in the distribution since new versions of CUPS may add filters and file types that are required to make CUPS work. Local file types and filters should be added using the local.types and local.convs files.

Developer Files

The developer files include the C header files and static API library.

Documentation Files

The documentation files go under $DOCDIR. Wildcards take care of most of the work.

Man Pages

Man pages are almost as much fun as initialization scripts. IRIX is the oddball of the bunch and needs packed, formatted man pages. Solaris and HP-UX follow the System V convention of using section 1m for administration commands instead of section 8 as is used for all other UNIX's.

Startup Script

The CUPS startup script is last and specifies a script name of cups. Startup and shutdown scripts will be created with the names S99cups and K00cups, respectively.