Skip to main content

Gentoo Build Publisher Command-Line Interface

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gbpcli-3.4.0.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gbpcli-3.4.0-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

Details for the file gbpcli-3.4.0.tar.gz.

File metadata

  • Download URL: gbpcli-3.4.0.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for gbpcli-3.4.0.tar.gz
Algorithm Hash digest
SHA256 0262cf88f23653470c04e5dc401397c6862a6de4fe5f34ae4eb8506f0f66a1bf
MD5 c9165a158c57454c2a8b87ef2e452d2f
BLAKE2b-256 141aeb706fb1eaa56e2fafd541ea600266b6e1409d504dc62117f05effe3df9d

See more details on using hashes here.

File details

Details for the file gbpcli-3.4.0-py3-none-any.whl.

File metadata

  • Download URL: gbpcli-3.4.0-py3-none-any.whl
  • Upload date:
  • Size: 38.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for gbpcli-3.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be55b84a69f9debf40a82715fd984416ed1a6a071cd62f905fdd1c26d5c8bc38
MD5 38cff7f1dbc5de3ee1ada6e0168ac0e4
BLAKE2b-256 19f51eab706b03fd2a9bb7c850d3b9d04cccabc731660a939ab5167fa0d38933

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page