This is an automated email from the git hooks/post-receive script. sthibault pushed a commit to branch upstream in repository hurd.
commit df66588b0f6daf99573153cb384a676ced27f0b1 Author: Justus Winter <4win...@informatik.uni-hamburg.de> Date: Tue Dec 3 17:46:58 2013 +0100 trans: fix the creation of files in fakeroot Previously, fakeroot failed to create files in certain circumstances, e. g. assuming /tmp is a tmpfs and /tmp/some_file does not exist: % cd /tmp && fakeroot-hurd /bin/sh -c ':>/tmp/some_file' /bin/sh: 1: cannot create /tmp/some_file: Is a directory Fix this by sanitizing the flags value not to contain O_WRITE if we're not at the last path component. * trans/fakeroot.c (netfs_S_dir_lookup): Strip O_WRITE from flags when looking up all but the last path component. --- trans/fakeroot.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/trans/fakeroot.c b/trans/fakeroot.c index 679e476..b6938dc 100644 --- a/trans/fakeroot.c +++ b/trans/fakeroot.c @@ -307,6 +307,10 @@ netfs_S_dir_lookup (struct protid *diruser, /* We already know about this node. */ mach_port_deallocate (mach_task_self (), idport); pthread_mutex_lock (&np->lock); + if (retry_name[0] != '\0') + /* This was not the last component, remove O_WRITE to + avoid opening directories with it. */ + flags &= ~O_WRITE; err = check_openmodes (np->nn, (flags & (O_RDWR|O_EXEC)), file); if (!err) netfs_nref (np); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hurd/hurd.git