On Thu, Oct 27, 2022 at 12:49:22PM -0700, Linus Torvalds wrote:
On Thu, Oct 27, 2022 at 12:27 PM Pavel Machek pavel@denx.de wrote:
Alternatively you can modify the caller to do /bin/sh /scripts/... so it does not need a +x bit...
Generally we should be doing both.
Make it have the proper +x bit to show clearly that it's an executable script and have 'ls' and friends show it that way when people enable colorization or whatever.
*And* make any Makefiles and tooling use an explicit "sh" or whatever thing, because we've traditionally let people use tar-files and patch to generate their trees, and various stupid tools exist and get it wrong even when we get it right in our git tree.
So belt and suspenders.
But in this case, I think our tools already do the "run shell" part:
Makefile:PAHOLE_FLAGS = $(shell PAHOLE=$(PAHOLE) $(srctree)/scripts/pahole-flags.sh)
no? And at least in my -git tree, it's already executable.
In your tree, yes.
And when I export the patch, we get the proper: create mode 100755 scripts/pahole-flags.sh line added to the patch.
But then when importing the patch using: git quilt-import that line is totally ignored and the permissions are set to normal.
It's a long-running issue, and I think I'm about the only one that uses git quilt-import outside of the debian build system, so it's low on my list of things to fix up with that shell script (speed is my biggest issue, it's just slow on large amounts of patches and needs to be rewritten in C).
I'll go fix this up by hand...
thanks,
greg k-h