summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oe/package_manager.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 13577b18bd..7c280ae0a7 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -2000,7 +2000,10 @@ class DpkgPM(OpkgDpkgPM):
2000 """ 2000 """
2001 def run_pre_post_installs(self, package_name=None): 2001 def run_pre_post_installs(self, package_name=None):
2002 info_dir = self.target_rootfs + "/var/lib/dpkg/info" 2002 info_dir = self.target_rootfs + "/var/lib/dpkg/info"
2003 suffixes = [(".preinst", "Preinstall"), (".postinst", "Postinstall")] 2003 ControlScript = collections.namedtuple("ControlScript", ["suffix", "name", "argument"])
2004 control_scripts = [
2005 ControlScript(".preinst", "Preinstall", "install"),
2006 ControlScript(".postinst", "Postinstall", "configure")]
2004 status_file = self.target_rootfs + "/var/lib/dpkg/status" 2007 status_file = self.target_rootfs + "/var/lib/dpkg/status"
2005 installed_pkgs = [] 2008 installed_pkgs = []
2006 2009
@@ -2023,16 +2026,18 @@ class DpkgPM(OpkgDpkgPM):
2023 2026
2024 failed_pkgs = [] 2027 failed_pkgs = []
2025 for pkg_name in installed_pkgs: 2028 for pkg_name in installed_pkgs:
2026 for suffix in suffixes: 2029 for control_script in control_scripts:
2027 p_full = os.path.join(info_dir, pkg_name + suffix[0]) 2030 p_full = os.path.join(info_dir, pkg_name + control_script.suffix)
2028 if os.path.exists(p_full): 2031 if os.path.exists(p_full):
2029 try: 2032 try:
2030 bb.note("Executing %s for package: %s ..." % 2033 bb.note("Executing %s for package: %s ..." %
2031 (suffix[1].lower(), pkg_name)) 2034 (control_script.name.lower(), pkg_name))
2032 subprocess.check_output(p_full, stderr=subprocess.STDOUT) 2035 subprocess.check_output([p_full, control_script.argument],
2036 stderr=subprocess.STDOUT)
2033 except subprocess.CalledProcessError as e: 2037 except subprocess.CalledProcessError as e:
2034 bb.note("%s for package %s failed with %d:\n%s" % 2038 bb.note("%s for package %s failed with %d:\n%s" %
2035 (suffix[1], pkg_name, e.returncode, e.output.decode("utf-8"))) 2039 (control_script.name, pkg_name, e.returncode,
2040 e.output.decode("utf-8")))
2036 failed_pkgs.append(pkg_name) 2041 failed_pkgs.append(pkg_name)
2037 break 2042 break
2038 2043