kbuild: skip install/check of headers right under uapi directories
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 16 May 2017 05:15:03 +0000 (14:15 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 17 May 2017 17:17:45 +0000 (02:17 +0900)
commit05d8cba4a1e8c7e2d1f91a24a2f3d26852938a04
treee3385068de1b7f4db8567f38eb9d30e50aa9aa11
parent2ea659a9ef488125eb46da6eb571de5eae5c43f6
kbuild: skip install/check of headers right under uapi directories

Since commit 61562f981e92 ("uapi: export all arch specifics
directories"), "make INSTALL_HDR_PATH=$root/usr headers_install"
deletes standard glibc headers and others in $(root)/usr/include.

The cause of the issue is that headers_install now starts descending
from arch/$(hdr-arch)/include/uapi with $(root)/usr/include for its
destination when installing asm headers.  So, headers already there
are assumed to be unwanted.

When headers_install starts descending from include/uapi with
$(root)/usr/include for its destination, it works around the problem
by creating an dummy destination $(root)/usr/include/uapi, but this
is tricky.

To fix the problem in a clean way is to skip headers install/check
in include/uapi and arch/$(hdr-arch)/include/uapi because we know
there are only sub-directories in uapi directories.  A good side
effect is the empty destination $(root)/usr/include/uapi will go
away.

I am also removing the trailing slash in the headers_check target to
skip checking in arch/$(hdr-arch)/include/uapi.

Fixes: 61562f981e92 ("uapi: export all arch specifics directories")
Reported-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Makefile
scripts/Makefile.headersinst