EVR: 7.0.3-1 Lock-SHA256: 82e39e10eb184bdab43e7a87fbca6ca5929d6e7403571383308564d3e635e3c2 Branch: niceos-5.2 |
||
|---|---|---|
| METADATA | ||
| SBOM | ||
| SOURCES | ||
| SPECS | ||
| .gitignore | ||
| OWNERS | ||
| README.md | ||
| README_RU.md | ||
bc
Overview
bc is a command-line arbitrary-precision calculator. It is useful when you need numeric calculations that go beyond the precision of ordinary shell arithmetic or when you want a programmable calculator that can be driven from scripts and interactive sessions. The exact feature set depends on the upstream implementation packaged by NiceOS, so maintainers should verify upstream behavior before relying on implementation-specific details.
In a Linux distribution, bc is typically packaged as a small utility that can be used directly by administrators, developers, CI/CD jobs, and other automation that needs repeatable numeric evaluation. The package name and the upstream project name may differ in implementation details across distributions, but the practical role is the same: provide a calculator tool that scripts can call without pulling in a large runtime.
Purpose and typical use cases
Typical uses include:
- quick calculations in the shell
- scripted arithmetic in build, packaging, or release workflows
- simple numeric checks in test automation
- ad hoc conversions or formula evaluation on administrative systems
- interactive calculations when a user wants a programmable calculator instead of a desktop app
Typical users include:
- system administrators who need dependable command-line arithmetic
- developers writing shell scripts or build scripts
- CI/CD maintainers who want a predictable numeric tool in pipelines
- security engineers who may use it in verification or analysis scripts
- desktop users who prefer a terminal calculator for lightweight tasks
Upstream project
The upstream project for this package is bc. Public documentation for bc describes it as an arbitrary precision numeric processing language and provides the reference manual for the command. NiceOS maintainers should verify the exact upstream project pages that apply to this package before making packaging assumptions, especially if the upstream hosting changes.
Dist-git repository contents
This dist-git repository contains the packaging metadata and build files needed to produce the RPM package:
SPECS/— RPM spec file(s) and packaging logicSOURCES/— source integrity manifests and related metadata used by the build systemMETADATA/— repository metadata used by the dist-git workflowSBOM/— 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 identify and verify the expected sources.
Source storage and integrity policy
NiceOS tracks source integrity through manifest files in SOURCES/. Those manifests are used to record which upstream source artifacts are expected for the package build.
Maintainers should treat the manifests as the source-of-truth for source selection and verification. Do not assume that all upstream files are committed directly to Git, and do not rely on ad hoc local copies when reviewing package updates.
NiceOS maintenance notes
Before updating this package, NiceOS maintainers should check:
- whether the upstream release changes command behavior, command-line options, or output formatting
- whether the spec file needs changes for new build requirements, install paths, or file lists
- whether
SOURCES/manifests need regeneration because the upstream source set changed - whether any entries in
SBOM/or other metadata files need to be refreshed - whether downstream patches still apply cleanly and are still needed
- whether the package still builds against the branch toolchain and macros used in NiceOS
Risks to consider during an update:
- silent behavior changes in arithmetic or parsing
- script compatibility issues if upstream syntax or defaults changed
- packaging drift if file ownership, docs, or install locations changed
- build failures caused by changed build systems or generated files
If any upstream detail is uncertain, NiceOS maintainers should verify it before relying on it.
Build and verification checklist
A practical RPM maintainer checklist:
- review the upstream release notes and changelog for behavior changes
- confirm the expected source artifacts and update the
SOURCES/manifests if needed - inspect the spec diff for dependency, build, or install-path changes
- verify the package still builds cleanly in the target branch environment
- run the package test suite if one exists and is enabled upstream or downstream
- check that the installed files match expectations and no unintended files were added
- validate that documentation and license files are packaged correctly
- perform a basic runtime check, such as a simple arithmetic expression and a script invocation
- review generated metadata, including
SBOM/, if your packaging workflow regenerates it
References
Russian documentation
See README_RU.md for the Russian version of this document.
Dist-git repository notes
- Package repository:
rpms/bc - NiceOS branch:
niceos-5.2 - This README is intentionally stable and does not include EVR, source archive checksums or lock hashes.