mirror of
https://github.com/openSUSE/osc.git
synced 2024-11-09 22:36:14 +01:00
Merge branch 'build-as-user' of https://github.com/adrianschroeter/osc
Allow a local build as the current user/support an empty su-wrapper config option.
This commit is contained in:
commit
4e9dde71b8
1
NEWS
1
NEWS
@ -4,6 +4,7 @@
|
||||
- add build --stage flag. Useful for example for fixing file lists and just
|
||||
running the install section to see the result of it (use --stage=i=).
|
||||
Check the help for more details.
|
||||
- allow to run build script as non-root, by setting su-wrapper empty
|
||||
|
||||
0.172.0
|
||||
- support --lastsucceeded/--last-succeeded in "osc buildlog", "osc
|
||||
|
26
osc/build.py
26
osc/build.py
@ -552,12 +552,13 @@ def run_build(opts, *args):
|
||||
cmd += args
|
||||
|
||||
sucmd = os.environ.get('OSC_SU_WRAPPER', config['su-wrapper']).split()
|
||||
if sucmd[0] == 'su':
|
||||
if sucmd[-1] == '-c':
|
||||
sucmd.pop()
|
||||
cmd = sucmd + ['-s', cmd[0], 'root', '--'] + cmd[1:]
|
||||
else:
|
||||
cmd = sucmd + cmd
|
||||
if sucmd:
|
||||
if sucmd[0] == 'su':
|
||||
if sucmd[-1] == '-c':
|
||||
sucmd.pop()
|
||||
cmd = sucmd + ['-s', cmd[0], 'root', '--'] + cmd[1:]
|
||||
else:
|
||||
cmd = sucmd + cmd
|
||||
if not opts.userootforbuild:
|
||||
cmd.append('--norootforbuild')
|
||||
return run_external(cmd[0], *cmd[1:])
|
||||
@ -1341,12 +1342,13 @@ def main(apiurl, opts, argv):
|
||||
|
||||
if need_root:
|
||||
sucmd = config['su-wrapper'].split()
|
||||
if sucmd[0] == 'su':
|
||||
if sucmd[-1] == '-c':
|
||||
sucmd.pop()
|
||||
cmd = sucmd + ['-s', cmd[0], 'root', '--' ] + cmd[1:]
|
||||
else:
|
||||
cmd = sucmd + cmd
|
||||
if sucmd:
|
||||
if sucmd[0] == 'su':
|
||||
if sucmd[-1] == '-c':
|
||||
sucmd.pop()
|
||||
cmd = sucmd + ['-s', cmd[0], 'root', '--' ] + cmd[1:]
|
||||
else:
|
||||
cmd = sucmd + cmd
|
||||
|
||||
# change personality, if needed
|
||||
if hostarch != bi.buildarch and bi.buildarch in change_personality:
|
||||
|
@ -219,6 +219,8 @@ apiurl = %(apiurl)s
|
||||
|
||||
# Wrapper to call build as root (sudo, su -, ...)
|
||||
#su-wrapper = %(su-wrapper)s
|
||||
# set it empty to run build script as user (works only with KVM atm):
|
||||
#su-wrapper =
|
||||
|
||||
# rootdir to setup the chroot environment
|
||||
# can contain %%(repo)s, %%(arch)s, %%(project)s, %%(package)s and %%(apihost)s (apihost is the hostname
|
||||
|
Loading…
Reference in New Issue
Block a user