Messages in this thread | | | From | Brian Norris <> | Date | Tue, 6 Nov 2018 20:00:36 -0800 | Subject | Re: [PATCH] Revert "scripts/setlocalversion: git: Make -dirty check more robust" |
| |
On Tue, Nov 6, 2018 at 6:58 PM Christian Kujau <lists@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
| |