1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-02-04 18:46:17 +01:00

automatic vm image setup

This commit is contained in:
Ludwig Nussel 2010-03-30 11:06:56 +02:00
parent d2a1b2eb17
commit b50d73b7d0

View File

@ -681,40 +681,42 @@ def main(opts, argv):
rpmlist_file.writelines(rpmlist) rpmlist_file.writelines(rpmlist)
rpmlist_file.flush() rpmlist_file.flush()
subst = { 'repo': repo, 'arch': arch, 'project' : prj, 'package' : pacname }
vm_options = '' vm_options = ''
# XXX check if build-device present # XXX check if build-device present
my_build_device = '' my_build_device = ''
if config['build-device']: if config['build-device']:
my_build_device = config['build-device'] % { 'repo': repo, 'arch': arch, my_build_device = config['build-device'] % subst
'project' : prj, 'package' : pacname else:
} # obs worker uses /root here but that collides with the
# /root directory if the build root was used without vm
# before
my_build_device = build_root + '/img'
if config['build-type']: if config['build-type']:
if config['build-type'] == 'kvm': if config['build-swap']:
vm_options = '--kvm ' + my_build_device my_build_swap = config['build-swap'] % subst
elif config['build-type'] == 'xen': else:
vm_options = '--xen ' + my_build_device my_build_swap = build_root + '/swap'
if config['build-type'] in ('kvm', 'xen'):
vm_options = '--%s %s' % (config['build-type'], my_build_device)
vm_options += ' --swap ' + my_build_swap
build_root += '/.mount'
elif config['build-type'] == 'lxc': elif config['build-type'] == 'lxc':
vm_options = '--lxc' vm_options = '--lxc'
else: else:
raise oscerr.WrongArgs('ERROR: unknown VM is set ! ("%s")' % config['build-type']) raise oscerr.WrongArgs('ERROR: unknown VM is set ! ("%s")' % config['build-type'])
if config['build-swap']:
my_build_swap = config['build-swap'] % { 'repo': repo, 'arch': arch,
'project' : prj, 'package' : pacname
}
vm_options += ' --swap ' + my_build_swap
if config['build-memory']: if config['build-memory']:
vm_options += ' --memory ' + config['build-memory'] vm_options += ' --memory ' + config['build-memory']
if config['build-vmdisk-autosetup']: if config['build-vmdisk-rootsize']:
if config['build-vmdisk-rootsize'] and config['build-vmdisk-swapsize']: vm_options += ' --vmdisk-rootsize ' + config['build-vmdisk-rootsize']
vm_options += ' --vmdisk-autosetup ' if config['build-vmdisk-swapsize']:
vm_options += ' --vmdisk-rootsize ' + config['build-vmdisk-rootsize'] vm_options += ' --vmdisk-swapsize ' + config['build-vmdisk-swapsize']
vm_options += ' --vmdisk-swapsize ' + config['build-vmdisk-swapsize']
if config['build-vmdisk-force']:
vm_options += ' --vmdisk-force '
print 'Running build' print 'Running build'
cmd = '"%s" --root="%s" --rpmlist="%s" --dist="%s" %s --arch=%s %s "%s" %s' \ cmd = '"%s" --root="%s" --rpmlist="%s" --dist="%s" %s --arch=%s %s %s "%s"' \
% (config['build-cmd'], % (config['build-cmd'],
build_root, build_root,
rpmlist_filename, rpmlist_filename,
@ -722,8 +724,9 @@ def main(opts, argv):
specialcmdopts, specialcmdopts,
bi.buildarch, bi.buildarch,
vm_options, vm_options,
build_descr, buildargs,
buildargs) build_descr)
if config['su-wrapper'].startswith('su '): if config['su-wrapper'].startswith('su '):
tmpl = '%s \'%s\'' tmpl = '%s \'%s\''
else: else:
@ -734,6 +737,7 @@ def main(opts, argv):
if hostarch != bi.buildarch: if hostarch != bi.buildarch:
cmd = (change_personality.get(bi.buildarch, '') + ' ' + cmd).strip() cmd = (change_personality.get(bi.buildarch, '') + ' ' + cmd).strip()
print cmd
rc = subprocess.call(cmd, shell=True) rc = subprocess.call(cmd, shell=True)
if rc: if rc:
print print