EVR: 20250512.1-1 Lock-SHA256: 2602da7ad082d3b353d86630562c87aa6fb2a346568b494222669c2720f47253 Branch: niceos-5.2 |
||
|---|---|---|
| METADATA | ||
| SBOM | ||
| SOURCES | ||
| SPECS | ||
| .gitignore | ||
| OWNERS | ||
| README.md | ||
| README_RU.md | ||
abseil-cpp
Overview
abseil-cpp packages Abseil, the C++ library collection maintained by the Abseil project. Upstream describes Abseil as a set of foundational C++ libraries drawn from Google’s internal codebase and intended to support C++ projects with practical utilities that are useful in real applications. (abseil.io)
In a Linux distribution, this package exists to provide a shared, packaged copy of those libraries so that applications can build and run against a system-managed dependency instead of vendoring their own copy. That role is inferred from the nature of the project and from standard distribution packaging practice; NiceOS maintainers should verify any package-specific integration details before relying on them. (abseil.io)
Purpose and typical use cases
Abseil is commonly used as a supporting library for C++ software that needs basic infrastructure such as strings, containers, time handling, synchronization primitives, logging helpers, hashing, and other utility components. Upstream documentation organizes the project around these kinds of building blocks and programming guides. (abseil.io)
Typical use cases include:
- building C++ applications and libraries that depend on Abseil APIs;
- packaging reverse dependencies that expect the system to provide Abseil;
- integrating C++ projects into distro build systems that prefer external, shared dependencies;
- maintaining CI/CD pipelines that rebuild software against the distro copy of Abseil.
Typical users include application developers, distribution maintainers, build and release engineers, and CI/CD maintainers. Security engineers may also care about this package when reviewing dependency updates, but this repository does not claim any special security properties beyond normal package maintenance.
Upstream project
Upstream project pages and documentation:
- Abseil home and overview: see the project site. (abseil.io)
- C++ developer documentation: quickstart, guides, platform notes, and tools. (abseil.io)
- Source repository:
abseil/abseil-cppon GitHub. (github.com)
Upstream’s documentation says the project is not meant to compete with the C++ standard library; instead, it provides utilities that solve practical needs in codebases that use Abseil. NiceOS maintainers should verify the exact upstream release and compatibility expectations that apply to the version being packaged. (abseil.io)
Dist-git repository contents
This dist-git repository is organized as follows:
SPECS/— RPM spec files and packaging metadata.SOURCES/— source manifests and integrity metadata used by the package build.METADATA/— repository metadata used by the packaging workflow.SBOM/— software bill of materials material, when present for this package.
Large upstream source archives are intentionally not stored in this Git repository. Instead, the repository keeps source-integrity tracking data in SOURCES/ manifests so that the package can be reproduced and verified without committing bulky upstream archives into Git.
Source storage and integrity policy
For this package, source integrity is tracked through the manifest files in SOURCES/. Those manifests record what source content the package expects, while the actual large upstream archives remain outside the Git repository.
Practical implications for maintainers:
- verify that
SOURCES/still matches the upstream source set you intend to package; - confirm that any added or removed source items are intentional;
- check whether the spec file or helper scripts need to be updated to consume the revised source layout;
- avoid assuming that repository contents alone are enough to rebuild the package without the source manifests.
Do not rely on local build artifacts or temporary files as source-of-truth. Use the tracked manifests and packaging metadata instead.
NiceOS maintenance notes
Before updating this package, NiceOS maintainers should review:
- upstream release notes and any packaging-relevant changes;
- whether the spec file needs refreshes for build logic, installed paths, subpackages, or bundled data handling;
- whether patches still apply cleanly or should be dropped, rebased, or replaced;
- whether
SOURCES/manifests need regeneration after source refreshes; - whether
SBOM/or other repository metadata should be updated to match the packaged content; - whether downstream consumers depend on a specific C++ API behavior or build-system layout.
Things to watch for:
- build system changes in upstream that may affect RPM packaging;
- compatibility shifts that could affect reverse dependencies;
- packaging changes that alter installed headers, libraries, or CMake metadata;
- accidental inclusion of files that should stay out of the runtime package;
- changes in upstream documentation that may require maintainer review, even if no packaging change is needed.
If any detail is unclear, NiceOS maintainers should verify it before relying on it.
Build and verification checklist
Use a checklist like this before committing an update:
- Confirm the upstream source you intend to package.
- Check that the RPM spec still describes the correct build inputs and outputs.
- Regenerate any required source manifests in
SOURCES/. - Review patches for applicability and downstream relevance.
- Verify that
SBOM/and other repository metadata are still accurate, if your packaging workflow uses them. - Build the SRPM and then the binary RPMs in a clean mock or equivalent environment.
- Inspect the build logs for new warnings, missing files, or dependency resolution issues.
- Run the package’s tests if they are available and practical in the build environment.
- Verify that the installed file set matches expectations and that no stray files were introduced.
- Check reverse dependencies if the update may affect ABI, API, or packaging metadata.
- Review the generated RPM metadata and file list before pushing the update.
References
- Abseil project home
- About Abseil
- Abseil C++ Developer Guide
- Abseil C++ Quickstart
- Abseil Compatibility Guidelines
- abseil/abseil-cpp on GitHub
Russian documentation
See README_RU.md for the Russian documentation.
Dist-git repository notes
- Package repository:
rpms/abseil-cpp - NiceOS branch:
niceos-5.2 - This README is intentionally stable and does not include EVR, source archive checksums or lock hashes.