Make sure /dev/pts/ptmx is world-writable
While running Python 3’s test suite, we noticed that on some systems /dev/pts/ptmx is created with permissions 0 (that’s the case with my Nixpkgs-originating 3.0.43 kernel, but someone with a Debian-originating 3.10-3 reported not having this problem.) There’s still the problem that people without CONFIG_DEVPTS_MULTIPLE_INSTANCES=y are screwed (as noted in build.cc), but I don’t see how we could work around it.
This commit is contained in:
parent
ac6ceea764
commit
e7720aa10a
1 changed files with 4 additions and 0 deletions
|
@ -2086,6 +2086,10 @@ void DerivationGoal::initChild()
|
||||||
if (mount("none", (chrootRootDir + "/dev/pts").c_str(), "devpts", 0, "newinstance,mode=0620") == -1)
|
if (mount("none", (chrootRootDir + "/dev/pts").c_str(), "devpts", 0, "newinstance,mode=0620") == -1)
|
||||||
throw SysError("mounting /dev/pts");
|
throw SysError("mounting /dev/pts");
|
||||||
createSymlink("/dev/pts/ptmx", chrootRootDir + "/dev/ptmx");
|
createSymlink("/dev/pts/ptmx", chrootRootDir + "/dev/ptmx");
|
||||||
|
|
||||||
|
/* Make sure /dev/pts/ptmx is world-writable. With some
|
||||||
|
Linux versions, it is created with permissions 0. */
|
||||||
|
chmod_(chrootRootDir + "/dev/pts/ptmx", 0666);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do the chroot(). Below we do a chdir() to the
|
/* Do the chroot(). Below we do a chdir() to the
|
||||||
|
|
Loading…
Reference in a new issue