From c1168d3fee69207c71201270ce3dac734ceb23a2 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Mon, 18 Jan 2010 14:03:18 -0600 Subject: add --unpriv logic to --shell Add logic to run with unprivleged uid:gid in interactive chroot shell. (BZ# 522505) Signed-off-by: Clark Williams --- mock.spec.in | 4 ++++ py/mock.py | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/mock.spec.in b/mock.spec.in index 2e31dac..8b91b40 100644 --- a/mock.spec.in +++ b/mock.spec.in @@ -97,11 +97,15 @@ fi %attr(02775, root, mock) %dir /var/cache/mock %changelog +* Mon Jan 18 2010 Clark Williams - 1.0.3-1 +- add logic for handling --unpriv with --shell (BZ# 522505) + * Wed Dec 23 2009 Clark Williams - 1.0.2-1 - added IPv6 localhost entry for default /etc/hosts (BZ# 545435) - removed output of gethostname() in IPv4 localhost entry as this caused koji problems and cause 'localhost' to be put into generated rpms, rather than the output of hostname +- add code to setup /dev/pts differently on EL* than on FC* hosts * Wed Nov 25 2009 Clark Williams - 1.0.1-1 - Patch from Paul Howarth to fix intermittent problems generating diff --git a/py/mock.py b/py/mock.py index 46ffbbb..f4794ac 100755 --- a/py/mock.py +++ b/py/mock.py @@ -574,7 +574,11 @@ def main(ret): chroot._setupDev() chroot._mountall() cmd = ' '.join(args) - status = os.system("PS1='mock-chroot> ' /usr/sbin/chroot %s %s" % (chroot.makeChrootPath(), cmd)) + if options.unpriv: + arg = '--userspec=%s:%s' % (chroot.chrootuid, chroot.chrootgid) + else: + arg = '' + status = os.system("PS1='mock-chroot> ' /usr/sbin/chroot %s %s %s" % (arg, chroot.makeChrootPath(), cmd)) ret['exitStatus'] = os.WEXITSTATUS(status) finally: -- cgit