mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 11:27:47 +00:00
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 69ef0920bdd3 ("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>
This commit is contained in:
parent
fd2a118c48
commit
82a1978d0f
@ -59,7 +59,6 @@ iptables 1.4.2 iptables -V
|
||||
openssl & libcrypto 1.0.0 openssl version
|
||||
bc 1.06.95 bc --version
|
||||
Sphinx\ [#f1]_ 2.4.4 sphinx-build --version
|
||||
cpio any cpio --version
|
||||
GNU tar 1.28 tar --version
|
||||
gtags (optional) 6.6.5 gtags --version
|
||||
mkimage (optional) 2017.01 mkimage --version
|
||||
@ -536,11 +535,6 @@ mcelog
|
||||
|
||||
- <https://www.mcelog.org/>
|
||||
|
||||
cpio
|
||||
----
|
||||
|
||||
- <https://www.gnu.org/software/cpio/>
|
||||
|
||||
Networking
|
||||
**********
|
||||
|
||||
|
@ -14,13 +14,6 @@ include/
|
||||
arch/$SRCARCH/include/
|
||||
"
|
||||
|
||||
if ! command -v cpio >/dev/null; then
|
||||
echo >&2 "***"
|
||||
echo >&2 "*** 'cpio' could not be found."
|
||||
echo >&2 "***"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Support incremental builds by skipping archive generation
|
||||
# if timestamps of files being archived are not changed.
|
||||
|
||||
@ -73,15 +66,13 @@ if [ "$building_out_of_srctree" ]; then
|
||||
cd $srctree
|
||||
for f in $dir_list
|
||||
do find "$f" -name "*.h";
|
||||
done | cpio --quiet -pd "${tmpdir}"
|
||||
done | tar -c -f - -T - | tar -xf - -C "${tmpdir}"
|
||||
)
|
||||
fi
|
||||
|
||||
# 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.
|
||||
for f in $dir_list;
|
||||
do find "$f" -name "*.h";
|
||||
done | cpio --quiet -pdu "${tmpdir}" >/dev/null 2>&1
|
||||
done | tar -c -f - -T - | tar -xf - -C "${tmpdir}"
|
||||
|
||||
# Always exclude include/generated/utsversion.h
|
||||
# Otherwise, the contents of the tarball may vary depending on the build steps.
|
||||
|
@ -22,7 +22,6 @@ license=(GPL-2.0-only)
|
||||
makedepends=(
|
||||
bc
|
||||
bison
|
||||
cpio
|
||||
flex
|
||||
gettext
|
||||
kmod
|
||||
|
@ -205,7 +205,7 @@ Priority: optional
|
||||
Maintainer: $maintainer
|
||||
Rules-Requires-Root: no
|
||||
Build-Depends: debhelper-compat (= 12)
|
||||
Build-Depends-Arch: bc, bison, cpio, flex,
|
||||
Build-Depends-Arch: bc, bison, flex,
|
||||
gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
|
||||
kmod, libelf-dev:native,
|
||||
libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
|
||||
|
Loading…
x
Reference in New Issue
Block a user