NiceOS RPM dist-git source for bison
Find a file
NiceOS DistGit Import Bot 5208191aa6 Sync bison from NiceOS Core snapshot
EVR: 3.8.2-1
Lock-SHA256: 2167ca7f67412fabb0e0b3571d6b9dec8c681fc32b905d077a350d208e84884d
Branch: niceos-5.2
2026-05-01 15:45:39 +03:00
METADATA Sync bison from NiceOS Core snapshot 2026-04-27 21:44:58 +03:00
SBOM Sync bison from NiceOS Core snapshot 2026-04-27 21:44:58 +03:00
SOURCES Sync bison from NiceOS Core snapshot 2026-04-27 21:44:58 +03:00
SPECS Sync bison from NiceOS Core snapshot 2026-04-27 21:44:58 +03:00
.gitignore Sync bison from NiceOS Core snapshot 2026-04-27 21:44:58 +03:00
OWNERS Sync bison from NiceOS Core snapshot 2026-04-27 21:44:58 +03:00
README.md Sync bison from NiceOS Core snapshot 2026-05-01 15:45:39 +03:00
README_RU.md Sync bison from NiceOS Core snapshot 2026-05-01 15:45:39 +03:00

bison

Overview

Bison is GNUs parser generator. It reads a grammar description and produces parser code that can be used in software which needs to recognize and process structured text. In practice, it is used when a project defines a language, file format, command syntax, or another grammar that needs a parser rather than a hand-written token loop.

In a Linux distribution, the package exists so build systems and downstream projects can generate parsers in a reproducible way during packaging or development. NiceOS maintainers should treat this package as a build tool, not as an end-user application.

Purpose and typical use cases

Typical use cases include:

  • generating parsers for programming languages and language tools
  • building compilers, interpreters, and analyzers
  • processing configuration or command languages with a formal grammar
  • regenerating parser sources during package builds when the upstream project ships grammar files instead of generated C or C++ sources
  • maintaining compatibility with projects that still use Yacc-style grammar input

Typical users include:

  • package maintainers
  • upstream developers working on parser-based software
  • build and CI/CD maintainers who regenerate parser sources as part of the pipeline
  • developers who need to inspect or update grammar rules
  • security or review engineers who want to understand what code is generated from a grammar, though this package itself is a build-time tool rather than a security component

Upstream project

The upstream project is GNU Bison, the Yacc-compatible parser generator from the GNU Project. The official manual describes it as a parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR parser. It is intended for people writing parsers in languages such as C, C++, D, or Java. (gnu.org)

For full upstream documentation, see the GNU Bison manual and project page. (gnu.org)

Dist-git repository contents

This dist-git repository contains the packaging metadata needed to build the RPM package in NiceOS:

  • SPECS/ — RPM spec files and related packaging logic
  • SOURCES/ — source metadata and manifest files used to track upstream source content
  • METADATA/ — repository metadata used by the packaging workflow
  • SBOM/ — software bill of materials material, when present in this packaging layout

Large upstream source archives are intentionally not stored in this Git repository. Instead, source integrity is tracked through manifest files in SOURCES/, so the repository stays small and only records the packaging metadata needed to fetch and verify upstream sources.

Source storage and integrity policy

NiceOS packages should rely on the manifests in SOURCES/ to identify and verify the expected upstream source content. The exact source archive contents are not kept in the Git tree.

Before updating the package, maintainers should confirm that:

  • the upstream source still matches the manifest expectations
  • the source selection logic in the spec file still points to the intended upstream release or snapshot
  • any generated files in the package are still current and were produced by the expected toolchain
  • the package still builds from clean sources without relying on untracked local files

If any source-manifest or generated-file workflow is unclear, NiceOS maintainers should verify it before relying on the package update.

NiceOS maintenance notes

When updating this package, check at least the following:

  • whether the upstream grammar, generated parser interfaces, or command-line behavior changed in a way that affects downstream builds
  • whether any patch carried by NiceOS is still needed, or whether it should be refreshed or dropped
  • whether the spec file needs regeneration of auxiliary packaging files, macros, or build-time metadata
  • whether the package still produces the expected outputs for dependent packages
  • whether generated parser sources should be rebuilt during the package update or kept in sync with upstream policy
  • whether any change in the upstream release may affect compatibility with downstream projects that use Bison-generated parsers

Risks to consider:

  • parser generator updates may change generated output in ways that affect reproducible builds or downstream diffs
  • changes to grammar handling can surface latent issues in dependent packages
  • build-time tool updates may require coordinated rebuilds of packages that generate parsers during their own build process

Build and verification checklist

For RPM maintenance, a practical update check is:

  1. Review the upstream release notes and manual for changes that affect parser generation behavior. (gnu.org)
  2. Confirm that the source manifests in SOURCES/ reflect the intended upstream content.
  3. Rebuild the package in a clean environment.
  4. Check that the spec file still installs files in the expected locations.
  5. Verify that the build completes without pulling in undeclared local files.
  6. Run any available upstream or downstream test suite for the package.
  7. If dependent packages regenerate parsers, rebuild or at least sanity-check a representative subset of those dependents.
  8. Review the resulting RPMs and build logs for unexpected generated-file changes.

If upstream documentation or packaging rules change, NiceOS maintainers should verify the checklist and adjust it rather than assuming it stays valid forever.

References

Russian documentation

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

Dist-git repository notes

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