diff mbox series

kbuild: add comment about why cmd_shipped uses 'cat'

Message ID 20210424115553.396516-1-masahiroy@kernel.org (mailing list archive)
State New
Headers show
Series kbuild: add comment about why cmd_shipped uses 'cat' | expand

Commit Message

Masahiro Yamada April 24, 2021, 11:55 a.m. UTC
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 | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series


diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index a4fbaf8880b9..1677a7dcd18c 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -240,6 +240,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 $< > $@