umber-kernel/Documentation/process
Masahiro Yamada 82a1978d0f kheaders: use 'tar' instead of 'cpio' for copying files
The 'cpio' command is used solely for copying header files to the
temporary directory. However, there is no strong reason to use 'cpio'
for this purpose. For example, scripts/package/install-extmod-build
uses the 'tar' command to copy files.

This commit replaces the use of 'cpio' with 'tar' because 'tar' is
already used in this script to generate kheaders_data.tar.xz anyway.

Performance-wide, there is no significant difference between 'cpio'
and 'tar'.

[Before]

  $ rm -fr kheaders; mkdir kheaders
  $ time sh -c '
  for f in include arch/x86/include
  do
          find "$f" -name "*.h"
  done | cpio --quiet -pd kheaders
  '
  real    0m0.148s
  user    0m0.021s
  sys     0m0.140s

[After]

  $ rm -fr kheaders; mkdir kheaders
  $ time sh -c '
  for f in include arch/x86/include
  do
          find "$f" -name "*.h"
  done | tar -c -f - -T - | tar -xf - -C kheaders
  '
  real    0m0.098s
  user    0m0.024s
  sys     0m0.131s

Revert commit 69ef0920bd ("Docs: Add cpio requirement to changes.rst")
because 'cpio' is not used anywhere else during the kernel build.
Please note that the built-in initramfs is created by the in-tree tool,
usr/gen_init_cpio, so it does not rely on the external 'cpio' command
at all.

Remove 'cpio' from the package build dependencies as well.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2025-01-10 23:01:22 +09:00
..
debugging docs: Add debugging guide for the media subsystem 2024-11-22 10:48:12 -07:00
1.Intro.rst
2.Process.rst
3.Early-stage.rst
4.Coding.rst
5.Posting.rst docs: remove Documentation/dontdiff 2024-10-24 12:37:12 -06:00
6.Followthrough.rst
7.AdvancedTopics.rst
8.Conclusion.rst
adding-syscalls.rst
applying-patches.rst
backporting.rst docs: fix typos and whitespace in Documentation/process/backporting.rst 2024-11-12 13:22:16 -07:00
botching-up-ioctls.rst
changes.rst kheaders: use 'tar' instead of 'cpio' for copying files 2025-01-10 23:01:22 +09:00
code-of-conduct-interpretation.rst Documentation/CoC: spell out enforcement for unacceptable behaviors 2024-11-15 14:31:59 -07:00
code-of-conduct.rst
coding-style.rst
contribution-maturity-model.rst
cve.rst
deprecated.rst
development-process.rst
email-clients.rst
embargoed-hardware-issues.rst
handling-regressions.rst
howto.rst
index.rst docs: Add debugging section to process 2024-11-22 10:48:12 -07:00
kernel-docs.rst kernel-docs: Add new section for Rust learning materials 2024-10-14 09:50:29 -06:00
kernel-driver-statement.rst
kernel-enforcement-statement.rst
license-rules.rst docs/licensing: Clarify wording about "GPL" and "Proprietary" 2024-11-22 10:44:25 -07:00
maintainer-handbooks.rst
maintainer-kvm-x86.rst
maintainer-netdev.rst docs: netdev: document guidance on cleanup patches 2024-10-10 08:35:20 -07:00
maintainer-pgp-guide.rst
maintainer-soc-clean-dts.rst
maintainer-soc.rst Documentation/process: maintainer-soc: clarify submitting patches 2024-10-11 09:56:53 +00:00
maintainer-tip.rst Documentation/maintainer-tip: Fix typos 2024-11-04 12:29:33 -07:00
maintainers.rst
management-style.rst
programming-language.rst
researcher-guidelines.rst
security-bugs.rst
stable-api-nonsense.rst
stable-kernel-rules.rst
submit-checklist.rst
submitting-patches.rst
volatile-considered-harmful.rst