implement multilib
This commit is contained in:
parent
8f638935b6
commit
4f4c7e3d4e
4 changed files with 276 additions and 96 deletions
24
cli/koji
24
cli/koji
|
|
@ -7091,7 +7091,7 @@ def handle_signed_repo(options, session, args):
|
|||
help=_('Create delta-rpms. PATH points to (older) rpms to generate against. May be specified multiple times. These have to be reachable by the builder too, so the path needs to reach shared storage.'))
|
||||
parser.add_option('--event', type='int',
|
||||
help=_('create a signed repository based on a Brew event'))
|
||||
parser.add_option('--multilib', action='store_true', default=None,
|
||||
parser.add_option('--multilib', default=None,
|
||||
help=_('Include multilib packages in the repository using a config'))
|
||||
parser.add_option("--noinherit", action='store_true', default=False,
|
||||
help=_('Do not consider tag inheritance'))
|
||||
|
|
@ -7111,6 +7111,7 @@ def handle_signed_repo(options, session, args):
|
|||
parser.error(_('could not find %s' % task_opts.comps))
|
||||
session.uploadWrapper(task_opts.comps, stuffdir,
|
||||
callback=_progress_callback)
|
||||
print
|
||||
task_opts.comps = os.path.join(stuffdir,
|
||||
os.path.basename(task_opts.comps))
|
||||
if len(task_opts.delta_rpms) > 0:
|
||||
|
|
@ -7119,13 +7120,6 @@ def handle_signed_repo(options, session, args):
|
|||
print _("Warning: %s is not reachable locally. If this" % path)
|
||||
print _(" host does not have access to Koji's shared storage")
|
||||
print _(" this can be ignored.")
|
||||
if task_opts.multilib:
|
||||
if not os.path.exists(task_opts.multilib):
|
||||
parser.error(_('could not find %s' % task_opts.multilib))
|
||||
session.uploadWrapper(task_opts.multilib, stuffdir,
|
||||
callback=_progress_callback)
|
||||
task_opts.comps = os.path.join(stuffdir,
|
||||
os.path.basename(task_opts.multilib))
|
||||
tag = args[0]
|
||||
keys = args[1:]
|
||||
taginfo = session.getTag(tag)
|
||||
|
|
@ -7139,6 +7133,20 @@ def handle_signed_repo(options, session, args):
|
|||
for a in task_opts.arch:
|
||||
if not taginfo['arches'] or a not in taginfo['arches']:
|
||||
print _('Warning: %s is not in the list of tag arches' % a)
|
||||
if task_opts.multilib:
|
||||
if not os.path.exists(task_opts.multilib):
|
||||
parser.error(_('could not find %s' % task_opts.multilib))
|
||||
if 'x86_64' in task_opts.arch and not 'i686' in task_opts.arch:
|
||||
parser.error(_('The multilib arch (i686) must be included'))
|
||||
if 's390x' in task_opts.arch and not 's390' in task_opts.arch:
|
||||
parser.error(_('The multilib arch (s390) must be included'))
|
||||
if 'ppc64' in task_opts.arch and not 'ppc' in task_opts.arch:
|
||||
parser.error(_('The multilib arch (ppc) must be included'))
|
||||
session.uploadWrapper(task_opts.multilib, stuffdir,
|
||||
callback=_progress_callback)
|
||||
task_opts.multilib = os.path.join(stuffdir,
|
||||
os.path.basename(task_opts.multilib))
|
||||
print
|
||||
try:
|
||||
task_opts.arch.remove('noarch') # handled specifically
|
||||
task_opts.arch.remove('src') # ditto
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue