On Tue, Nov 6, 2018 at 6:58 PM Christian Kujau <li...@nerdbynature.de> wrote: > FWIW, the issue I reported back in 2013[0] was not an ill-configured NFS > export, but a read-only NFS export (and then a read-write exported NFS > export, but the user compiling the kernel did not have write permission) > and so "test -w .git" did not help in determining if the source tree can > actually written to. And depending on the user's shell[1], this may or may > not still be the case.
What do you mean, "depending on the user's shell"? AFAICT, it's not really a shell-specific question, since POSIX defines '-w': http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html (I highly doubt we care about a non-POSIX /bin/sh.) But the dash man-page you point at is correctly noting that 'test -w' isn't sufficient for noticing a read-only mount (i.e., you have permissions, but the mount isn't writeable). Contrary to what Guenter said in his reply, our build isn't actually off a read-only mount -- it's just running without these write permissions, so 'test -w' will do the right thing. > So I'm all for the $(touch .git/some-file-here) test to decide if the > kernel has to be modified during build. I suppose that could work, if you do that only after checking 'test -w'. It's important to not even try to write to the source tree when not permitted. On a different tangent: how about the --no-optional-locks (see git(1))? Will this get you your "up-to-date" result without writing to the .git directory? I've only read the documentation, but not tested it. Brian > Christian. > > [0] https://lkml.org/lkml/2013/6/14/574 > [1] https://manpages.debian.org/unstable/dash/dash.1.en.html