summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2023-03-27 15:05:30 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-01 20:23:23 +0100
commita307ef21c1acd999f67af0fc6cccffab7cc564b5 (patch)
tree1dcf63ca4f18a30cc3ae9dbaddaf7e848a362b9c
parent006f1406875309aa86cd356734c60971d2f03cf5 (diff)
downloadpoky-a307ef21c1acd999f67af0fc6cccffab7cc564b5.tar.gz
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. (From OE-Core rev: 1c7d555379c4b0962bccd018870989050d87675f) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package.bbclass7
-rw-r--r--meta/lib/oe/packagedata.py7
2 files changed, 6 insertions, 8 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 84fdafa8fe..49d30caef7 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
1470python emit_pkgdata() { 1470python emit_pkgdata() {
1471 from glob import glob 1471 from glob import glob
1472 import json 1472 import json
1473 import bb.compress.zstd 1473 import gzip
1474 1474
1475 def process_postinst_on_target(pkg, mlprefix): 1475 def process_postinst_on_target(pkg, mlprefix):
1476 pkgval = d.getVar('PKG_%s' % pkg) 1476 pkgval = d.getVar('PKG_%s' % pkg)
@@ -1610,9 +1610,8 @@ fi
1610 1610
1611 sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) 1611 sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
1612 1612
1613 subdata_extended_file = pkgdatadir + "/extended/%s.json.zstd" % pkg 1613 subdata_extended_file = pkgdatadir + "/extended/%s.json.gz" % pkg
1614 num_threads = int(d.getVar("BB_NUMBER_THREADS")) 1614 with gzip.open(subdata_extended_file, "wt", encoding="utf-8") as f:
1615 with bb.compress.zstd.open(subdata_extended_file, "wt", encoding="utf-8", num_threads=num_threads) as f:
1616 json.dump(extended_data, f, sort_keys=True, separators=(",", ":")) 1615 json.dump(extended_data, f, sort_keys=True, separators=(",", ":"))
1617 1616
1618 # Symlinks needed for rprovides lookup 1617 # Symlinks needed for rprovides lookup
diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py
index 00f7dc1f3d..feb834c0e3 100644
--- a/meta/lib/oe/packagedata.py
+++ b/meta/lib/oe/packagedata.py
@@ -59,12 +59,11 @@ def read_subpkgdata_dict(pkg, d):
59 59
60def read_subpkgdata_extended(pkg, d): 60def read_subpkgdata_extended(pkg, d):
61 import json 61 import json
62 import bb.compress.zstd 62 import gzip
63 63
64 fn = d.expand("${PKGDATA_DIR}/extended/%s.json.zstd" % pkg) 64 fn = d.expand("${PKGDATA_DIR}/extended/%s.json.gz" % pkg)
65 try: 65 try:
66 num_threads = int(d.getVar("BB_NUMBER_THREADS")) 66 with gzip.open(fn, "rt", encoding="utf-8") as f:
67 with bb.compress.zstd.open(fn, "rt", encoding="utf-8", num_threads=num_threads) as f:
68 return json.load(f) 67 return json.load(f)
69 except FileNotFoundError: 68 except FileNotFoundError:
70 return None 69 return None