mini_buildd.api module¶
API arguments and commands.
>>> Setup(Setup.parse_command_line("--save --update --archives-from-proxy --sources bullseye --sources-from-vendor-with-lts Debian --chroots-from-sources --repositories test/Test")).command_line()
'--save --update --archives-from-proxy --sources bullseye --sources-from-vendor-with-lts Debian --chroots-from-sources --repositories test/Test'
- class mini_buildd.api.Argument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
object
Generic Argument Class.
value()
always provides a non-None
value of the specific type, either thedefault
or agiven
value.strvalue()
always provides a non-None
str
value.The
default
value is given in the constructor. For server-specific defaults, this may be function – then the default value will be computed only at run time on the server.- A
given
value can be provided via specialset()
method: Empty
str
,list
or falsebool
will yieldNone
.Non-empty
str
will be converted to the specific type.Other given values will be used as is.
Type
value() type
svalue() ex.
HTML GET
argparse
Str
str
“string”
key=string
–key “string”
Url
str
“http://..”
key=string
–key “string”
MultilineStr
str
“long”
key=string
–key “string”
Choice
str
“c0”
key=string
–key “string”
Int
int
“17”
key=string
–key “int”
Bool
bool
“True”
key=True
–key
List
list of str
“v0,v1,..”
key=v0,v1..
–key “v0” “v1”..
- VALUE_TYPE¶
alias of
str
- SERVER_DEFAULT = '<server_default>'¶
Magic string value to use as value when a default callable on the server should be used.
- classmethod s2v(str_value)¶
Convert string to value.
- classmethod v2s(value)¶
Convert value to string.
- needs_value()¶
If user input is no_value.
- choices()¶
- default()¶
- strdefault()¶
- value()¶
- strvalue()¶
- strgiven()¶
- icommand_line_given()¶
- set(given)¶
- argparse_kvsargs()¶
Python ‘argparse’ support.
- A
- class mini_buildd.api.StrArgument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
mini_buildd.api.Argument
- HTML_TYPE = 'text'¶
- argparse_kvsargs()¶
Python ‘argparse’ support.
- class mini_buildd.api.UrlArgument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
mini_buildd.api.StrArgument
- HTML_TYPE = 'url'¶
- class mini_buildd.api.MultilineStrArgument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
mini_buildd.api.StrArgument
- HTML_TYPE = 'textarea'¶
- class mini_buildd.api.ChoiceArgument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
mini_buildd.api.Argument
- HTML_TYPE = 'text'¶
- value()¶
- argparse_kvsargs()¶
Python ‘argparse’ support.
- class mini_buildd.api.IntArgument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
mini_buildd.api.StrArgument
- VALUE_TYPE¶
alias of
int
- HTML_TYPE = 'number'¶
- argparse_kvsargs()¶
Python ‘argparse’ support.
- class mini_buildd.api.BoolArgument(*args, **kwargs)¶
Bases:
mini_buildd.api.ChoiceArgument
- VALUE_TYPE¶
alias of
bool
- HTML_TYPE = 'checkbox'¶
- classmethod s2v(str_value)¶
- icommand_line_given()¶
Empty generator – bools are just command line options like
--with-foo
.
- argparse_kvsargs()¶
Python ‘argparse’ support.
- class mini_buildd.api.ListArgument(id_list, doc='Undocumented', default=None, choices=None, header=None)¶
Bases:
mini_buildd.api.StrArgument
- VALUE_TYPE¶
alias of
list
- SEPARATOR = ','¶
- classmethod s2v(str_value)¶
- classmethod v2s(value)¶
- icommand_line_given()¶
- argparse_kvsargs()¶
Python ‘argparse’ support.
- class mini_buildd.api.Repositories(id_list, **kwargs)¶
Bases:
mini_buildd.api.ListArgument
- objects()¶
- class mini_buildd.api.Codenames(id_list, **kwargs)¶
Bases:
mini_buildd.api.ListArgument
- mini_buildd.api.diststr2repository(diststr)¶
- class mini_buildd.api.Distribution(id_list, choices=Name.ACTIVE_DISTRIBUTIONS, doc='', **kwargs)¶
Bases:
mini_buildd.api.StrArgument
- class mini_buildd.api.Distributions(id_list, choices=Name.ACTIVE_DISTRIBUTIONS, **kwargs)¶
Bases:
mini_buildd.api.ListArgument
- class mini_buildd.api.Source(id_list, doc='', **kwargs)¶
Bases:
mini_buildd.api.StrArgument
- class mini_buildd.api.UploadOptions(id_list, **kwargs)¶
Bases:
mini_buildd.api.StrArgument
- class mini_buildd.api.Command(given_args=None, request=None)¶
Bases:
object
- AUTH = <mini_buildd.config.Auth object>¶
- NEEDS_RUNNING_DAEMON = False¶
- CONFIRM = False¶
- PLAIN = '__plain__'¶
- classmethod name()¶
- classmethod uri()¶
- classmethod doc()¶
- classmethod iarguments()¶
- classmethod json_pretty(result)¶
- classmethod get_plain(result)¶
- classmethod parse_command_line(command_line)¶
- icommand_line(full=False, with_user=False, user=None)¶
- command_line(full=False, with_user=False, user=None)¶
- plain()¶
- abstract run()¶
- class mini_buildd.api.Status(given_args=None, request=None)¶
Bases:
mini_buildd.api.Command
Get the status of an instance.
JSON Result:
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 not powered on.
chroots : Active chroots.
remotes : Active or auto-reactivatable remotes.
Authorization: NONE
- HEADER = 'Consume'¶
- run()¶
- classmethod has_chroot(result, codename, arch)¶
- class mini_buildd.api.PubKey(given_args=None, request=None)¶
Bases:
mini_buildd.api.Command
Get (ASCII-armored) GnuPG public key.
Authorization: NONE
- run()¶
- class mini_buildd.api.Handshake(given_args=None, request=None)¶
Bases:
mini_buildd.api.Command
Check if signed message matches a remote, reply our signed message on success.
Authorization: NONE
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.DputConf(given_args=None, request=None)¶
Bases:
mini_buildd.api.Command
Get recommended dput config snippet.
Usually, this is for integration in your personal ~/.dput.cf.
Authorization: NONE
- run()¶
- class mini_buildd.api.SourcesList(given_args=None, request=None)¶
Bases:
mini_buildd.api.Command
Get sources.list (apt lines).
Usually, this output is put to a file like ‘/etc/sources.list.d/mini-buildd-xyz.list’.
Authorization: NONE
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Ls(given_args=None, request=None)¶
Bases:
mini_buildd.api.Command
List distributions a source package is in.
Authorization: NONE
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Find(given_args=None, request=None)¶
Bases:
mini_buildd.api.Ls
Find a source package.
Like ‘ls’, but call will fail on no results.
Authorization: NONE
- run()¶
- class mini_buildd.api.List(given_args=None, request=None)¶
Bases:
mini_buildd.api._Login
,mini_buildd.api.Command
List packages (deb or src) in distributions.
This may be a very expensive operation - pick <package> and <distributions> wisely.
Authorization: LOGIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Migrate(given_args=None, request=None)¶
Bases:
mini_buildd.api._Staff
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Migrate a source package (along with all binary packages).
If run for a rollback distribution, this will perform a rollback restore.
- JSON Result (dict):
__plain__: string: textual migration log.
Authorization: STAFF
- HEADER = 'Contribute'¶
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Remove(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Remove a source package (along with all binary packages).
- JSON Result (dict):
__plain__: string: textual removal log.
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Port(given_args=None, request=None)¶
Bases:
mini_buildd.api._Staff
,mini_buildd.api._Running
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Port an internal 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.
- JSON Result (dict):
requested: list: Info string about each port that has been triggered
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: STAFF
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.PortExt(given_args=None, request=None)¶
Bases:
mini_buildd.api._Staff
,mini_buildd.api._Running
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Port an external package.
An external ‘port’ is a no-changes (i.e., only the changelog will be adapted) rebuild of any given source package.
- JSON Result (dict):
requested: list: Info string about each port that has been triggered.
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: STAFF
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Retry(given_args=None, request=None)¶
Bases:
mini_buildd.api._Staff
,mini_buildd.api._Running
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Retry a previously failed packaging.
JSON Result:
changes: Changes file that has been re-uploaded.
Authorization: STAFF
- BKEY_FORMAT = '<source>/<version>/<timecode>/source[ <arch>]'¶
- BKEY_REGEX = re.compile('[^/]+/[^/]+/[^/]+/[^/]+')¶
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Cancel(given_args=None, request=None)¶
Bases:
mini_buildd.api._Staff
,mini_buildd.api._Running
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Cancel a build. Authorization: STAFF
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.SetUserKey(given_args=None, request=None)¶
Bases:
mini_buildd.api._Login
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Set a user’s GnuPG public key.
Authorization: LOGIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Subscribe(given_args=None, request=None)¶
Bases:
mini_buildd.api._Login
,mini_buildd.api.Command
Subscribe to package (email) notifications.
Authorization: LOGIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Unsubscribe(given_args=None, request=None)¶
Bases:
mini_buildd.api.Subscribe
Unsubscribe from package (email) notifications.
Authorization: LOGIN
- run()¶
- class mini_buildd.api.Setup(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Create, update or inspect your setup.
Authorization: ADMIN
- HEADER = 'Maintain'¶
- classmethod iarguments()¶
- SETUP = {'layout': {'Debian Developer': {'options': {'experimental_mandatory_version_regex': '.*', 'extra_options': 'Meta-Distributions: unstable=sid-unstable experimental=sid-experimental\n', 'mandatory_version_regex': '.*'}, 'suites': {'experimental': {'options': {'but_automatic_upgrades': False, 'experimental': True}, 'rollback': 6}, 'stable': {'options': {'uploadable': False}, 'rollback': 6}, 'testing': {'migrates_to': 'stable', 'options': {'uploadable': False}, 'rollback': 3}, 'unstable': {'migrates_to': 'testing', 'options': {'build_keyring_package': True}, 'rollback': 9}}, 'with_rollbacks': False}, 'Default': {'suites': {'experimental': {'options': {'but_automatic_upgrades': False, 'experimental': True}, 'rollback': 6}, 'hotfix': {'migrates_to': 'stable', 'rollback': 4}, 'snapshot': {'options': {'experimental': True}, 'rollback': 12}, 'stable': {'options': {'uploadable': False}, 'rollback': 6}, 'testing': {'migrates_to': 'stable', 'options': {'uploadable': False}, 'rollback': 3}, 'unstable': {'migrates_to': 'testing', 'options': {'build_keyring_package': True}, 'rollback': 9}}, 'with_rollbacks': True}, 'Default (no rollbacks)': {'suites': {'experimental': {'options': {'but_automatic_upgrades': False, 'experimental': True}, 'rollback': 6}, 'hotfix': {'migrates_to': 'stable', 'rollback': 4}, 'snapshot': {'options': {'experimental': True}, 'rollback': 12}, 'stable': {'options': {'uploadable': False}, 'rollback': 6}, 'testing': {'migrates_to': 'stable', 'options': {'uploadable': False}, 'rollback': 3}, 'unstable': {'migrates_to': 'testing', 'options': {'build_keyring_package': True}, 'rollback': 9}}, 'with_rollbacks': False}}, 'lintian_options': {'common': ['--suppress-tags', 'bad-distribution-in-changes-file'], 'warnfail': ['--fail-on', 'error,warning']}, 'repository': {'Debian Developer': {'distribution_filter': {'base_source__codename': 'sid'}, 'layout': 'Debian Developer', 'options': {'extra_uploader_keyrings': "# Allow Debian maintainers (must install the 'debian-keyring' package)\n/usr/share/keyrings/debian-keyring.gpg\n"}}, 'Default': {'distribution_filter': {'base_source__codename__regex': '.*'}, 'layout': 'Default'}, 'Test': {'distribution_filter': {'base_source__codename__regex': '.*'}, 'layout': 'Default', 'options': {'allow_unauthenticated_uploads': True}}}, 'vendor': {'Debian': {'archive': ['http://ftp.debian.org/debian/', 'http://deb.debian.org/debian/', 'http://security.debian.org/debian-security/', 'http://deb.debian.org/debian-security/', 'http://archive.debian.org/debian/', 'http://archive.debian.org/debian-security/', 'http://archive.debian.org/debian-backports/'], 'archive_paths': ['debian', 'debian-security', 'debian-ports', 'debian-archive/debian', 'debian-archive/debian-security', 'debian-archive/debian-backports'], 'codename': {'bullseye': {'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'buster': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'jessie': {'apt_allow_unauthenticated': True, 'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'lenny': {'lintian_options': {'common': [], 'warnfail': ['--fail-on-warnings']}, 'needs_uname_26': True, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'sid': {'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'squeeze': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'stretch': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'wheezy': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}}, 'default_components': ['main', 'contrib', 'non-free'], 'distro_info': <mini_buildd.dist.DebianDistroInfo object>, 'security_codename_regex': re.compile('(^[a-z]+-security$|^[a-z]+/updates$)')}, 'Ubuntu': {'archive': ['http://archive.ubuntu.com/ubuntu/', 'http://security.ubuntu.com/ubuntu/', 'http://old-releases.ubuntu.com/ubuntu/'], 'archive_paths': ['ubuntu', 'ubuntu-old'], 'codename': {'bionic': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'produces_ddebs': True, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'eoan': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'produces_ddebs': True, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'focal': {'arch_optional': ['i386'], 'lintian_options': {'warnfail': []}, 'produces_ddebs': True, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'groovy': {'arch_optional': ['i386'], 'produces_ddebs': True, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'hirsute': {'arch_optional': ['i386'], 'produces_ddebs': True, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}, 'xenial': {'lintian_options': {'warnfail': ['--fail-on-warnings']}, 'sources': [<mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>, <mini_buildd.dist.SourceSetup object>]}}, 'default_components': ['main', 'universe', 'restricted', 'multiverse'], 'distro_info': <mini_buildd.dist.UbuntuDistroInfo object>, 'security_codename_regex': re.compile('^[a-z]+-security$')}}}¶
- x_or_create(cls, defaults=None, **kwargs)¶
- classmethod ilocal_archive_urls()¶
- classmethod iapt_cacher_archive_urls()¶
- setup_daemon()¶
- setup_archives()¶
- setup_sources()¶
- setup_chroots()¶
- setup_remotes()¶
- setup_repositories()¶
- run()¶
- mini_buildd.api.get_setup()¶
- class mini_buildd.api.Power(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Power Daemon (incoming) on or off (toggles by default).
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Wake(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Wake a remote instance.
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Cronjob(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Run a cron job now (out of schedule).
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Uploaders(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Running
,mini_buildd.api.Command
Get upload permissions for repositories.
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.SnapshotLs(given_args=None, request=None)¶
Bases:
mini_buildd.api._Running
,mini_buildd.api.Command
Get list of repository snapshots for a distribution.
- JSON Result (dict):
dict: <distribution>: [snasphot,…]: List of snapshots for the given distribution.
Authorization: NONE
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.SnapshotCreate(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Confirm
,mini_buildd.api.SnapshotLs
Create a repository snapshot.
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.SnapshotDelete(given_args=None, request=None)¶
Bases:
mini_buildd.api.SnapshotCreate
Delete a repository snapshot.
- run()¶
- class mini_buildd.api.KeyringPackages(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Running
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Build keyring packages for all active repositories.
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: ADMIN
- classmethod iarguments()¶
- classmethod upload_template_package(template_package, dist)¶
Portext macro. Used for keyring_packages and test_packages.
- run()¶
- class mini_buildd.api.TestPackages(given_args=None, request=None)¶
Bases:
mini_buildd.api._Admin
,mini_buildd.api._Running
,mini_buildd.api._Confirm
,mini_buildd.api.Command
Build internal test packages.
- JSON Result (dict):
uploaded: list of triples of all items uploaded
Authorization: ADMIN
- classmethod iarguments()¶
- run()¶
- class mini_buildd.api.Commands¶
Bases:
collections.OrderedDict
Automatically collect all commands defined in this module, and make them accessible.