Signed-off-by: Cleber Rosa <[email protected]>
---
client/shared/software_manager.py | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/client/shared/software_manager.py
b/client/shared/software_manager.py
index e7f796f..5798e3c 100755
--- a/client/shared/software_manager.py
+++ b/client/shared/software_manager.py
@@ -245,6 +245,11 @@ class DpkgBackend(BaseBackend):
dpkg is a lower level package manager, used by higher level managers such
as apt and aptitude.
"""
+
+
+ INSTALLED_OUTPUT = 'install ok installed'
+
+
def __init__(self):
self.lowlevel_base_cmd = os_dep.command('dpkg')
@@ -254,11 +259,11 @@ class DpkgBackend(BaseBackend):
n_cmd = (self.lowlevel_base_cmd + ' -f ' + name +
' Package 2>/dev/null')
name = utils.system_output(n_cmd)
- i_cmd = self.lowlevel_base_cmd + ' -s ' + name + ' 2>/dev/null'
+ i_cmd = (self.lowlevel_base_cmd + "--show -f='${Status}' "
+ + name + ' 2>/dev/null')
# Checking if package is installed
package_status = utils.system_output(i_cmd, ignore_status=True)
- not_inst_pattern = re.compile('not-installed', re.IGNORECASE)
- dpkg_not_installed = re.search(not_inst_pattern, package_status)
+ dpkg_not_installed = (package_status != self.INSTALLED_OUTPUT)
if dpkg_not_installed:
return False
return True
--
1.7.11.7
_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel