summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-10-16 14:32:04 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-10-18 23:26:35 +0100
commit1de82d5fc0dd7f9f472815bde47f3a0eead36583 (patch)
treeeff055bdf1a107d19717adf7a26452a64f5a70c4 /meta
parent4ef016683d986cc5291e494789ff5a49b28030eb (diff)
downloadpoky-1de82d5fc0dd7f9f472815bde47f3a0eead36583.tar.gz
package_manager: handle remove() with no packages
If remove() is called with an empty package list, ensure we do nothing instead of calling the underlying package manager with an invalid command line. [ YOCTO #12900 ] (From OE-Core rev: 715ec20c433cb4ed5fde938c33a42b2a296e4e56) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oe/package_manager.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 5964c61338..2cc1c752b3 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -864,8 +864,9 @@ class RpmPM(PackageManager):
864 failed_postinsts_abort(list(failed_scriptlets_pkgnames.keys()), self.d.expand("${T}/log.do_${BB_CURRENTTASK}")) 864 failed_postinsts_abort(list(failed_scriptlets_pkgnames.keys()), self.d.expand("${T}/log.do_${BB_CURRENTTASK}"))
865 865
866 def remove(self, pkgs, with_dependencies = True): 866 def remove(self, pkgs, with_dependencies = True):
867 if len(pkgs) == 0: 867 if not pkgs:
868 return 868 return
869
869 self._prepare_pkg_transaction() 870 self._prepare_pkg_transaction()
870 871
871 if with_dependencies: 872 if with_dependencies:
@@ -1353,6 +1354,9 @@ class OpkgPM(OpkgDpkgPM):
1353 (cmd, e.returncode, e.output.decode("utf-8"))) 1354 (cmd, e.returncode, e.output.decode("utf-8")))
1354 1355
1355 def remove(self, pkgs, with_dependencies=True): 1356 def remove(self, pkgs, with_dependencies=True):
1357 if not pkgs:
1358 return
1359
1356 if with_dependencies: 1360 if with_dependencies:
1357 cmd = "%s %s --force-remove --force-removal-of-dependent-packages remove %s" % \ 1361 cmd = "%s %s --force-remove --force-removal-of-dependent-packages remove %s" % \
1358 (self.opkg_cmd, self.opkg_args, ' '.join(pkgs)) 1362 (self.opkg_cmd, self.opkg_args, ' '.join(pkgs))
@@ -1663,6 +1667,9 @@ class DpkgPM(OpkgDpkgPM):
1663 1667
1664 1668
1665 def remove(self, pkgs, with_dependencies=True): 1669 def remove(self, pkgs, with_dependencies=True):
1670 if not pkgs:
1671 return
1672
1666 if with_dependencies: 1673 if with_dependencies:
1667 os.environ['APT_CONFIG'] = self.apt_conf_file 1674 os.environ['APT_CONFIG'] = self.apt_conf_file
1668 cmd = "%s purge %s" % (self.apt_get_cmd, ' '.join(pkgs)) 1675 cmd = "%s purge %s" % (self.apt_get_cmd, ' '.join(pkgs))