Skip to content

Commit

Permalink
kbuild: unify cmd_copy and cmd_shipped
Browse files Browse the repository at this point in the history
cmd_copy and cmd_shipped have similar functionality. The difference is
that cmd_copy uses 'cp' while cmd_shipped 'cat'.

Unify them into cmd_copy because this macro name is more intuitive.

Going forward, cmd_copy will use 'cat' to avoid the permission issue.
I also thought of 'cp --no-preserve=mode' but this option is not
mentioned in the POSIX spec [1], so I am keeping the 'cat' command.

[1]: https://pubs.opengroup.org/onlinepubs/009695299/utilities/cp.html
Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Nick Desaulniers <[email protected]>
Reviewed-by: Gabriel Krisman Bertazi <[email protected]>
  • Loading branch information
masahir0y committed Feb 14, 2022
1 parent 754e0b0 commit a5575df
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 13 deletions.
2 changes: 1 addition & 1 deletion arch/microblaze/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ $(obj)/simpleImage.$(DTB).ub: $(obj)/simpleImage.$(DTB) FORCE
$(call if_changed,uimage)

$(obj)/simpleImage.$(DTB).unstrip: vmlinux FORCE
$(call if_changed,shipped)
$(call if_changed,copy)

$(obj)/simpleImage.$(DTB).strip: vmlinux FORCE
$(call if_changed,strip)
2 changes: 1 addition & 1 deletion arch/microblaze/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ $(obj)/linked_dtb.o: $(obj)/system.dtb
# Generate system.dtb from $(DTB).dtb
ifneq ($(DTB),system)
$(obj)/system.dtb: $(obj)/$(DTB).dtb
$(call if_changed,shipped)
$(call if_changed,copy)
endif
endif

Expand Down
2 changes: 1 addition & 1 deletion fs/unicode/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ $(obj)/utf8data.c: $(obj)/mkutf8data $(filter %.txt, $(cmd_utf8data)) FORCE
else

$(obj)/utf8data.c: $(src)/utf8data.c_shipped FORCE
$(call if_changed,shipped)
$(call if_changed,copy)

endif

Expand Down
12 changes: 4 additions & 8 deletions scripts/Makefile.lib
Original file line number Diff line number Diff line change
Expand Up @@ -246,20 +246,16 @@ $(foreach m, $(notdir $1), \
$(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s)))))))
endef

quiet_cmd_copy = COPY $@
cmd_copy = cp $< $@

# Shipped files
# Copy a file
# ===========================================================================
# '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 $< > $@
quiet_cmd_copy = COPY $@
cmd_copy = cat $< > $@

$(obj)/%: $(src)/%_shipped
$(call cmd,shipped)
$(call cmd,copy)

# Commands useful for building a boot image
# ===========================================================================
Expand Down
4 changes: 2 additions & 2 deletions usr/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# kbuild file for usr/ - including initramfs image
#

compress-y := shipped
compress-y := copy
compress-$(CONFIG_INITRAMFS_COMPRESSION_GZIP) := gzip
compress-$(CONFIG_INITRAMFS_COMPRESSION_BZIP2) := bzip2
compress-$(CONFIG_INITRAMFS_COMPRESSION_LZMA) := lzma
Expand Down Expand Up @@ -37,7 +37,7 @@ endif
# .cpio.*, use it directly as an initramfs, and avoid double compression.
ifeq ($(words $(subst .cpio.,$(space),$(ramfs-input))),2)
cpio-data := $(ramfs-input)
compress-y := shipped
compress-y := copy
endif

endif
Expand Down

0 comments on commit a5575df

Please sign in to comment.