Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 2.4 KB

File metadata and controls

63 lines (46 loc) · 2.4 KB

gomnibus-software

A library of reusable software definitions for gomnibus — the Go-based Omnibus build system. Each YAML file describes how to fetch, build, and install an upstream software component into a gomnibus install root.

CI Go version License

Usage

Add this library as a git submodule:

git submodule add https://github.com/syntaxroot-cc/gomnibus-software lib/gomnibus-software

Then point gomnibus.yaml at it. List your project's own definitions first — the registry uses first-found, so project-local definitions shadow the library:

# gomnibus.yaml
software_dirs:
  - config/software                               # project-local (takes precedence)
  - lib/gomnibus-software/config/software         # shared library

After cloning a project that uses this library:

git submodule update --init

Declare the software in your project:

# config/projects/myapp.yaml
dependencies:
  - zlib
  - openssl
  - myapp-software

Available software

Name Default version License
bzip2 1.0.8 BSD-2-Clause
cacerts 2022-10-11 MPL-2.0
curl 8.14.1 MIT
libffi 3.4.6 MIT
libyaml 0.2.5 MIT
ncurses 6.4 MIT
openssl 3.3.1 OpenSSL
zlib 1.3.1 Zlib

Contributing

See CONTRIBUTING.md. Enable the pre-commit gofmt hook after cloning:

git config core.hooksPath .githooks

To add a new definition, create config/software/<name>.yaml following the gomnibus software YAML schema. The CI suite validates that all definitions parse correctly, all URL sources have checksums, and all declared dependencies exist in the library.