summaryrefslogtreecommitdiffstats
path: root/py/mock/backend.py
diff options
context:
space:
mode:
Diffstat (limited to 'py/mock/backend.py')
-rw-r--r--py/mock/backend.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/py/mock/backend.py b/py/mock/backend.py
index 3f60a08..ef4d90b 100644
--- a/py/mock/backend.py
+++ b/py/mock/backend.py
@@ -311,7 +311,6 @@ class Root(object):
(stat.S_IFCHR | 0444, os.makedev(1, 9), "dev/urandom"),
(stat.S_IFCHR | 0666, os.makedev(5, 0), "dev/tty"),
(stat.S_IFCHR | 0600, os.makedev(5, 1), "dev/console"),
- (stat.S_IFCHR | 0666, os.makedev(5, 2), "dev/ptmx"),
)
for i in devFiles:
# create node
@@ -325,6 +324,7 @@ class Root(object):
os.symlink("/proc/self/fd/0", self.makeChrootPath("dev/stdin"))
os.symlink("/proc/self/fd/1", self.makeChrootPath("dev/stdout"))
os.symlink("/proc/self/fd/2", self.makeChrootPath("dev/stderr"))
+ os.symlink("/dev/pts/ptmx", self.makeChrootPath("dev/ptmx"))
os.umask(prevMask)
# mount/umount
@@ -334,7 +334,7 @@ class Root(object):
if devUnmtCmd not in self.umountCmds:
self.umountCmds.append(devUnmtCmd)
- mountopt = 'gid=%d,mode=620' % grp.getgrnam('tty').gr_gid
+ mountopt = 'gid=%d,mode=0620,ptmxmode=0666' % grp.getgrnam('tty').gr_gid
if os.uname()[2] >= '2.6.29':
mountopt += ',newinstance'
@@ -410,6 +410,7 @@ class Root(object):
self._callHooks('earlyprebuild')
try:
+ self._setupDev()
self._mountall()
self.uidManager.becomeUser(self.chrootuid, self.chrootgid)
self.state("setup")
@@ -433,6 +434,7 @@ class Root(object):
spec = specs[0] # if there's more than one then someone is an idiot
chrootspec = spec.replace(self.makeChrootPath(), '') # get rid of rootdir prefix
# Completely/Permanently drop privs while running the following:
+
self.doChroot(
["bash", "--login", "-c", 'rpmbuild -bs --target %s --nodeps %s' % (self.rpmbuild_arch, chrootspec)],
shell=False,