[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC] firmware/shim: fix Xen tree setup



On Wed, Jan 31, 2018 at 09:55:21AM -0700, Jan Beulich wrote:
> There are multiple issues here, and I'm happy to split the patch up if
> that's what it takes:
> - "set -e" on a separate Makefile line is meaningless. Glue together all
>   the lines that this is supposed to cover.
> - I have no idea what *.d1 is supposed to refer to - we only have .*.d
>   and .*.d2 files (not also the leading dot).
> - I have also no idea what *.1 is meant to cover. Instead also exclude
>   preprocessed and non-source assembly files.
> - Excluding symlinks in the source tree is a problem for me: Short of
>   out-of-tree builds, in order to easily build test multiple
>   configurations, I'm setting up my build trees as trees of symlinks
>   into the source tree. Hence the original logic would find only the few
>   generated files under config/. I do realize though that find's -xtype
>   primary is a non-standard extension (explicitly having "! type -l"
>   seems pointless though, at least for standard conforming find, as
>   "-type f" is supposed to only find non-symlinked files).
> 
> Irrespective of the changes I'm still observing "mkdir -p" to report a
> missing operand, as config/ has no subdirs. Oddly enough this doesn't
> cause the whole command (and hence the build to fail), despite the
> "set -e" now covering the entire set of commands - perhaps a quirk of
> the relatively old bash I've seen this with (a few simple experiments
> suggest that commands inside () producing a non-success status would
> exit the inner shell, but not the outer one).
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> 
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -16,18 +16,18 @@ DEP_FILES=$(foreach i, $(LINK_FILES), $(
>  
>  linkfarm.stamp: $(DEP_DIRS) $(DEP_FILES) FORCE
>       mkdir -p $(D)
> -     set -e
>       rm -f linkfarm.stamp.tmp
> +     set -e; \
>       $(foreach d, $(LINK_DIRS), \
>                (mkdir -p $(D)/$(d); \
>                 cd $(D)/$(d); \
>                 find $(XEN_ROOT)/$(d)/ -type d |\
> -                     sed 's,^$(XEN_ROOT)/$(d)/,,g' | xargs mkdir -p);)
> +                     sed 's,^$(XEN_ROOT)/$(d)/,,g' | xargs mkdir -p);) \
>       $(foreach d, $(LINK_DIRS), \
>               (cd $(XEN_ROOT); \
> -              find $(d) ! -type l -type f \
> -              $(addprefix ! -path , '*.[oda1]' '*.d[12]')) \
> -              >> linkfarm.stamp.tmp ; )
> +              find $(d) -xtype f \

No xtype please. Does it work with something like:

`find -H $(d) -type f`

?

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.