NiceOS RPM dist-git source for bats
Find a file
NiceOS DistGit Import Bot 7e8f6df033 Sync bats from NiceOS Core snapshot
EVR: 1.13.0-1
Lock-SHA256: 14832ffdb4ee90d87a2d9dde6281d5c4e574c5ed88d4146bd7695d10e8c66da5
Branch: niceos-5.2
2026-05-01 15:42:19 +03:00
METADATA Sync bats from NiceOS Core snapshot 2026-04-27 21:44:54 +03:00
SBOM Sync bats from NiceOS Core snapshot 2026-04-27 21:44:54 +03:00
SOURCES Sync bats from NiceOS Core snapshot 2026-04-27 21:44:54 +03:00
SPECS Sync bats from NiceOS Core snapshot 2026-04-27 21:44:54 +03:00
.gitignore Sync bats from NiceOS Core snapshot 2026-04-27 21:44:54 +03:00
OWNERS Sync bats from NiceOS Core snapshot 2026-04-27 21:44:54 +03:00
README.md Sync bats from NiceOS Core snapshot 2026-05-01 15:42:19 +03:00
README_RU.md Sync bats from NiceOS Core snapshot 2026-05-01 15:42:19 +03:00

bats

Overview

Bats is a Bash testing framework for writing automated tests for shell scripts and other UNIX command-line programs. It is a TAP-compliant test harness and is commonly used when a project needs lightweight tests that are easy to read and run from the command line. (bats-core.readthedocs.io)

In a Linux distribution, this package is typically useful as a test tool for developers, packagers, CI/CD maintainers, and anyone who needs to validate shell-based tooling. NiceOS should treat it as a packaged upstream utility rather than as a distribution-specific component. The exact packaging role should be verified against the distro spec if local packaging diverges from upstream. (bats-core.readthedocs.io)

Purpose and typical use cases

Typical use cases include:

  • testing Bash scripts, helper functions, and command-line wrappers
  • validating the behavior of shell-based build, install, or release automation
  • running unit-style checks in CI pipelines for projects that use shell scripting heavily
  • providing simple, readable regression tests for UNIX tools and administration scripts

Typical users include:

  • developers writing Bash code
  • RPM and distro maintainers validating package scripts
  • CI/CD maintainers who need shell test coverage
  • administrators checking custom automation or operational scripts
  • security engineers who want to test shell-based checks or policy helpers, if that fits their workflow

Upstream project

The upstream project is maintained in the bats-core GitHub organization. The project documentation describes Bats as a TAP-compliant testing framework for Bash 3.2 or above, and the current documentation has moved to Read the Docs. (github.com)

Upstream documentation and release information are the main sources NiceOS maintainers should consult when checking behavior changes, test invocation, or packaging-relevant updates. If any detail is uncertain in local packaging, maintainers should verify it against upstream before relying on it. (bats-core.readthedocs.io)

Dist-git repository contents

This dist-git repository is organized as follows:

  • SPECS/ — RPM spec files and packaging logic
  • SOURCES/ — source metadata and manifests used by the build system
  • METADATA/ — package metadata used by the distribution tooling
  • SBOM/ — software bill of materials artifacts, when present

Large upstream source archives are intentionally not stored in this Git repository. Instead, the repository keeps source integrity metadata in SOURCES manifests so that the build system can fetch and verify the required upstream sources separately. (github.com)

Source storage and integrity policy

For this package, source integrity is tracked through the manifest files stored under SOURCES/. The manifests are the stable record the maintainer should compare when updating sources or regenerating packaging metadata.

What to check:

  • whether the upstream source set still matches the manifest entries
  • whether any packaging helper files or patches need to be updated
  • whether the spec file still points to the intended upstream content
  • whether locally generated metadata needs regeneration after source changes

Do not assume a source update is safe just because the version number changed. NiceOS maintainers should always verify the manifest, spec logic, and any local patches together.

NiceOS maintenance notes

Before updating this package, maintainers should check:

  • upstream changelog and release notes for behavior changes
  • whether any tests or helper scripts in the package need adjustments
  • whether spec file conditionals, file lists, or install paths still match upstream layout
  • whether SOURCES/ manifests need regeneration because the upstream tarball or source tree changed
  • whether any SBOM/ artifacts need to be refreshed if the repository policy requires it
  • whether patch carryover is still necessary or should be dropped

Risks to consider:

  • changes in test output or test runner behavior may break package verification
  • upstream script layout changes may require spec updates
  • local patches may become stale or conflict with upstream fixes
  • source manifest mismatches can cause build or review failures

If something is unclear, NiceOS maintainers should verify it in the spec file and upstream documentation before publishing the update.

Build and verification checklist

For RPM maintenance, a practical checklist is:

  1. Review the upstream release notes and documentation.
  2. Confirm the source manifests in SOURCES/ are correct for the new upstream input.
  3. Check whether the spec file needs patch refreshes, path updates, or cleanup.
  4. Rebuild the SRPM and binary RPMs in the standard build environment.
  5. Run the package test suite if one is provided.
  6. Verify installed files, script permissions, and ownership expectations.
  7. Confirm that any generated metadata or SBOM content still matches repository policy.
  8. Review build logs for new warnings, missing files, or test regressions.

References

Russian documentation

See README_RU.md for the Russian version of this documentation.

Dist-git repository notes

  • Package repository: rpms/bats
  • NiceOS branch: niceos-5.2
  • This README is intentionally stable and does not include EVR, source archive checksums or lock hashes.