summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe
diff options
context:
space:
mode:
authorPhilip Lorenz <philip.lorenz@bmw.de>2024-05-02 16:27:16 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-05-09 21:25:10 +0100
commite6be49c0caebdff56dccca61d62a6e6cc8f49da7 (patch)
tree07aede6b38cf4b92653059d8c35cdf0a29df8784 /meta/lib/oe
parent03309672205c6e14b86f1c981767917f4cd20908 (diff)
downloadpoky-e6be49c0caebdff56dccca61d62a6e6cc8f49da7.tar.gz
lib/package_manager/ipk: Do not hardcode payload compression algorithm
The chosen payload compression algorithm can be changed by overriding `OPKGBUILDCMD`. Ensure that package extraction deals with this by globbing for "data.tar.*" to select the actual payload tarball. (From OE-Core rev: 2b5a876d4c2428d1cffc08fe0680bdcb1c9c10a1) Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r--meta/lib/oe/package_manager/ipk/__init__.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py
index 8cc9953a02..0f0038d00d 100644
--- a/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/meta/lib/oe/package_manager/ipk/__init__.py
@@ -4,6 +4,7 @@
4# SPDX-License-Identifier: GPL-2.0-only 4# SPDX-License-Identifier: GPL-2.0-only
5# 5#
6 6
7import glob
7import re 8import re
8import shutil 9import shutil
9import subprocess 10import subprocess
@@ -134,11 +135,16 @@ class OpkgDpkgPM(PackageManager):
134 tmp_dir = tempfile.mkdtemp() 135 tmp_dir = tempfile.mkdtemp()
135 current_dir = os.getcwd() 136 current_dir = os.getcwd()
136 os.chdir(tmp_dir) 137 os.chdir(tmp_dir)
137 data_tar = 'data.tar.zst'
138 138
139 try: 139 try:
140 cmd = [ar_cmd, 'x', pkg_path] 140 cmd = [ar_cmd, 'x', pkg_path]
141 output = subprocess.check_output(cmd, stderr=subprocess.STDOUT) 141 output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
142 data_tar = glob.glob("data.tar.*")
143 if len(data_tar) != 1:
144 bb.fatal("Unable to extract %s package. Failed to identify "
145 "data tarball (found tarballs '%s').",
146 pkg_path, data_tar)
147 data_tar = data_tar[0]
142 cmd = [tar_cmd, 'xf', data_tar] 148 cmd = [tar_cmd, 'xf', data_tar]
143 output = subprocess.check_output(cmd, stderr=subprocess.STDOUT) 149 output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
144 except subprocess.CalledProcessError as e: 150 except subprocess.CalledProcessError as e: