These ten hold up the wall clock on their own. Their configure stages
run while nothing else does, because the tools build in dependency
order. Measured over a full build, cold cache against warm:
sed 21.68 s -> 1.22 s
m4 21.48 s -> 1.22 s
findutils 19.47 s -> 1.56 s
tar 17.75 s -> 1.47 s
cpio 14.28 s -> 1.26 s
bison 12.81 s -> 1.29 s
patch 12.16 s -> 1.31 s
elfutils 26.58 s -> 15.47 s
Each of the ten configures the same way with a warm cache as it does
without one. The check runs configure three times, without a cache, with
a cold cache and with a warm cache, and compares every file that
configure generates between the first and the last. ncurses fails that
check; these do not.
The only difference left is ac_ct_AR and ac_ct_RANLIB, which a cold run
fills through the fallback path of AC_CHECK_TOOL and a warm run leaves
empty. AR and RANLIB are correct in both, and no generated Makefile
reads the ac_ct_ form.
tools/cmake keeps its 33 s, the longest configure stage in the build. It
bootstraps with its own script rather than autoconf, so this does not
reach it.
Signed-off-by: John Crispin <john@phrozen.org>
A tool builds with -j1 unless it sets HOST_BUILD_PARALLEL, and 45 of the
73 tools do not set it. These three gain the most from the job server on
a cold build of this tree:
erofs-utils 23.11 s -> 15.73 s
mtd-utils 11.70 s -> 6.42 s
cpio 8.46 s -> 3.56 s
Each one builds three times out of three with the job server, and each
build writes a tree that is identical to the one a serial build writes.
Signed-off-by: John Crispin <john@phrozen.org>
Noteworthy changes in this release:
* New option --ignore-dirnlink
Valid in copy-out mode, it instructs cpio to ignore the actual number
of links reported for each directory member and always store 2
instead.
* Changes in --reproducible option
The --reproducible option implies --ignore-dirlink. In other words,
it is equivalent to --ignore-devno --ignore-dirnlink --renumber-inodes.
* Use GNU ls algorithm for deciding timestamp format in -tv mode
* Bugfixes
** Fix cpio header verification.
** Fix handling of device numbers on copy out.
** Fix calculation of CRC in copy-out mode.
** Rewrite the fix for CVE-2015-1197.
** Fix combination of --create --append --directory.
** Fix appending to archives bigger than 2G.
Removed upstreamed:
- 001-duplicate-program-name.patch
- 010-clang.patch
Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
A define dealing with builtin type is wrong. A gnulib update fixes
this, but that requires a new cpio version.
Refresh other patch.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
mediatek-mt7622 as well as mediatek-mt7623 require CPIO to create their
initramfs images. So build CPIO as part of the host toolchain.
Signed-off-by: David Bauer <mail@david-bauer.net>