From fdef56a596b937d099545aee5d0ff6fd4abc4c84 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Thu, 21 Dec 2023 23:31:49 -0800 Subject: archiver.bbclass: Drop tarfile module to improve performance * The tarfile module doesn't support xz options or environment varible XZ_DEFAULTS, this makes do_ar_patched incrediblely slow when the file is large, for example, chromium-x11 is about 3GB: - "bitbake chromium-x11 -car_patched" hasn't been done after 3 hours on my host, I checked the partial tar.xz file is only 1.5GB, so maybe more than 6 hours is required to complete the task. - Now only less than 4 minutes is needed on the same host. * Need add xz to HOSTTOOLS when archiver.bbclass is enabled and compression is xz. (From OE-Core rev: 6548354f049b173e8d443bc547d35c9d9fc05259) Signed-off-by: Robert Yang Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/conf/bitbake.conf | 3 +++ 1 file changed, 3 insertions(+) (limited to 'meta/conf') diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 95d4bd95c8..6f180d18b0 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -529,6 +529,9 @@ HOSTTOOLS += " \ # Tools needed to run testimage runtime image testing HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d) or any(x in (d.getVar("BBINCLUDED") or "") for x in ["testimage.bbclass", "testsdk.bbclass"])) else ''}" +# Used by archiver.bbclass when compression is xz +HOSTTOOLS += "${@'xz' if (('archiver.bbclass' in (d.getVar('BBINCLUDED') or '')) and (d.getVarFlag('ARCHIVER_MODE', 'compression') == 'xz')) else ''}" + # Link to these if present HOSTTOOLS_NONFATAL += "aws gcc-ar gpg gpg-agent ld.bfd ld.gold nc pigz sftp socat ssh sudo" -- cgit v1.2.3-54-g00ecf