mirror of https://gitee.com/openkylin/linux.git
kbuild: fix header installation under fakechroot environment
Since commitfcc8487d47
("uapi: export all headers under uapi directories") fakechroot make bindeb-pkg fails, mismatching files for directories: touch: cannot touch 'usr/include/video/uvesafb.h/.install': Not a directory This due to a bug in fakechroot: when using the function $(wildcard $(srcdir)/*/.) in a makefile, under a fakechroot environment, not only directories but also files are returned. To circumvent that, we are using the functions: $(sort $(dir $(wildcard $(srcdir)/*/)))) Fixes:fcc8487d47
("uapi: export all headers under uapi directories") Signed-off-by: Richard Genoud <richard.genoud@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
ff85a1a80e
commit
2f263d1451
|
@ -14,7 +14,15 @@ __headers:
|
|||
include scripts/Kbuild.include
|
||||
|
||||
srcdir := $(srctree)/$(obj)
|
||||
subdirs := $(patsubst $(srcdir)/%/.,%,$(wildcard $(srcdir)/*/.))
|
||||
|
||||
# When make is run under a fakechroot environment, the function
|
||||
# $(wildcard $(srcdir)/*/.) doesn't only return directories, but also regular
|
||||
# files. So, we are using a combination of sort/dir/wildcard which works
|
||||
# with fakechroot.
|
||||
subdirs := $(patsubst $(srcdir)/%/,%,\
|
||||
$(filter-out $(srcdir)/,\
|
||||
$(sort $(dir $(wildcard $(srcdir)/*/)))))
|
||||
|
||||
# caller may set destination dir (when installing to asm/)
|
||||
_dst := $(if $(dst),$(dst),$(obj))
|
||||
|
||||
|
|
Loading…
Reference in New Issue