From: Joshua Watt Date: Mon, 27 Mar 2023 20:05:30 +0000 (-0500) Subject: classes/package: Use gzip for extended package data X-Git-Tag: yocto-3.1.25~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c7d555379c4b0962bccd018870989050d87675f;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git classes/package: Use gzip for extended package data The master version of extended package data uses zstd for efficient compression, but it relies on the zstd tool to be present on the host system. Since dunfell supports older distros, we don't want to add this tool as an additional requirement so switch to using gzip instead. Signed-off-by: Joshua Watt Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 84fdafa8fec..49d30caef70 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1470,7 +1470,7 @@ PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS python emit_pkgdata() { from glob import glob import json - import bb.compress.zstd + import gzip def process_postinst_on_target(pkg, mlprefix): pkgval = d.getVar('PKG_%s' % pkg) @@ -1610,9 +1610,8 @@ fi sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) - subdata_extended_file = pkgdatadir + "/extended/%s.json.zstd" % pkg - num_threads = int(d.getVar("BB_NUMBER_THREADS")) - with bb.compress.zstd.open(subdata_extended_file, "wt", encoding="utf-8", num_threads=num_threads) as f: + subdata_extended_file = pkgdatadir + "/extended/%s.json.gz" % pkg + with gzip.open(subdata_extended_file, "wt", encoding="utf-8") as f: json.dump(extended_data, f, sort_keys=True, separators=(",", ":")) # Symlinks needed for rprovides lookup diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py index 00f7dc1f3d4..feb834c0e34 100644 --- a/meta/lib/oe/packagedata.py +++ b/meta/lib/oe/packagedata.py @@ -59,12 +59,11 @@ def read_subpkgdata_dict(pkg, d): def read_subpkgdata_extended(pkg, d): import json - import bb.compress.zstd + import gzip - fn = d.expand("${PKGDATA_DIR}/extended/%s.json.zstd" % pkg) + fn = d.expand("${PKGDATA_DIR}/extended/%s.json.gz" % pkg) try: - num_threads = int(d.getVar("BB_NUMBER_THREADS")) - with bb.compress.zstd.open(fn, "rt", encoding="utf-8", num_threads=num_threads) as f: + with gzip.open(fn, "rt", encoding="utf-8") as f: return json.load(f) except FileNotFoundError: return None