NiceOS RPM dist-git source for bash-completion
Find a file
nicesoft-labs cea933031f Fixes
2026-05-03 22:43:58 +03:00
METADATA Regenerate bash-completion metadata for 2.17.0 2026-04-28 17:14:32 +03:00
SBOM Regenerate bash-completion metadata for 2.17.0 2026-04-28 17:14:32 +03:00
SOURCES Regenerate bash-completion metadata for 2.17.0 2026-04-28 17:14:32 +03:00
SPECS Fixes 2026-05-03 22:43:58 +03:00
.gitignore Sync bash-completion from NiceOS Core snapshot 2026-04-27 21:44:52 +03:00
OWNERS Sync bash-completion from NiceOS Core snapshot 2026-04-27 21:44:52 +03:00
README.md Sync bash-completion from NiceOS Core snapshot 2026-05-01 15:41:17 +03:00
README_RU.md Sync bash-completion from NiceOS Core snapshot 2026-05-01 15:41:17 +03:00

bash-completion

Overview

bash-completion provides programmable command-line completion for the Bash shell. In practice, it helps users finish commands, options, and arguments more quickly and with fewer typing errors. It is commonly packaged in Linux distributions so that shell completions can be delivered, updated, and maintained as part of the system package set rather than installed manually by each user. (github.com)

Purpose and typical use cases

Typical use cases include:

  • interactive use on workstations and servers where Bash is the login or administrative shell
  • developer environments where command completion improves daily command-line work
  • administrator environments where completion files for installed tools are expected to be available system-wide
  • packaging and CI environments that need predictable shell completion behavior during tests or integration checks

This package is most useful to people who work at the command line on a regular basis, especially administrators, developers, and maintainers of command-line tools that ship completion scripts. If a downstream tool depends on Bash completion behavior that is not obvious from the package metadata, NiceOS maintainers should verify the upstream documentation before relying on it. (github.com)

Upstream project

The upstream project is bash-completion from the scop/bash-completion repository. Its documentation describes it as a collection of programmable completion functions for Bash, along with helper functions and facilities for loading completions automatically when appropriate. (github.com)

Upstream reference points that are useful for maintainers:

Dist-git repository contents

This NiceOS dist-git repository is organized as follows:

  • SPECS/ — RPM spec files and packaging metadata
  • SOURCES/ — source-control metadata and manifests used to reference upstream sources
  • METADATA/ — repository metadata used by the packaging workflow
  • SBOM/ — software bill of materials data, when provided by the packaging process

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 dist-git repository smaller and makes the source reference data easier to review during package updates. NiceOS maintainers should still verify that the manifest entries match the intended upstream source before submitting an update.

Source storage and integrity policy

The repository follows a manifest-based source policy:

  • the Git repository stores the packaging metadata, not the full upstream archive payload
  • the SOURCES/ manifests record which upstream source content the package is expected to use
  • the actual archive is fetched or mirrored by the build workflow outside of the Git history

For package updates, maintainers should check that the source reference in SOURCES/ was refreshed intentionally and that no unintended source substitution occurred. If the upstream project changes its release layout, file naming, or source packaging conventions, the manifest may need regeneration. NiceOS maintainers should verify those details before trusting an update path.

NiceOS maintenance notes

Before updating this package, verify the following:

  • the upstream repository and release notes still describe the same project purpose
  • the spec file still installs completions to the expected locations for NiceOS
  • any files derived from upstream packaging metadata or generated build outputs are still correct after regeneration
  • the SOURCES/ manifest still points to the intended upstream source content
  • SBOM/ data, if present, still matches the packaged content
  • any distro-specific patches remain applicable and do not hide upstream changes
  • changelog or packaging notes do not assume behavior that has not been verified in the current upstream release

Main risks to consider during updates:

  • upstream layout changes that affect installed completion paths
  • generated files drifting out of sync with upstream source material
  • packaging differences between upstream build assumptions and NiceOS RPM conventions
  • accidental inclusion of files that should stay untracked or be regenerated from source

Build and verification checklist

For RPM maintainers, a practical update check usually includes:

  1. Review the upstream repository and release notes.
  2. Confirm that the source reference in SOURCES/ matches the intended upstream material.
  3. Inspect the spec file for path changes, file list changes, or new build-time requirements.
  4. Regenerate any packaging metadata that depends on upstream layout changes.
  5. Build the SRPM and RPMs in the normal NiceOS build environment.
  6. Run package installation checks and verify that completion files land in the expected locations.
  7. Test a representative Bash session or completion lookup path if the package update changes completion loading behavior.
  8. Review SBOM/ and other generated metadata for consistency, if they are part of the repository workflow.
  9. Confirm that the resulting package contents match the intended scope of the update.

References

Russian documentation

Dist-git repository notes

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