EVR: 1.1.8-1 Lock-SHA256: ce3f32947bead252432b26cdb6fbea3d2703ec48fbc417ed8cdb06fc96d28fe8 Branch: niceos-5.2 |
||
|---|---|---|
| METADATA | ||
| SBOM | ||
| SOURCES | ||
| SPECS | ||
| .gitignore | ||
| OWNERS | ||
| README.md | ||
| README_RU.md | ||
cmocka
Overview
cmocka is a unit testing framework for C with support for mock objects. It is designed to help test C code in isolation, using the standard C library and a small test-focused API. The upstream project documents its API and usage as a library for writing standalone test executables. (cmocka.org)
In a Linux distribution, this package typically exists to provide the library, headers, and related development files needed by projects that build C unit tests against cmocka. NiceOS maintainers should verify the exact split of runtime and development files in the spec before making assumptions about packaging policy.
Purpose and typical use cases
Typical uses include:
- writing unit tests for C applications and libraries
- mocking functions or dependencies during isolated test runs
- running test suites in CI/CD pipelines
- validating code paths that are hard to exercise in end-to-end tests
- checking error handling and edge cases in low-level C code
The package is most relevant for developers, CI/CD maintainers, and build engineers who need a test framework for C projects. Security engineers may also encounter it when testing code that must handle invalid input or fault conditions, but the package itself should not be treated as a security product.
Upstream project
Upstream documentation describes cmocka as an elegant unit testing framework for C with mock object support. The project provides online API documentation and a public project homepage. (cmocka.org)
Canonical upstream references:
- project homepage: https://cmocka.org/
- API documentation: https://api.cmocka.org/
Dist-git repository contents
This dist-git repository is organized as follows:
SPECS/— RPM spec files and packaging logicSOURCES/— source metadata and integrity manifests used by the packaging workflowMETADATA/— repository metadata used by the dist-git toolingSBOM/— software bill of materials artifacts, when present in the packaging workflow
The repository contains packaging metadata, not a full upstream source checkout.
Source storage and integrity policy
Large upstream source archives are intentionally not stored in this Git repository. Instead, source integrity is tracked through manifest files in SOURCES/.
For maintainers, that means:
- verify that the spec still points to the correct upstream source location or source handling method
- regenerate or refresh
SOURCES/manifest data when the upstream source changes - confirm that the packaging metadata and source manifests stay in sync after updates
- avoid committing large binary source archives into the dist-git history
Do not rely on any single local file alone when reviewing an update; check the spec, manifests, and upstream release metadata together.
NiceOS maintenance notes
Before updating this package, NiceOS maintainers should verify:
- that the upstream release still matches the expected project purpose
- that the spec file does not require changes to build instructions, file lists, or subpackage handling
- whether any generated metadata in
SOURCES/,SBOM/, or related packaging files needs regeneration - whether upstream changed build tooling, test commands, or installed paths
- whether the update affects consumers that compile against the library or run tests with it
Practical risks to consider:
- test suites may need adaptation if upstream changes API behavior
- packaging files may need refresh if upstream renames build artifacts or documentation
- consumers may be sensitive to changes in compiler warnings, install locations, or CMake/Meson behavior; NiceOS maintainers should verify before relying on any assumption
Build and verification checklist
For RPM maintenance, a reasonable checklist is:
- inspect the spec diff before importing a new upstream release
- confirm that source handling and
SOURCES/manifests are updated correctly - rebuild the package in a clean mock or comparable build environment
- run the package test suite if the spec enables tests
- verify that headers, library files, and documentation are installed as expected
- check that subpackage boundaries still make sense
- review the resulting RPMs for unexpected file additions or removals
- confirm that SBOM-related artifacts, if used, are still accurate
References
Russian documentation
See README_RU.md for the Russian version of this documentation.
Dist-git repository notes
- Package repository:
rpms/cmocka - NiceOS branch:
niceos-5.2 - This README is intentionally stable and does not include EVR, source archive checksums or lock hashes.