[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 6/6] firmware/shim: fix build process to use POSIX find options
On 17/01/18 17:32, Roger Pau Monné wrote: > On Wed, Jan 17, 2018 at 04:24:27PM +0000, Ian Jackson wrote: >> Roger Pau Monne writes ("[PATCH 6/6] firmware/shim: fix build process to use >> POSIX find options"): >>> The -printf find option is not POSIX compatible, so replace it with >>> another rune. >> ... >>> cd $(D)/$(d); \ >>> - find $(XEN_ROOT)/$(d)/ -type d -printf "./%P\n" | xargs >>> mkdir -p);) >>> + find $(XEN_ROOT)/$(d)/ -type d -exec sh -c \ >>> + "echo {} | sed 's,^$(XEN_ROOT)/$(d)/,,g' | xargs mkdir >>> -p" \;);) >> This is now a pretty nasty shell construct. >> >> If you're going to use sed, you could just >> find ... -print | sed ... | xargs mkdir -p > I think I will go with this one... > >> Substituting {} into the middle of the shell rune is bad practice in >> general because it might contain metacharacters or spaces. In our >> build system this doesn't matter because that breaks anyway, but it's >> very poor style (and also it buries the actual data flow path into the >> middle of a complicated manglement). >> >> If you wanted to use -exec and sh, you could do something like this >> -exec sh -c 'exec mkdir "${1#$(XEN_ROOT}/$(d)/}"' x {} >> maybe. > ... because I cannot really make #2 work, and I'm not sure I fully > understand it. Probably because it needs to be 'exec mkdir "$${1 .... so shell sees ${1 when its passed through Make. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |