diff --git a/library/packaging/urpmi b/library/packaging/urpmi index ac96a9d74fa..46745fce5dc 100644 --- a/library/packaging/urpmi +++ b/library/packaging/urpmi @@ -76,11 +76,18 @@ import json import shlex import os import sys +try: + import rpm + USE_PYTHON = True +except ImportError: + USE_PYTHON = False URPMI_PATH = '/usr/sbin/urpmi' URPME_PATH = '/usr/sbin/urpme' def query_package(module, name): + if USE_PYTHON: + return rpm.TransactionSet().dbMatch(rpm.RPMTAG_NAME, name).count() != 0 # rpm -q returns 0 if the package is installed, # 1 if it is not installed @@ -91,6 +98,8 @@ def query_package(module, name): return False def query_package_provides(module, name): + if USE_PYTHON: + return rpm.TransactionSet().dbMatch(rpm.RPMTAG_PROVIDES, name).count() != 0 # rpm -q returns 0 if the package is installed, # 1 if it is not installed