EVR: 3.2.1-1 Lock-SHA256: 2022e530d40aad084cc25cbaca9655f4f12afd13f751a25a964f554c147b0331 Branch: niceos-5.2 |
||
|---|---|---|
| METADATA | ||
| SBOM | ||
| SOURCES | ||
| SPECS | ||
| .gitignore | ||
| OWNERS | ||
| README.md | ||
| README_RU.md | ||
cstream
Overview
cstream is a general-purpose stream-handling tool from upstream, similar in spirit to dd. It is used in command-line pipelines to move, limit, generate, sink, duplicate, or report on data streams. Upstream describes it as a direct data stream tool with bandwidth limiting, FIFO support, audio-related modes, duplication support, and extended reporting. (cons.org)
In a Linux distribution, a package like this exists to provide a small standalone utility for shell pipelines, tests, data transfer experiments, and administrative tasks where a simple stream filter is useful. NiceOS maintainers should verify the exact packaging role in the repository if local patches or build options are added.
Purpose and typical use cases
Typical use cases include:
- copying or transforming data in shell pipelines
- limiting throughput for tests or controlled transfers
- generating test input or discarding output in scripted workflows
- working with FIFOs and other special file types
- reporting how much data has been transferred during long-running operations
- wrapping simple stream operations in repeatable automation for admins or CI jobs
Typical users include:
- system administrators who need a small stream utility for maintenance or troubleshooting
- developers who test pipelines, devices, or command-line data flow
- CI/CD maintainers who need predictable scripted data movement
- security engineers who may use it for controlled data handling in lab environments
Upstream project
Upstream is maintained by Martin Cracauer and the official project page is the cstream page on cons.org. Upstream describes the tool as a dd(1)-style replacement and provides a manual page and short usage notes. (cons.org)
NiceOS maintainers should use upstream documentation as the primary reference when checking behavior changes, option semantics, or packaging patches.
Dist-git repository contents
This dist-git repository is organized in the usual NiceOS RPM layout:
SPECS/— RPM spec files and packaging logicSOURCES/— source-control metadata and manifests used by the RPM build systemMETADATA/— repository metadata for the package branchSBOM/— software bill of materials material, when present in the package workflow
Large upstream source archives are intentionally not stored in this Git repository. Instead, source integrity is tracked through manifest files in SOURCES/. That keeps the repository small and makes the build inputs easier to review.
Source storage and integrity policy
The repository should contain the metadata needed to reconstruct the source set, not the full upstream archive contents.
Before updating the package, NiceOS maintainers should verify that:
- the
SOURCES/manifests still match the intended upstream source set - the upstream tarball or equivalent source material has not changed unexpectedly
- any locally maintained patches still apply cleanly
- no generated files were accidentally committed instead of source or metadata
Do not rely on any single manifest entry without checking the full build inputs and the spec file together.
NiceOS maintenance notes
Before accepting an update, check the following:
- whether upstream behavior or option handling changed in a way that affects packaging or tests
- whether the spec file still builds cleanly without hidden local assumptions
- whether any patch series needs refresh or removal
- whether documentation, license files, or install paths changed upstream
- whether any generated metadata in
SOURCES/,METADATA/, orSBOM/needs regeneration - whether the package still installs only the intended binaries, man pages, and documentation
Risks to consider:
- stream-processing tools are often used in scripts, so small behavior changes can break automation
- command-line option changes can be user-visible even when the code change is minor
- updates may alter build dependencies, manual pages, or installed file locations
Build and verification checklist
For RPM maintenance, a reasonable checklist is:
- review the upstream release notes or change log before updating
- compare the new upstream source against the current packaging patches
- verify that the spec file still references the correct source metadata in
SOURCES/ - rebuild the SRPM and binary RPMs in the target NiceOS environment
- run the package test suite if one exists
- run a basic smoke test of the installed binary, for example checking help output and a simple stream copy path
- confirm that installed files match the package manifest and that no unexpected files are added
- check that the license files and documentation are installed as expected
- inspect the generated RPM for missing or duplicate provides, files, or changelog issues
If the package has no automated tests, maintainers should document the manual verification they performed.
References
Russian documentation
See README_RU.md for the Russian version of this document.
Dist-git repository notes
- Package repository:
rpms/cstream - NiceOS branch:
niceos-5.2 - This README is intentionally stable and does not include EVR, source archive checksums or lock hashes.