debian-koji/plugins/hub/dud.py
2022-05-02 11:18:13 +02:00

42 lines
1.3 KiB
Python

import koji
import koji.tasks
import kojihub
from koji.context import context
from koji.plugin import export
koji.tasks.LEGACY_SIGNATURES['dudBuild'] = [
[['dud_name', 'dud_version', 'arches', 'target', 'pkg_list', 'opts'],
None, None, (None,)]]
koji.tasks.LEGACY_SIGNATURES['createDudIso'] = [
[['dud_name', 'dud_version', 'dud_release', 'arch',
'target_info', 'build_tag', 'repo_info', 'pkg_list', 'opts'],
None, None, (None,)]]
# /usr/lib/koji-hub-plugins/
@export
def dudBuild(dud_name, dud_version, arches, target, pkg_list, optional_arches=None, scratch=False,
alldeps=False, scmurl=None, priority=None):
context.session.assertPerm('image')
taskOpts = {
'channel': 'image',
}
if priority:
if priority < 0:
if not context.session.hasPerm('admin'):
raise koji.ActionNotAllowed(
'only admins may create high-priority tasks')
taskOpts['priority'] = koji.PRIO_DEFAULT + priority
opts = {
'scratch': scratch,
'alldeps': alldeps,
'scmurl': scmurl,
'optional_arches': optional_arches,
}
return kojihub.make_task('dudBuild',
[dud_name, dud_version, arches, target, pkg_list, opts],
**taskOpts)