1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-01-26 14:46:14 +01:00

* add support for VM (kvm or xen) builds

* update NEWS file
This commit is contained in:
Adrian Schröter 2009-02-20 12:49:17 +00:00
parent 9bc668ce3c
commit 4369deaf10
4 changed files with 31 additions and 2 deletions

4
NEWS
View File

@ -1,6 +1,10 @@
0.114:
- osc jobhistory command added to browse the build job history of
a project or a package
- support VM builds (solves the problem of untrusted packages on your system)
- add parameter to show old build results in "rresults" call
- obsolete the need to configure download server, get it from the build
service instance instead.
0.113:
- osc diff -rX:Y: the default is to return an unified diff (to get a pretty

View File

@ -408,6 +408,8 @@ def main(opts, argv):
anyway, I assume... verifying package now saves time though, since we don't
even try to set up the buildroot if it wouldn't work."""
if config['build-type'] == "xen" or config['build-type'] == "kvm":
print 'Skipping verification of package signatures due to secure VM build'
if opts.no_verify:
print 'Skipping verification of package signatures'
else:
@ -434,13 +436,28 @@ def main(opts, argv):
bc_file.write(get_buildconfig(apiurl, prj, pac, repo, arch))
bc_file.flush()
vm_options=""
if config['build-device'] and config['build-memory'] and config['build-type']:
if config['build-type'] == "kvm":
vm_options="--kvm " + config['build-device']
elif config['build-type'] == "xen":
vm_options="--xen " + config['build-device']
else:
print "ERROR: unknown VM is set ! (" + config['build-type'] + ")"
sys.exit(1)
if config['build-swap']:
vm_options+=" --swap " + config['build-swap']
if config['build-memory']:
vm_options+=" --memory " + config['build-memory']
print 'Running build'
cmd = '%s --root=%s --rpmlist=%s --dist=%s --arch=%s %s %s' \
cmd = '%s --root=%s --rpmlist=%s --dist=%s --arch=%s %s %s %s' \
% (config['build-cmd'],
config['build-root'],
rpmlist_file.name,
bc_file.name,
bi.buildarch,
vm_options,
build_descr,
buildargs)

View File

@ -45,8 +45,14 @@ DEFAULTS = { 'apisrv': 'https://api.opensuse.org/',
'pass': 'your_password',
'packagecachedir': '/var/tmp/osbuild-packagecache',
'su-wrapper': 'su -c',
# build type settings
'build-cmd': '/usr/bin/build',
'build-type' : '', # may be empty for chroot, kvm or xen
'build-root': '/var/tmp/build-root',
'build-device': '', # required for VM builds
'build-memory' : '',# required for VM builds
'build-swap' : '', # optional for VM builds
'debug': '0',
'http_debug': '0',

View File

@ -179,7 +179,9 @@ def verify_pacs(pac_list):
Then, just start the build again.
- If the key is unavailable, you may use --no-verify (which may pose a risk).
- If you do not trust the packages, you should configure osc build for XEN or KVM
- You may use --no-verify to skip the verification (which is a risk for your system).
""" % {'name': missing_key,
'dir': os.path.expanduser('~')}