mini_buildd.models package

Submodules

mini_buildd.models.base module

Generic module for models of the django app mini_buildd.

Naming conventions

Model class and field names

All model class names and all field names must be human readable with no abbrevations (as django, per default, displays the internal names intelligently to the end user).

Model class names must be in CamelCase.

Field names must be all lowercase and seperatedy by underscores.

For example, don’t try to do sort of “grouping” using names like:

email_notify
email_allow_regex

This should rather read:

notify
allow_emails_to

To group fields together for the end user, use AdminModel’s fieldset option.

Methods

Methods that represent mini-buildd logic should go into the models directly, but must be prefixed with “mbd_”. This avoids conflicts with method names form the django model’s class, but still keeps the logic where it belongs.

class mini_buildd.models.base.Model(*args, **kwargs)

Bases: django.db.models.base.Model

Abstract father model for all mini-buildd models.

This just makes sure no config is changed or deleted while the daemon is running.

class Admin(model, admin_site)

Bases: django.contrib.admin.options.ModelAdmin

delete_model(request, obj)
media
save_model(request, obj, form, change)
class Meta

Bases: object

abstract = False
app_label = u'mini_buildd'
extra_options

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

classmethod mbd_get_daemon()
mbd_get_dependencies()
mbd_get_extra_option(key, default=None)
mbd_get_extra_options()
classmethod mbd_get_or_create(msglog, **kwargs)

Like get_or_create, but adds a info message.

mbd_get_pickled_data(default=None)
mbd_get_reverse_dependencies()
mbd_set_pickled_data(data)
mbd_set_pickled_data_pickled(pickled_data)
classmethod mbd_validate_regex(regex, value, field_name)
pickled_data

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.base.StatusModel(*args, **kwargs)

Bases: mini_buildd.models.base.Model

Abstract model class for all models that carry a status. See Manual: Configuration.

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

actions = [<function mbd_action_prepare>, <function mbd_action_check>, <function mbd_action_pc>, <function mbd_action_activate>, <function mbd_action_pca>, <function mbd_action_deactivate>, <function mbd_action_remove>]
colored_status(obj)
list_display = [u'colored_status', u'__unicode__']
classmethod mbd_action(request, queryset, action, **kwargs)

Try to run action on each object in queryset, emit error message on failure, but don’t fail ourself.

mbd_action_activate(request, queryset)
mbd_action_check(request, queryset)
mbd_action_deactivate(request, queryset)
mbd_action_pc(request, queryset)
mbd_action_pca(request, queryset)
mbd_action_prepare(request, queryset)
mbd_action_remove(request, queryset)
classmethod mbd_activate(request, obj)
classmethod mbd_check(request, obj, force=False, needs_activation=False)
classmethod mbd_deactivate(request, obj)
classmethod mbd_meta_pca_all(msglog)

Run prepare, check, and activate for all objects of this model

classmethod mbd_prepare(request, obj)
classmethod mbd_remove(request, obj)
media
save_model(request, obj, form, change)
CHECK_CHANGED = datetime.datetime(1, 1, 2, 0, 0, tzinfo=<UTC>)
CHECK_FAILED = datetime.datetime(1, 1, 3, 0, 0, tzinfo=<UTC>)
CHECK_NONE = datetime.datetime(1, 1, 1, 0, 0, tzinfo=<UTC>)
CHECK_REACTIVATE = datetime.datetime(1, 1, 4, 0, 0, tzinfo=<UTC>)
CHECK_STRINGS = {datetime.datetime(1, 1, 1, 0, 0, tzinfo=<UTC>): {u'char': u'-', u'string': u'Unchecked -- please run check'}, datetime.datetime(1, 1, 2, 0, 0, tzinfo=<UTC>): {u'char': u'*', u'string': u'Changed -- please prepare again'}, datetime.datetime(1, 1, 3, 0, 0, tzinfo=<UTC>): {u'char': u'x', u'string': u'Failed -- please fix and check again'}, datetime.datetime(1, 1, 4, 0, 0, tzinfo=<UTC>): {u'char': u'A', u'string': u'Failed in active state -- will auto-activate when check succeeds again'}}
LETHAL_DEPENDENCIES = True
class Meta

Bases: mini_buildd.models.base.Meta

abstract = False
STATUS_ACTIVE = 2
STATUS_CHOICES = ((0, u'Removed'), (1, u'Prepared'), (2, u'Active'))
STATUS_COLORS = {0: {u'bg': u'red', u'fg': u'black'}, 1: {u'bg': u'yellow', u'fg': u'black'}, 2: {u'bg': u'green', u'fg': u'white'}}
STATUS_PREPARED = 1
STATUS_REMOVED = 0
auto_reactivate

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

days_until_recheck

Field temporarily implemented as extra_option.

Note

Currently using 6 days as default value – as it copes better with the current setup to restart mini-buildd weekly (via cron.weekly) to actually achieve automated checking.

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
last_checked

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

