| METADATA | ||
| SBOM | ||
| SOURCES | ||
| SPECS | ||
| .gitignore | ||
| OWNERS | ||
| README.md | ||
| README_RU.md | ||
cups
Overview
CUPS, the Common UNIX Printing System, is an open source printing system used on Unix-like systems. It provides a printing scheduler, command-line tools, a web interface, and APIs for sending jobs and managing printers. In practice, it is the part of the printing stack that applications and administrators use to submit jobs, inspect queues, and configure printing behavior. (github.com)
For a Linux distribution, this package is the packaged upstream CUPS implementation and related integration points needed for system printing. NiceOS maintainers should verify the exact split of subpackages and helper files in this branch before relying on repository-local assumptions.
Purpose and typical use cases
Typical uses of CUPS include:
- desktop printing from applications that hand jobs to the system print service;
- administrator workflows for creating, inspecting, and modifying printer queues;
- command-line printing through tools such as
lpandlpr; - integration with software that talks to CUPS through its C API or IPP-based interfaces. (github.com)
Typical users include:
- system administrators who maintain printer queues and service configuration;
- desktop users who print through their graphical applications;
- developers who build applications or tools against CUPS interfaces;
- CI/CD or packaging maintainers who need to verify that the service builds, installs, and starts cleanly in a distro environment.
Upstream project
Upstream is maintained by OpenPrinting. The project homepage and source repository are the primary references for CUPS documentation and development information. (github.com)
The upstream project provides the current CUPS sources, documentation, and release information. NiceOS maintainers should check the upstream release notes and documentation when updating this package, especially if the update changes build options, documentation layout, or runtime behavior. (github.com)
Dist-git repository contents
This dist-git repository is organized as follows:
SPECS/— RPM spec files and packaging metadata;SOURCES/— source integrity metadata and manifests used by the packaging workflow;METADATA/— repository metadata maintained by the dist-git workflow;SBOM/— software bill of materials data, when provided for the package.
Large upstream source archives are intentionally not stored in this Git repository. Instead, the repository keeps the metadata needed to refer to those sources and verify them during packaging workflows.
Source storage and integrity policy
The SOURCES/ directory is the place to look for source manifests and related integrity metadata. This repository does not carry the full upstream tarballs in Git, and it does not rely on long-lived version-specific hashes in the README.
For package updates, NiceOS maintainers should verify that:
- the source manifest matches the upstream source selected for the update;
- any source-list or manifest entries were refreshed correctly;
- no expected source file was added, removed, or renamed upstream without a packaging review;
- the package still builds from the declared sources without fetching undeclared content during the build.
NiceOS maintenance notes
Before updating this package, check the following:
- compare the new upstream release notes with the current packaging assumptions;
- confirm whether build scripts, generated files, or documentation need regeneration;
- review spec file conditionals, subpackage definitions, and file lists for stale paths;
- check whether the update changes service behavior, default configuration, or installation paths;
- review whether local patches are still needed, can be dropped, or need rebasing;
- confirm that the upstream documentation still matches the packaged build layout.
Risks to consider:
- upstream may change generated files or build system behavior;
- file lists may drift when upstream renames binaries, man pages, or docs;
- packaging may depend on scripts or manifests that need refresh after source changes;
- printer-related software often interacts with system services, so runtime verification matters even when the build succeeds.
Build and verification checklist
A practical RPM maintenance checklist for this package:
- review the spec file for source, build, and install path changes;
- verify that the source manifests in
SOURCES/were updated as expected; - run a clean build in the target mock or buildroot environment;
- check that the package installs all expected files and no unexpected files;
- inspect generated subpackages, libraries, binaries, man pages, and config files;
- run the package test or smoke-test set available in the branch, if any;
- confirm that the service or helper binaries start and respond as expected in the distro environment;
- review the build logs for warnings about missing dependencies, disabled features, or changed install locations;
- if documentation or generated artifacts changed upstream, verify that the packaged copies are still correct.
References
Russian documentation
See README_RU.md for the Russian version of this document.
Dist-git repository notes
- Package repository:
rpms/cups - NiceOS branch:
niceos-5.2 - This README is intentionally stable and does not include EVR, source archive checksums or lock hashes.