kbuild: add comment about why cmd_shipped uses 'cat'
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 24 Apr 2021 11:55:53 +0000 (20:55 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 1 May 2021 15:43:34 +0000 (00:43 +0900)
cmd_shipped uses 'cat' instead of 'cp' for copying a file. The reason
is explained in the commit [1], but it was in the pre-git era.

  $ touch a
  $ chmod -w a
  $ cp a b
  $ cp a b
  cp: cannot create regular file 'b': Permission denied

Add comments so that you can see the reason without looking into
the history.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/?id=a70dba8086160449cc94c5bdaff78419b6b8e3c8

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/Makefile.lib

index 64daf37..c0982b8 100644 (file)
@@ -252,6 +252,9 @@ quiet_cmd_copy = COPY    $@
 
 # Shipped files
 # ===========================================================================
+# 'cp' preserves permissions. If you use it to copy a file in read-only srctree,
+# the copy would be read-only as well, leading to an error when executing the
+# rule next time. Use 'cat' instead in order to generate a writable file.
 
 quiet_cmd_shipped = SHIPPED $@
 cmd_shipped = cat $< > $@