Skip to main content

CLI for Gentoo Build Publisher

Introduction

This is a command-line interface for Gentoo Build Publisher, a system that combines Gentoo Linux and CI/CD so that updating a Gentoo predictable and consistent.

This is a pip-installable Python package:

$ pip install gbpcli

Usage

The full command set supported:

https://raw.githubusercontent.com/enku/screenshots/refs/heads/master/gbpcli/usage.svg

The URL for the Gentoo Build Publisher may be provided via the command line or by using the BUILD_PUBLISHER_URL environment variable.

Additional commands may be provided by plugins.

To list the machines which have builds use gbp machines:

https://raw.githubusercontent.com/enku/screenshots/refs/heads/master/gbpcli/machines.svg

The "Latest" column shows the latest build ID for the given machine. If the ID is in bold it that denotes that the latest build is published (available for emerges).

To list the available builds for a given machine us gbp list <machine>:

https://raw.githubusercontent.com/enku/screenshots/refs/heads/master/gbpcli/list.svg

In the above example, the P output for build 52 signifies that this build is currently published. The * flag means that the respective build has new binary packages. The K for build 1 means that the build is marked for keeping and will not be removed during the purge process. Build 52 has also been given "hello" and "world" tags. The N flag for builds means that the builds have notes attached.

https://raw.githubusercontent.com/enku/screenshots/refs/heads/master/gbpcli/status.svg

Edit/delete build notes using the gbp notes command.

The status subcommand displays metadata about a given build. If the build number is not given, it defaults to the latest build for that machine.

The diff subcommand display differences between two builds.

https://raw.githubusercontent.com/enku/screenshots/refs/heads/master/gbpcli/diff.svg

If the second build number is not given, it defaults to the latest build for that machine. If the first build number is not given, it defaults to the published build for that machine.

The publish subcommand makes the given build available for syncing and updating/downgrading.

$ gbp publish arm64-base 151

If the build number is not given, it defaults to the latest build for that machine.

The build subcommand can schedule a build in CI/CD for the given machine, e.g.:

$ gbp build babette

Configuration

In addition to the command-line flags, gbpcli can also be configured using a configuration file. If a the file ~/.config/gbpcli.toml exists it will be read and used to configure gbpcli. This file should be toml formatted. For example:

[gbpcli]
url = "http://gbpbox/"
my_machines = ["babette", "lighthouse", "polaris"]
auth = { user = "marduk", api_key = "myapikey" }

The url setting can be used in place of the --url command-line option or the BUILD_PUBLISHER_URL environment variable. The my_machines settings can be used in place of the --my-machines command-line option or the GBPCLI_MYMACHINES environment variable. The auth setting can only be supplied through the configuration file.

Metadata

Release files for gbpcli 3.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gbpcli 3.5.0
File Size Uploaded Provenance Actions
gbpcli-3.5.0.tar.gz 42.0 kB Without provenance Details for gbpcli-3.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for gbpcli 3.5.0
File Interpreter ABI Platform Actions
gbpcli-3.5.0-py3-none-any.whl Python 3 none any Details for gbpcli-3.5.0-py3-none-any.whl

Total release size: 80.9 kB

Release files / gbpcli-3.5.0.tar.gz

Download URL gbpcli-3.5.0.tar.gz
Size 42.0 kB
Tags Source
SHA-256 checksum
How to use checksums
64573bee9116004074018ddf0dba43b53b8b8430aa3276e257631d6a5d6128d3
BLAKE2b-256 checksum
How to use checksums
a1fd4bc61679f4310c5f06c238fc69c826ffbe8cf9f777f00a4105234ee433b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / gbpcli-3.5.0-py3-none-any.whl

Download URL gbpcli-3.5.0-py3-none-any.whl
Size 38.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7604c812506537bd3f0d978fc1dda9541357e47d1f992f202f44462afe7668d5
BLAKE2b-256 checksum
How to use checksums
80fffbb60a33d0154acb16e78f8e4ee26e4f351e13dedef7b3fcb8b610285721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for gbpcli 3.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page