cups-genppdupdate
Update PPD files for CUPS printers
SYNOPSIS
cups-genppdupdate [directory]
PARAMETERS
directory
Path to directory containing PPD files. Defaults to /usr/share/cups/model/.
DESCRIPTION
cups-genppdupdate scans a directory of PostScript Printer Description (PPD) files and generates a ppdupdate index file listing each PPD by name and its update identifier (a timestamp-based hash). This index enables the ppdupdate(8) command on client systems to check and fetch newer PPD versions from a server.
In networked CUPS environments, servers with the latest vendor PPDs (e.g., in /usr/share/cups/model/) run this command periodically via cron. Clients download the index and update PPDs automatically, ensuring printers support new features, fixes, or models without manual intervention.
The utility derives update IDs from PPD content, detecting changes accurately. Output is plain text, one line per PPD: PPD-Name update-id. This supports dynamic printer driver management in large deployments.
CAVEATS
Outputs to stdout; redirect to file (e.g., > ppdupdate).
Requires read access to PPD directory.
Run periodically (cron) on server for fresh index.
EXAMPLE
cups-genppdupdate /usr/share/cups/model/ > /usr/share/cups/ppdupdate
OUTPUT FORMAT
Text lines: manufacturer/model.ppd update-timestamp-hash
(One per valid PPD file found).
HISTORY
Introduced in CUPS 2.3.0 (June 2017) to enable automatic PPD updates via index files.
SEE ALSO
ppdupdate(8), cups-browsed(8), lpinfo(1)


