Daemon stopped: Administrator may start or enter Setup for reconfiguration or bootstrap

API call index

Consumer

status: Get status of this instance Isolate

Get status of this instance

JSON result description:

  {
    "version": mini-buildd's version
    "identity": Instance identity
    "url": Instance URL (HTTP)
    "incoming_url": Incoming URL (currently FTP)
    "load": Instance's (0 =< load <= 1). If negative, the instance is stopped
    "chroots": List of active chroots
    "remotes": Active or auto-reactivatable remotes
    ["repositories": Simplified structural representation of all repositories]
  }


Authorization: NONE
Also list all repositories (may be longish)
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
pub_key: Get public key Isolate

Get public key

Get ASCII-armored GnuPG public key of this instance.

Used to sign the apt repositories (apt key) and for authorization across instances.

Authorization: NONE
dput_conf: Get recommended dput config snippet Isolate

Get recommended dput config snippet

Usually, this is for integration in your personal ``~/.dput.cf``.

Authorization: NONE
sources_list: Get sources.list (apt lines) Isolate

Get sources.list (apt lines)

Usually, this output is put to a file like ``/etc/apt/sources.list.d/mini-buildd-xyz.list``.

Authorization: NONE
Clear
Codenames (like 'buster', 'bullseye')
Clear
Repository identities (like 'test', the default sandbox repo identity)
Clear
Suite names (like 'stable', 'unstable')
Clear Paste default
Types of apt lines ('deb', 'deb-src')
Clear
Apt line options ('deb[-src] [<options>] ...'). See 'man 5 source.list'
Clear Paste default
Select (maximal) <n> rollback sources (``0``: no rollbacks, ``< 0``: all rollbacks)
Clear
Select a repository snapshot (see ``snapshot_ls``)
Clear
URL of a mirror to use (instead of mini-buildd's native URL)
Also list extra sources (non-base sources used for building)
Add comment line above apt line
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
ls: List source package Isolate

List source package

Authorization: NONE
Clear
Source package name
Clear
Repository identities (like 'test', the default sandbox repo identity)
Clear
Codenames (like 'buster', 'bullseye')
Clear
Limit to exactly this version
Clear
Limit to this version or greater
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
show: Show source package Isolate

Show source package

Authorization: NONE
Clear
Source package name
Clear
Repository identities (like 'test', the default sandbox repo identity)
Clear
Codenames (like 'buster', 'bullseye')
Clear
Limit to exactly this version
Clear
Limit to this version or greater
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
debdiff: Compare two internal source packages Isolate

Compare two internal source packages

Authorization: NONE
Clear
Source package name
Clear
Repository identity (like 'test', the default sandbox repo identity)
Clear
Version a to compare
Clear
Version b to compare
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
subscribe: Subscribe to (email) notifications Isolate

Subscribe to (email) notifications

Authorization: LOGIN
Clear
Source package name

Leave empty for all source packages
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])

Leave empty for all distributions
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
unsubscribe: Unsubscribe from (email) notifications Isolate

Unsubscribe from (email) notifications

Authorization: LOGIN
Clear
Source package name

Leave empty for all source packages
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])

Leave empty for all distributions
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
snapshot_ls: Get list of repository snapshots for a distribution Isolate

Get list of repository snapshots for a distribution

Authorization: NONE
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])

Developer

migrate: Migrate source package Isolate

Migrate source package

Migrates a source package along with all its binary packages. If
run for a rollback distribution, this will perform a rollback
restore.

Authorization: STAFF
Clear
Source package name
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])

Migrates *from* this distribution
Migrate all 'migrates_to' suites up (f.e. unstable->testing->stable)
Clear
Migrate exactly this version. Use as safeguard, or for rare cases of multiple version of the same package in one distribution (in different components)
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
port: Port internal source package Isolate

Port internal source package

An internal 'port' is a no-changes (i.e., only the changelog will be adapted)
rebuild of the given locally-installed package.

