UPSTREAM: kheaders: Have cpio unconditionally replace files

For out-of-tree builds, this script invokes cpio twice to copy header
files from the srctree and subsequently from the objtree. According to a
comment in the script, there might be situations in which certain files
already exist in the destination directory when header files are copied
from the objtree:

"The second CPIO can complain if files already exist which can happen
with out of tree builds having stale headers in srctree. Just silence
CPIO for now."

GNU cpio might simply print a warning like "newer or same age version
exists", but toybox cpio exits with a non-zero exit code unless the
command line option "-u" is specified.

To improve compatibility with toybox cpio, add the command line option
"-u" to unconditionally replace existing files in the destination
directory.

Bug: 183998601
Signed-off-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
(cherry picked from commit 1e8ca62b79dec20aeded4fe283f4890e5016767a)
Change-Id: I89082978a3daafb6c3b8673b367a83978d11b70b
This commit is contained in:
Daniel Mentz
2022-04-13 16:36:49 -07:00
parent b7791a4915
commit 07cdb503f1

View File

@@ -74,7 +74,7 @@ fi
# of tree builds having stale headers in srctree. Just silence CPIO for now. # of tree builds having stale headers in srctree. Just silence CPIO for now.
for f in $dir_list; for f in $dir_list;
do find "$f" -name "*.h"; do find "$f" -name "*.h";
done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1 done | cpio --quiet -pdu $cpio_dir >/dev/null 2>&1
# Remove comments except SDPX lines # Remove comments except SDPX lines
find $cpio_dir -type f -print0 | find $cpio_dir -type f -print0 |