classmethod mbd_get_active()
classmethod mbd_get_active_or_auto_reactivate()
mbd_get_check_display(typ=u'string')
classmethod mbd_get_prepared()
mbd_get_status_display(typ=u'string')
mbd_is_active()
mbd_is_changed()
mbd_is_checked()
mbd_is_prepared()
mbd_needs_check()
mbd_set_changed(request)
status

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mini_buildd.models.chroot module

class mini_buildd.models.chroot.BtrfsSnapshotChroot(*args, **kwargs)

Bases: mini_buildd.models.chroot.Chroot

Btrfs Snapshot chroot backend.

class Admin(model, admin_site)

Bases: mini_buildd.models.chroot.Admin

fieldsets = [(u'Chroot identity', {u'fields': ((u'source', u'architecture'), u'personality', u'personality_override')}), (u'Extra options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u'\n<b>Supported extra options</b>\n<p><kbd>Debootstrap-Command: ALT_COMMAND</kbd>: Alternate command to run instead of standard debootstrap.</p>\n<p>\nFor example, <kbd>Debootstrap-Command: /usr/sbin/qemu-debootstrap</kbd> may be used to produce <em>armel</em>\nchroots (with <kbd>qemu-user-static</kbd> installed).\n</p>\n'})]
classmethod mbd_meta_add_base_sources(msglog)
media
exception DoesNotExist

Bases: mini_buildd.models.chroot.DoesNotExist

exception MultipleObjectsReturned

Bases: mini_buildd.models.chroot.MultipleObjectsReturned

chroot_ptr

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

restaurant.place is a ForwardOneToOneDescriptor instance.

chroot_ptr_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

classmethod mbd_backend_flavor()
mbd_get_chroot_dir()
mbd_get_post_sequence()
mbd_get_pre_sequence()
mbd_get_schroot_conf()
mbd_get_snapshot_dir()
objects = <django.db.models.manager.Manager object>
class mini_buildd.models.chroot.Chroot(id, extra_options, pickled_data, status, last_checked, auto_reactivate, source, architecture, personality, personality_override)

Bases: mini_buildd.models.base.StatusModel

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

fieldsets = [(u'Chroot identity', {u'fields': ((u'source', u'architecture'), u'personality', u'personality_override')}), (u'Extra options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u'\n<b>Supported extra options</b>\n<p><kbd>Debootstrap-Command: ALT_COMMAND</kbd>: Alternate command to run instead of standard debootstrap.</p>\n<p>\nFor example, <kbd>Debootstrap-Command: /usr/sbin/qemu-debootstrap</kbd> may be used to produce <em>armel</em>\nchroots (with <kbd>qemu-user-static</kbd> installed).\n</p>\n'})]
get_readonly_fields(_request, obj=None)

Forbid change source/arch on existing chroot (we would loose the path to the associated data).

classmethod mbd_host_architecture()
media
readonly_fields = [u'personality']
search_fields = [u'source__codename', u'architecture__name']
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

PERSONALITIES = {u'i386': u'linux32'}
architecture

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

architecture_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

btrfssnapshotchroot

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

place.restaurant is a ReverseOneToOneDescriptor instance.

dirchroot

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

place.restaurant is a ReverseOneToOneDescriptor instance.

filechroot

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

place.restaurant is a ReverseOneToOneDescriptor instance.

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

lvmchroot

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

place.restaurant is a ReverseOneToOneDescriptor instance.

mbd_backend_check(request)

Subclasses may implement this to do extra backend-specific checks.

mbd_check(request)
mbd_check_sudo_workaround(request)

mini-buildd <= 1.0.4 created chroots with a “sudo workaround” for bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=607228.

Suche chroots must be recreated, and no longer used.

mbd_get_backend()
mbd_get_dependencies()
mbd_get_keyring_file()

Holds all keys from the source to verify the release via debootstrap’s –keyring option.

mbd_get_name()
mbd_get_path()
mbd_get_pre_sequence()

Subclasses may implement this to do define an extra preliminary sequence.

mbd_get_schroot_conf_file()
mbd_get_sequence()
mbd_get_system_schroot_conf_file()
mbd_get_tmp_dir()
mbd_prepare(request)
mbd_remove(request)
mbd_sync(request)
objects = <django.db.models.manager.Manager object>
personality

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

personality_override

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

source

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

source_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.chroot.DirChroot(*args, **kwargs)

Bases: mini_buildd.models.chroot.Chroot

Dir chroot backend.

class Admin(model, admin_site)

Bases: mini_buildd.models.chroot.Admin

fieldsets = [(u'Chroot identity', {u'fields': ((u'source', u'architecture'), u'personality', u'personality_override')}), (u'Extra options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u'\n<b>Supported extra options</b>\n<p><kbd>Debootstrap-Command: ALT_COMMAND</kbd>: Alternate command to run instead of standard debootstrap.</p>\n<p>\nFor example, <kbd>Debootstrap-Command: /usr/sbin/qemu-debootstrap</kbd> may be used to produce <em>armel</em>\nchroots (with <kbd>qemu-user-static</kbd> installed).\n</p>\n'}), (u'Dir options', {u'fields': (u'union_type',)})]
classmethod mbd_meta_add_base_sources(msglog)
media
exception DoesNotExist

Bases: mini_buildd.models.chroot.DoesNotExist

exception MultipleObjectsReturned

Bases: mini_buildd.models.chroot.MultipleObjectsReturned

UNION_AUFS = 0
UNION_CHOICES = ((0, u'aufs'), (1, u'overlayfs'), (2, u'unionfs'), (3, u'overlay'))
UNION_OVERLAY = 3
UNION_OVERLAYFS = 1
UNION_UNIONFS = 2
chroot_ptr

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

restaurant.place is a ForwardOneToOneDescriptor instance.

chroot_ptr_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

get_union_type_display(*moreargs, **morekwargs)
mbd_backend_flavor()
mbd_get_chroot_dir()
mbd_get_post_sequence()
mbd_get_schroot_conf()
objects = <django.db.models.manager.Manager object>
union_type

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.chroot.FileChroot(*args, **kwargs)

Bases: mini_buildd.models.chroot.Chroot

File chroot backend.

class Admin(model, admin_site)

Bases: mini_buildd.models.chroot.Admin

fieldsets = [(u'Chroot identity', {u'fields': ((u'source', u'architecture'), u'personality', u'personality_override')}), (u'Extra options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u'\n<b>Supported extra options</b>\n<p><kbd>Debootstrap-Command: ALT_COMMAND</kbd>: Alternate command to run instead of standard debootstrap.</p>\n<p>\nFor example, <kbd>Debootstrap-Command: /usr/sbin/qemu-debootstrap</kbd> may be used to produce <em>armel</em>\nchroots (with <kbd>qemu-user-static</kbd> installed).\n</p>\n'}), (u'File options', {u'fields': (u'compression',)})]
classmethod mbd_meta_add_base_sources(msglog)
media
COMPRESSION_BZIP2 = 2
COMPRESSION_CHOICES = ((0, u'no compression'), (1, u'gzip'), (2, u'bzip2'), (3, u'xz'))
COMPRESSION_GZIP = 1
COMPRESSION_NONE = 0
COMPRESSION_XZ = 3
exception DoesNotExist

Bases: mini_buildd.models.chroot.DoesNotExist

exception MultipleObjectsReturned

Bases: mini_buildd.models.chroot.MultipleObjectsReturned

TAR_ARGS = {0: [], 1: [u'--gzip'], 2: [u'--bzip2'], 3: [u'--xz']}
TAR_SUFFIX = {0: u'tar', 1: u'tar.gz', 2: u'tar.bz2', 3: u'tar.xz'}
chroot_ptr

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

restaurant.place is a ForwardOneToOneDescriptor instance.

chroot_ptr_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

compression

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

get_compression_display(*moreargs, **morekwargs)
mbd_backend_flavor()
mbd_get_post_sequence()
mbd_get_schroot_conf()
mbd_get_tar_file()
objects = <django.db.models.manager.Manager object>
class mini_buildd.models.chroot.LVMChroot(*args, **kwargs)

Bases: mini_buildd.models.chroot.Chroot

LVM chroot backend.

class Admin(model, admin_site)

Bases: mini_buildd.models.chroot.Admin

fieldsets = [(u'Chroot identity', {u'fields': ((u'source', u'architecture'), u'personality', u'personality_override')}), (u'Extra options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u'\n<b>Supported extra options</b>\n<p><kbd>Debootstrap-Command: ALT_COMMAND</kbd>: Alternate command to run instead of standard debootstrap.</p>\n<p>\nFor example, <kbd>Debootstrap-Command: /usr/sbin/qemu-debootstrap</kbd> may be used to produce <em>armel</em>\nchroots (with <kbd>qemu-user-static</kbd> installed).\n</p>\n'}), (u'LVM options', {u'fields': (u'volume_group', u'filesystem', u'snapshot_size')})]
classmethod mbd_meta_add_base_sources(msglog)
media
exception DoesNotExist

Bases: mini_buildd.models.chroot.DoesNotExist

exception MultipleObjectsReturned

Bases: mini_buildd.models.chroot.MultipleObjectsReturned

chroot_ptr

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

restaurant.place is a ForwardOneToOneDescriptor instance.

chroot_ptr_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

filesystem

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

looplvmchroot

Accessor to the related object on the reverse side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

place.restaurant is a ReverseOneToOneDescriptor instance.

mbd_backend_check(request)
mbd_backend_flavor()
mbd_get_lvm_device()
mbd_get_post_sequence()
mbd_get_pre_sequence()
mbd_get_schroot_conf()
mbd_get_volume_group()
objects = <django.db.models.manager.Manager object>
snapshot_size

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

volume_group

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.chroot.LoopLVMChroot(*args, **kwargs)

Bases: mini_buildd.models.chroot.LVMChroot

Loop LVM chroot backend.

class Admin(model, admin_site)

Bases: mini_buildd.models.chroot.Admin

fieldsets = [(u'Chroot identity', {u'fields': ((u'source', u'architecture'), u'personality', u'personality_override')}), (u'Extra options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u'\n<b>Supported extra options</b>\n<p><kbd>Debootstrap-Command: ALT_COMMAND</kbd>: Alternate command to run instead of standard debootstrap.</p>\n<p>\nFor example, <kbd>Debootstrap-Command: /usr/sbin/qemu-debootstrap</kbd> may be used to produce <em>armel</em>\nchroots (with <kbd>qemu-user-static</kbd> installed).\n</p>\n'}), (u'LVM options', {u'fields': (u'volume_group', u'filesystem', u'snapshot_size')}), (u'Loop options', {u'fields': (u'loop_size',)})]
classmethod mbd_meta_add_base_sources(msglog)
media
exception DoesNotExist

Bases: mini_buildd.models.chroot.DoesNotExist

exception MultipleObjectsReturned

Bases: mini_buildd.models.chroot.MultipleObjectsReturned

loop_size

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

lvmchroot_ptr

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

restaurant.place is a ForwardOneToOneDescriptor instance.

lvmchroot_ptr_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_backend_flavor()
mbd_get_backing_file()
mbd_get_loop_device()
mbd_get_pre_sequence()
mbd_get_volume_group()
objects = <django.db.models.manager.Manager object>

mini_buildd.models.daemon module

class mini_buildd.models.daemon.Daemon(id, extra_options, pickled_data, status, last_checked, auto_reactivate, identity, hostname, email_address, gnupg_template, gnupg_keyserver, ftpd_bind, ftpd_options, build_queue_size, sbuild_jobs, smtp_server, allow_emails_to, custom_hooks_directory, show_last_packages, show_last_builds, wait_for_build_results, keep_build_results)

Bases: mini_buildd.models.base.StatusModel

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

fieldsets = ((None, {u'fields': (), u'description': u'The daemon instance. There is always exactly one instance of this.\n\nprepare/remove actions will generate/remove the GnuPG key.\n'}), (u'Archive identity', {u'fields': ((u'identity', u'hostname', u'email_address'), u'gnupg_template')}), (u'FTP (incoming) Options', {u'fields': (u'ftpd_bind', u'ftpd_options')}), (u'Load Options', {u'fields': (u'build_queue_size', u'sbuild_jobs')}), (u'E-Mail Options', {u'fields': (u'smtp_server', u'notify', u'allow_emails_to')}), (u'Other Options', {u'fields': (u'gnupg_keyserver', u'custom_hooks_directory', u'show_last_packages', u'show_last_builds')}))
filter_horizontal = (u'notify',)
media
readonly_fields = [u'smtp_server', u'ftpd_options', u'custom_hooks_directory']
save_model(request, obj, form, change)

Always update date the daemon object to model.

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

LETHAL_DEPENDENCIES = False
exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

allow_emails_to

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

build_queue_size

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

clean(*args, **kwargs)
custom_hooks_directory

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

email_address

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

ftpd_bind

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

ftpd_options

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
gnupg_keyserver

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

gnupg_template

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

hostname

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

identity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

keep_build_results

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_check(request)

Just warn in case there are no repos and no chroots.

mbd_fullname
mbd_get_archive_origin()
mbd_get_dependencies()

All active or to-be active repositories, remotes and chroots.

mbd_get_dput_conf()
mbd_get_ftp_hopo()
mbd_get_ftp_url()
mbd_get_http_hopo()
mbd_get_http_url()
mbd_get_pub_key()
mbd_gnupg
mbd_gnupg_fingerprint
mbd_gnupg_long_id
mbd_notify(subject, body, repository=None, changes=None, distribution=None, msglog=<logging.Logger object>)
mbd_prepare(request)
mbd_remove(request)
classmethod mbd_sync(request)
notify

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

objects = <django.db.models.manager.Manager object>
sbuild_jobs

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

show_last_builds

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

show_last_packages

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

smtp_server

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

wait_for_build_results

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mini_buildd.models.gnupg module

class mini_buildd.models.gnupg.AptKey(id, extra_options, pickled_data, status, last_checked, auto_reactivate, key_id, key, key_long_id, key_created, key_expires, key_name, key_fingerprint)

Bases: mini_buildd.models.gnupg.GnuPGPublicKey

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

clean(*args, **kwargs)
get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
source_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.gnupg.GnuPGPublicKey(*args, **kwargs)

Bases: mini_buildd.models.base.StatusModel

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

exclude = (u'extra_options',)
media
readonly_fields = [u'key_long_id', u'key_created', u'key_expires', u'key_name', u'key_fingerprint']
search_fields = [u'key_id', u'key_long_id', u'key_name', u'key_fingerprint']
class Meta

Bases: mini_buildd.models.base.Meta

abstract = False
app_label = u'mini_buildd'
clean(*args, **kwargs)
get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
key

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

key_created

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

key_expires

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

key_fingerprint

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

key_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

key_long_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

key_name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_check(_request)

Checks that we actually have the key and long_id. This should always be true after “prepare”.

classmethod mbd_filter_key(key_id)
mbd_prepare(_request)
mbd_remove(_request)
mbd_sync(request)
class mini_buildd.models.gnupg.KeyringKey(*args, **kwargs)

Bases: mini_buildd.models.gnupg.GnuPGPublicKey

Abtract class for GnuPG keys that influence the daemon’s keyring.

This basically means changes to remotes and users may be done on the fly (without stopping the daemon), to make this maintenance practically usable.

class Admin(model, admin_site)

Bases: mini_buildd.models.gnupg.Admin

media
class Meta

Bases: mini_buildd.models.base.Meta

abstract = False
app_label = u'mini_buildd'
get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
class mini_buildd.models.gnupg.Remote(extra_options, pickled_data, status, last_checked, auto_reactivate, key_id, key, key_long_id, key_created, key_expires, key_name, key_fingerprint, http, wake_command)

Bases: mini_buildd.models.gnupg.KeyringKey

class Admin(model, admin_site)

Bases: mini_buildd.models.gnupg.Admin

media
readonly_fields = [u'key_long_id', u'key_created', u'key_expires', u'key_name', u'key_fingerprint', u'key', u'key_id', u'pickled_data']
search_fields = [u'key_id', u'key_long_id', u'key_name', u'key_fingerprint', u'http']
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
http

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_check(request)

Check whether the remote mini-buildd is up, running and serving for us.

mbd_get_status(update=False)
mbd_prepare(request)
mbd_remove(request)
objects = <django.db.models.manager.Manager object>
wake_command

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.gnupg.Uploader(id, extra_options, pickled_data, status, last_checked, auto_reactivate, key_id, key, key_long_id, key_created, key_expires, key_name, key_fingerprint, user)

Bases: mini_buildd.models.gnupg.KeyringKey

class Admin(model, admin_site)

Bases: mini_buildd.models.gnupg.Admin

filter_horizontal = (u'may_upload_to',)
media
readonly_fields = [u'key_long_id', u'key_created', u'key_expires', u'key_name', u'key_fingerprint', u'user']
search_fields = [u'key_id', u'key_long_id', u'key_name', u'key_fingerprint', u'user__username']
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

may_upload_to

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

objects = <django.db.models.manager.Manager object>
user

Accessor to the related object on the forward side of a one-to-one relation.

In the example:

class Restaurant(Model):
    place = OneToOneField(Place, related_name='restaurant')

restaurant.place is a ForwardOneToOneDescriptor instance.

user_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mini_buildd.models.gnupg.cb_create_user_profile(sender, instance, created, **kwargs)

Automatically create a user profile with every user that is created

mini_buildd.models.msglog module

Message log: Logs that should also go to the end user.

An instance of MsgLog may replace the standard (python) log; logs will also go to the django messaging system, and it also stores the logs so they might used for other (non-django) uses.

Logs done via MsgLog (aka “messages”) are intended for the end user, to be shown in an UI (for us, the django web app or the command line client).

Log coding idioms to be used:

# Optional: Alias for MsgLog class in modules where we need it
from mini_buildd.models.msglog import MsgLog

# Always: Global standard LOG object, directly after imports)
LOG = logging.getLogger(__name__)

# Standard log
LOG.info("blah blah")

# Message log
MsgLog(LOG, request).info("Dear user: blah blah")
class mini_buildd.models.msglog.MsgLog(pylog, request)

Bases: object

critical(msg)
debug(msg)
error(msg)
exception(msg)
info(msg)
classmethod level2django(level)

Map standard python log levels to django’s.

log(level, msg)
log_text(text, level=20)
warn(msg)

mini_buildd.models.repository module

class mini_buildd.models.repository.ArchitectureOption(id, extra_options, pickled_data, architecture, distribution, optional, build_architecture_all)

Bases: mini_buildd.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

architecture

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

architecture_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

build_architecture_all

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

clean(*args, **kwargs)
distribution

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

distribution_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
optional

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.repository.ArchitectureOptionInline(parent_model, admin_site)

Bases: django.contrib.admin.options.TabularInline

exclude = (u'extra_options',)
extra = 1
media
model

alias of ArchitectureOption

class mini_buildd.models.repository.Distribution(id, extra_options, pickled_data, base_source, build_dep_resolver, apt_allow_unauthenticated, lintian_mode, lintian_extra_options, piuparts_mode, piuparts_extra_options, piuparts_root_arg, chroot_setup_script, sbuildrc_snippet)

Bases: mini_buildd.models.base.Model

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

fieldsets = ((u'Basics', {u'fields': (u'base_source', u'extra_sources', u'components')}), (u'Build options', {u'fields': (u'build_dep_resolver', u'apt_allow_unauthenticated', u'lintian_mode', u'lintian_extra_options')}), (u'Chroot setup options', {u'fields': (u'chroot_setup_script', u'sbuildrc_snippet'), u'classes': (u'collapse',)}), (u'Extra Options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u"\n<b>Supported extra options</b>\n<p><em>Internal-APT-Priority: N</em>: Set APT priority for internal apt sources in builds.</p>\n<p>\nThe default is 1, which means you will only build against newer\npackages in our own repositories in case it's really needed by\nthe build dependencies. This is the recommended behaviour,\nproducing sparse dependencies.\n</p>\n<p>\nHowever, some packages with incorrect build dependencies might\nbreak anyway, while they would work fine when just build against\nthe newest version available.\n</p>\n<p>\nSo, in case you don't care about sparse dependencies, you can\npimp the internal priority up here.\n</p>\n<p>\n<em>Example</em>:\n<kbd>Internal-APT-Priority: 500</kbd>: Always build against newer internal packages.\n</p>\n"}))
filter_horizontal = (u'extra_sources', u'components')
inlines = (<class 'mini_buildd.models.repository.ArchitectureOptionInline'>,)
classmethod mbd_meta_add_base_sources(msglog)

Add default distribution objects for all base sources found.

media
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

LINTIAN_CHOICES = ((0, u"Don't run lintian"), (1, u'Run lintian'), (2, u'Run lintian and fail on errors'), (3, u'Run lintian and fail on warnings'))
LINTIAN_DISABLED = 0
LINTIAN_FAIL_ON_ERROR = 2
LINTIAN_FAIL_ON_WARNING = 3
LINTIAN_RUN_ONLY = 1
exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

PIUPARTS_CHOICES = ((0, u"Don't run piuparts"), (1, u'Run piuparts'), (2, u'Run piuparts and fail on errors'), (3, u'Run piuparts and fail on warnings'))
PIUPARTS_DISABLED = 0
PIUPARTS_FAIL_ON_ERROR = 2
PIUPARTS_FAIL_ON_WARNING = 3
PIUPARTS_RUN_ONLY = 1
RESOLVER_APT = 0
RESOLVER_APTITUDE = 1
RESOLVER_CHOICES = ((0, u'apt'), (1, u'aptitude'), (2, u'internal'))
RESOLVER_INTERNAL = 2
apt_allow_unauthenticated

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

architectureoption_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

architectures

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

base_source

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

base_source_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

build_dep_resolver

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

chroot_setup_script

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

components

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

extra_sources

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

get_build_dep_resolver_display(*moreargs, **morekwargs)
get_lintian_mode_display(*moreargs, **morekwargs)
get_piuparts_mode_display(*moreargs, **morekwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

lintian_extra_options

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

lintian_mode

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_get_apt_line(repository, suite_option, rollback=None, prefix=u'deb ')
mbd_get_apt_preferences(repository, suite_option, internal_apt_priority_override=None)
mbd_get_apt_sources_list(repository, suite_option)
mbd_get_archall_architectures()
mbd_get_architectures(show_opt_flag=False)
mbd_get_components()
mbd_get_mandatory_architectures()
mbd_get_reverse_dependencies()

When the distribution changes, all repos that use that distribution also change.

mbd_get_sbuildrc_snippet(arch)
objects = <django.db.models.manager.Manager object>
piuparts_extra_options

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

piuparts_mode

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

piuparts_root_arg

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

repository_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

sbuildrc_snippet

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.repository.EmailAddress(extra_options, pickled_data, address, name)

Bases: mini_buildd.models.base.Model

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

exclude = (u'extra_options',)
media
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

address

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

daemon_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
repository_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.repository.Layout(extra_options, pickled_data, name, default_version, mandatory_version_regex, experimental_default_version, experimental_mandatory_version_regex)

Bases: mini_buildd.models.base.Model

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

fieldsets = ((u'Basics', {u'fields': (u'name',)}), (u'Version Options', {u'fields': (u'default_version', u'mandatory_version_regex', u'experimental_default_version', u'experimental_mandatory_version_regex'), u'classes': (u'collapse',)}), (u'Extra Options', {u'fields': (u'extra_options',), u'classes': (u'collapse',), u'description': u"\n<b>Supported extra options</b>\n<p><em>Meta-Distributions: META=CODENAME-SUITE[ META=CODENAME-SUITE[...</em>: Support METAs alone as distribution identifier.</p>\n<p>\nMeta distribution identifiers should be unique across all\nrepositories; usually, a layout with meta distributions should\nonly be used by at most one repository.\n</p>\n<p>\n<em>Example</em>:\n<kbd>Meta-Distributions: unstable=sid-unstable experimental=sid-experimental</kbd>\n(see standard layout 'Debian Developer'), to allow upload/testing of\npackages (to unstable,experimental,..) aimed for Debian.\n</p>\n"}))
inlines = (<class 'mini_buildd.models.repository.SuiteOptionInline'>,)
classmethod mbd_meta_create_defaults(msglog)

Create default layouts and suites.

media
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

default_version

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

experimental_default_version

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

experimental_mandatory_version_regex

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mandatory_version_regex

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_get_default_version(repository, distribution, suite_option)
mbd_get_mandatory_version_regex(repository, distribution, suite_option)
mbd_get_reverse_dependencies()

When the layout changes, all repos that use that layout also change.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
repository_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

suiteoption_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

suites

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.repository.Repository(extra_options, pickled_data, status, last_checked, auto_reactivate, identity, layout, allow_unauthenticated_uploads, extra_uploader_keyrings, notify_changed_by, notify_maintainer, reprepro_morguedir, external_home_url)

Bases: mini_buildd.models.base.StatusModel

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

fieldsets = ((u'Basics', {u'fields': (u'identity', u'layout', u'distributions', u'allow_unauthenticated_uploads', u'extra_uploader_keyrings')}), (u'Notify and extra options', {u'fields': (u'notify', u'notify_changed_by', u'notify_maintainer', u'reprepro_morguedir', u'external_home_url')}))
filter_horizontal = (u'distributions', u'notify')
get_readonly_fields(_request, obj=None)

Forbid change identity on existing repository.

classmethod mbd_meta_add_debdev(msglog)

Add developer repository ‘debdev’, only for sid.

classmethod mbd_meta_add_sandbox(msglog)

Add sandbox repository ‘test’.

classmethod mbd_meta_build_keyring_packages(msglog)
classmethod mbd_meta_build_test_packages(msglog)
media
readonly_fields = []
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

allow_unauthenticated_uploads

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

clean(*args, **kwargs)
distributions

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

external_home_url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

extra_uploader_keyrings

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
identity

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

layout

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

layout_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_build_keyring_packages(request)
mbd_build_test_packages(request)
mbd_check(request)
mbd_distribution_strings(**suiteoption_filter)

Return a list with all full distributions strings, optionally matching a suite options filter (unstable, experimental,…).

mbd_get_apt_keys(distribution)
mbd_get_dependencies()
mbd_get_description(distribution, suite_option)
mbd_get_dsc_url(distribution, package, version)

Get complete DSC URL of an installed package.

mbd_get_internal_suite_dependencies(suite_option)
mbd_get_meta_distributions(distribution, suite_option)
mbd_get_path()
mbd_get_uploader_keyring()
mbd_package_find(package, distribution=None, version=None)
mbd_package_install(distribution, suite_option, changes, bresults)

Install a dict arch:bres of successful build results.

mbd_package_list(pattern, typ=None, with_rollbacks=False, dist_regex=u'')
mbd_package_migrate(package, distribution, suite, rollback=None, version=None, msglog=<logging.Logger object>)
mbd_package_notify(status, distribution, pkg, body, extra=None, message=None, msglog=<logging.Logger object>)
mbd_package_precheck(distribution, suite_option, package, version)
mbd_package_purge_orphaned_logs(package=None, msglog=<logging.Logger object>)
mbd_package_remove(package, distribution, suite, rollback=None, version=None, msglog=<logging.Logger object>)
mbd_package_show(package)

Result is of the form:

[(CODENAME, [{“distribution”: DIST,
“component”: COMPONENT, “source”: PKG_NAME, “sourceversion”: VERSION, “migrates_to”: DIST, “uploadable”: BOOL, “experimental”: BOOL, “sort_no”: NO, “rollbacks”: [{“no”: 0, “distribution”: DIST, “source”: PKG_NAME, “sourceversion”: VERS0}, …]}])]
mbd_prepare(_request)

Idempotent repository preparation. This may be used as-is as mbd_sync.

mbd_remove(_request)
mbd_sync(request)
notify

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

notify_changed_by

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

notify_maintainer

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
reprepro_morguedir

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

uploader_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.repository.Suite(id, extra_options, pickled_data, name)

Bases: mini_buildd.models.base.Model

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

exclude = (u'extra_options',)
media
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

clean(*args, **kwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

layout_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
suiteoption_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.repository.SuiteOption(id, extra_options, pickled_data, layout, suite, uploadable, experimental, migrates_to, build_keyring_package, auto_migrate_after, not_automatic, but_automatic_upgrades)

Bases: mini_buildd.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

auto_migrate_after

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

build_keyring_package

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

but_automatic_upgrades

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

clean(*args, **kwargs)
experimental

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

layout

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

layout_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_get_apt_pin(repository, distribution)
mbd_get_apt_preferences(repository, distribution, prio=1)
mbd_get_distribution_string(repository, distribution, rollback=None)
mbd_get_sort_no()

Compute number that may be used to sort suites from ‘stable’ (0) towards ‘experimental’.

migrates_to

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

migrates_to_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

not_automatic

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
rollback

Rollback field temporarily implemented as extra_option.

suite

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

suite_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

suiteoption_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

uploadable

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.repository.SuiteOptionInline(parent_model, admin_site)

Bases: django.contrib.admin.options.TabularInline

extra = 1
media
model

alias of SuiteOption

mini_buildd.models.repository.get_meta_distribution_map()

Get a dict of the meta distributions: meta -> actual.

mini_buildd.models.repository.map_incoming_distribution(incoming_dist)

Map incoming distribution to internal.

mini_buildd.models.source module

class mini_buildd.models.source.Architecture(extra_options, pickled_data, name)

Bases: mini_buildd.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

architectureoption_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

chroot_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

distribution_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

classmethod mbd_host_architecture()
classmethod mbd_supported_architectures(arch=None)

Some archs also natively support other archs.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
source_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.source.Archive(extra_options, pickled_data, url, ping)

Bases: mini_buildd.models.base.Model

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

exclude = (u'extra_options',)
classmethod mbd_meta_add_debian(msglog)

Add internet Debian archive sources.

classmethod mbd_meta_add_from_sources_list(msglog)

Scan local sources list and add all archives found there.

classmethod mbd_meta_add_ubuntu(msglog)

Add internet Ubuntu archive sources.

media
search_fields = [u'url']
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

clean(*args, **kwargs)
mbd_get_matching_release(request, source, gnupg)
mbd_get_reverse_dependencies()

Return all sources (and their deps) that use us.

mbd_ping(request)

Ping and update the ping value.

objects = <django.db.models.manager.Manager object>
ping

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

source_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.source.Component(extra_options, pickled_data, name)

Bases: mini_buildd.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

distribution_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

name

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
source_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class mini_buildd.models.source.PrioritySource(id, extra_options, pickled_data, source, priority)

Bases: mini_buildd.models.base.Model

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

exclude = (u'extra_options',)
classmethod mbd_meta_add_extras(msglog)

Add all backports as prio=1 prio sources

media
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

distribution_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_get_apt_preferences()
objects = <django.db.models.manager.Manager object>
priority

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

source

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

source_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class mini_buildd.models.source.Source(id, extra_options, pickled_data, status, last_checked, auto_reactivate, origin, codename, description, codeversion, codeversion_override)

Bases: mini_buildd.models.base.StatusModel

class Admin(model, admin_site)

Bases: mini_buildd.models.base.Admin

fieldsets = ((u'Identity', {u'fields': (u'origin', u'codename', u'extra_options', u'apt_keys')}), (u'Extra', {u'fields': (u'description', u'codeversion', u'codeversion_override', u'archives', u'components', u'architectures'), u'classes': (u'collapse',)}))
filter_horizontal = (u'apt_keys',)
get_readonly_fields(_request, obj=None)

Forbid to change identity on existing source (usually a bad idea; repos/chroots that refer to us may break).

list_display = [u'colored_status', u'__unicode__', u'origin', u'codeversion', u'codename']
classmethod mbd_filter_active_base_sources()

Filter active base sources; needed in chroot and distribution wizards.

classmethod mbd_meta_add_debian(msglog)

Add well-known Debian sources.

To display the key ids via apt-key in the format as used here:

apt-key adv --list-public-keys --keyid-format=long
classmethod mbd_meta_add_ubuntu(msglog)

Add well-known Ubuntu sources.

media
ordering = [u'origin', u'-codeversion', u'codename']
readonly_fields = [u'codeversion', u'archives', u'components', u'architectures', u'description']
search_fields = [u'origin', u'codeversion', u'codename']
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

apt_keys

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

architectures

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

archives

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

chroot_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

codename

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

codeversion

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

codeversion_override

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

components

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

distribution_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

get_next_by_last_checked(*moreargs, **morekwargs)
get_previous_by_last_checked(*moreargs, **morekwargs)
get_status_display(*moreargs, **morekwargs)
id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

mbd_check(request)

Rescan all archives, and check that there is at least one working.

mbd_get_apt_line(distribution, prefix=u'deb ')
mbd_get_apt_line_raw(components, prefix=u'deb ')
mbd_get_apt_pin()

Apt ‘pin line’ (for use in a apt ‘preference’ file).

mbd_get_archive()

Returns the fastest archive.

mbd_get_dependencies()
mbd_get_reverse_dependencies()

Return all chroots and repositories that use us.

mbd_is_matching_release(request, release)

Check that this release file matches us.

mbd_prepare(request)
mbd_release_file_values()

Compute a dict of values a matching release file must have.

mbd_remove(_request)
mbd_sync(request)
objects = <django.db.models.manager.Manager object>
origin

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

prioritysource_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

mini_buildd.models.source.cmp_components(component0, component1)

Get Debian components as string in a suitable order – i.e., ‘main’ should be first, the others in alphabetical order.

Basically only needed for reprepro’s (broken?) default component guessing, which uses the first given component in the configuration.

mini_buildd.models.subscription module

class mini_buildd.models.subscription.Subscription(id, extra_options, pickled_data, subscriber, package, distribution)

Bases: mini_buildd.models.base.Model

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

distribution

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

objects = <django.db.models.manager.Manager object>
package

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

subscriber

Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

subscriber_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Module contents

Django modules package.

All models must provide a an admin meta class as ‘Model.Admin’.

mini_buildd.models.import_all()

Call this after your django app is configured.