When ``from_distribution`` equals ``to_distribution``, a rebuild will be done.

Authorization: STAFF
Clear
Source package name
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])
Clear
Distribution names
Clear
Port exactly this version. Use as safeguard, or for rare cases of multiple version of the same package in one distribution (in different components)
Clear Paste default
List of upload options, separated by '|':

  (lintian|piuparts|autopkgtest)-mode[<arch>]=<mode>
    'DISABLED' (Don't run check), 'IGNORE' (Run check but ignore results), 'ERRFAIL' (Run check and fail on errors), 'WARNFAIL' (Run check and fail on warnings)
  internal-apt-priority[<arch>]=<prio>
    Apt prio for our repo packages when building (use 500 to always prefer).
  auto-ports=<dist>,...
    List of distributions (comma-separated) to automatically run ports for after successful install.
  deb-build-options[<arch>]=<option> <option>...
    Contents of DEB_BUILD_OPTIONS environment for building (see https://www.debian.org/doc/debian-policy/ch-source.html#debian-rules-and-deb-build-options).
  deb-build-profiles[<arch>]=<profile> <profile>...
    Contents of DEB_BUILD_PROFILES environment for building (see https://wiki.debian.org/BuildProfileSpec).
  add-depends[<arch>]=<dep>,<dep>...
    List of additional dependencies (comma-separated, like in ``debian/control``) (see ``sbuild --add-depends``).
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
port_ext: Port external source package Isolate

Port external source package

An external 'port' is a no-changes (i.e., only the changelog will be adapted)
rebuild of any given source package.

Authorization: STAFF
Clear
URL of any Debian source package (dsc) to port
Clear
Distribution names
Don't verify downloaded DSC against Debian keyrings (see ``man dget``)
Clear Paste default
List of upload options, separated by '|':

  (lintian|piuparts|autopkgtest)-mode[<arch>]=<mode>
    'DISABLED' (Don't run check), 'IGNORE' (Run check but ignore results), 'ERRFAIL' (Run check and fail on errors), 'WARNFAIL' (Run check and fail on warnings)
  internal-apt-priority[<arch>]=<prio>
    Apt prio for our repo packages when building (use 500 to always prefer).
  auto-ports=<dist>,...
    List of distributions (comma-separated) to automatically run ports for after successful install.
  deb-build-options[<arch>]=<option> <option>...
    Contents of DEB_BUILD_OPTIONS environment for building (see https://www.debian.org/doc/debian-policy/ch-source.html#debian-rules-and-deb-build-options).
  deb-build-profiles[<arch>]=<profile> <profile>...
    Contents of DEB_BUILD_PROFILES environment for building (see https://wiki.debian.org/BuildProfileSpec).
  add-depends[<arch>]=<dep>,<dep>...
    List of additional dependencies (comma-separated, like in ``debian/control``) (see ``sbuild --add-depends``).
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
retry: Retry a previously failed source package Isolate

Retry a previously failed source package

JSON result description:

  Changes file name that has been re-uploaded

Authorization: STAFF
Clear
Package bkey (``<source>/<version>/<timecode>/source[ <arch>]``) of a past packaging try (see ``extra.bkey`` of a failed PACKAGING event)
cancel: Cancel an ongoing package build Isolate

Cancel an ongoing package build

Authorization: STAFF
Clear
Build key (``<source>/<version>/<timecode>/<arch>`` of ongoing builds; see ``extra.bkey`` in BUILDING events)
set_user_key: Set a user's GnuPG public key Isolate

Set a user's GnuPG public key

Authorization: LOGIN
GnuPG public key; multiline inputs will be handled as ascii armored full key, one-liners as key ids
wake: Wake a remote instance Isolate

Wake a remote instance

Authorization: STAFF
Clear
Undocumented
Clear Paste default
Sleep between wake attempts
Clear Paste default
Max number attempts
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result

Administrator

remove: Remove source package Isolate

Remove source package

Removes a source package along with all its binary packages.

Authorization: ADMIN
Clear
Source package name
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])
Don't copy to rollback distribution
Clear
Remove exactly this version. Use as safeguard, or for rare cases of multiple version of the same package in one distribution (in different components)
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
remake_chroots: Remake chroots Isolate

Remake chroots

Run actions 'remove', 'prepare', 'check' and 'activate'.

Note that Daemon will be stopped before running, cancelling ongoing events (``BUILDING``, ``PACKAGING``).

Authorization: ADMIN
Clear
Chroot keys (<codename>:<arch>)
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
start: Start Daemon (accept incoming) Isolate

Start Daemon (accept incoming)

Does nothing if already started; will fail if Daemon instance is not activated.

Authorization: ADMIN
stop: Stop Daemon (stop accepting incoming) Isolate

Stop Daemon (stop accepting incoming)

Does nothing if already stopped. Any possibly running builds will be cancelled.

This state is *not persisted*. Please *deactivate* the Daemon instance via :mbdpage:`setup` to persist over *mini-buildd service* restarts.

Authorization: ADMIN
handshake: Check if signed message matches a remote, reply our signed message on success Isolate

Check if signed message matches a remote, reply our signed message on success

This is for internal use only.

Authorization: NONE
Undocumented
cronjob: Run a cron job now (out of schedule) Isolate

Run a cron job now (out of schedule)

Authorization: ADMIN
Clear
Undocumented
uploaders: Get upload permissions for repositories Isolate

Get upload permissions for repositories

Authorization: ADMIN
Clear
Repository identities (like 'test', the default sandbox repo identity)
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
snapshot_create: Create a repository snapshot Isolate

Create a repository snapshot

Authorization: ADMIN
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])
Clear
Snapshot name
snapshot_delete: Delete a repository snapshot Isolate

Delete a repository snapshot

Authorization: ADMIN
Clear
Distribution name (<codename>-<id>-<suite>[-rollback<n>])
Clear
Snapshot name
debmirror: Make local partial repository mirror via :debpkg:`debmirror` Isolate

Make local partial repository mirror via :debpkg:`debmirror`

This may be useful if you plan on publishing a stripped-down (f.e., only certain repos,
only ``stable``, omit rollbacks) variant of your repo somewhere remote.

.. error:: debmirror: ``apt update`` fails on ``experimental`` suites (contents not mirrored) (:debbug:`819925`)

  This happens only on systems where APT is configured to download contents, most likely just because
  ``apt-file`` is installed. So, the easiest workaround is::

    apt purge apt-file

  Closest to an actual fix is to install debmirror variant '+abfixes' from
  ``Hellfield Archive``, where the "bug" has been fixed (June 2023: at least
  available for bullseye and bookworm).

Authorization: ADMIN
Clear
Suite names (like 'stable', 'unstable')
Clear Paste default
Select (maximal) <n> rollback sources (``0``: no rollbacks, ``< 0``: all rollbacks)
Clear
Repository identities (like 'test', the default sandbox repo identity)
Clear Paste default
Architectures to mirror (``--arch`` in debmirror)

Usually, you just want all, so the default already lists all currently supported Debian/Ubuntu architectures (but will only mirror the architectures actually found)
Clear Paste default
Components to mirror (``--section`` in debmirror)

Usually, you just want all, so the default already lists all known Debian/Ubuntu components (but will only mirror the components actually found)
Clear Paste default
Mirror destination dir (``mirrordir`` in debmirror)

* ``{}`` will be replaced by repository identity
* Directory must be accessible by user ``mini-buildd``

*BE CAREFUL* with this value -- anything in this directory will be *HAPPILY REPLACED* by the mirror only
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
keyring_packages: Build keyring packages Isolate

Build keyring packages

.. note:: **keyring-packages**: No compat for urold (``apt-key add``)

  Since ``2.x``, keyring packages will use ``/etc/apt/trusted.gpg.d/<foo>.gpg``, not deprecated ``apt-key add <foo>``.

  In Debian, this is supported since ``wheezy (2013)``.

  For distributions ``<= squeeze`` (apt versions ``~<= 0.8.x``), you would manually have to run ``apt-key add /etc/apt/trusted.gpg.d/<foo>.gpg`` after installation of the keyring package.

Authorization: ADMIN
Clear
Distribution names
Don't migrate packages
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
test_packages: Build test packages Isolate

Build test packages

Authorization: ADMIN
Clear Paste default
Test source packages to use
Clear
Distribution names
Clear
Distribution names
Check for correct packager results
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result
setup: Create, update or inspect your setup Isolate

Create, update or inspect your setup

Note that Daemon will be stopped before running, cancelling ongoing events (``BUILDING``, ``PACKAGING``).

Authorization: ADMIN
Run Options Clear
Update existing instances; 'all' to update all, empty string to never update, <hash_id>,.. (see a previous run) to update selected instances
Clear
Prepare, check and create instances; 'all' to pca all, empty string to never pca, <hash_id>,.. (see a previous run) to pca selected instances
Daemon Clear Paste default
Instance identity (for keyring package names, dput config, ...)
Clear Paste default
FTP (incoming) network endpoint
Generic Clear
Set list of origins (a.k.a. vendors) (as per ``distro-info``, ``di``): <origin>[:lts|all],...

This will be used by ``--foo-from-origins`` options.

Per-origin modifiers:

n/a: No modifier (default): 'di-supported' codenames
lts: 'di-supported' plus 'di-lts' codenames (Note: adds 'lts', 'elts' for Debian and 'esm' for Ubuntu)
all: All codenames with a working setup from these origins (i.e., includes very old ones)
Archives Clear
Add arbitrary archives
Add original (internet) archives from ``--from-origins``
Add archives guessed from your local sources.list
Add archives guessed from a locally running apt-cacher-ng
Sources Clear
Manually select codenames to setup sources for
Add sources from ``--from-origins``
Distributions Clear
Distributions to setup ``<codename>:<arch0>[+<arch1>..]``
For architectures, you may use the special key word 'native' for this host's natively supported architectures: amd64,i386.
Example: sid:native+arm64,bullseye:native
Auto-add distributions for all given ``sources`` codenames with native architectures
Repositories Clear
Repositories to setup ``<id>:<layout>:<codename>[+<codename>..]``
Setup layouts available: Default|Default (no rollbacks)|Debian Developer
Example: test:Default:sid+bullseye,test2:Default:sid
Note that repository IDs 'test' and 'debdev' are special names with hardcoded taintings:
* ``test`` repo will be uploadable w/o authentication
* `debdev`` repo will be uploadable for Debian Developers (per installed ``debian-keyring``), and Layout 'Debian Developer' by default (``sid`` uploadable as ``unstable``)
Clear
AutoSetup these repositories with all setup sources: '<id>[:<layout>]'
Chroots Clear
Chroots to setup (uses same syntax as ``--distributions``).

.. tip:: Install :debpkg:`qemu-user-static` for seamless access to foreign archs (albeit with a speed penalty)
Auto-add chroots for all given ``sources`` codenames with native architectures
Chroot backend to use
Remotes Clear
Remotes to add. Twisted-style Network Client Endpoint

See: https://twistedmatrix.com/documents/current/core/howto/endpoints.html#clients

Notation Examples::

  'tcp:host=localhost:port=8066': Connect to localhost, unencrypted.
  'tls:host=localhost:port=8066': Connect to localhost, encrypted.
  'http://localhost:8066'       : Extra URL-style syntax (prefer twisted-style in saved configs, though).
  'localhost:8066'              : Compatibility host:port syntax (don't use -- might eventually go away).
Desired result format

html: Return result as HTML (popup with JS, else full HTML page)
plain: Plain result
json: Return raw json result