summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xipa-client/ipa-install/ipa-client-install3
-rw-r--r--ipapython/ipautil.py18
2 files changed, 20 insertions, 1 deletions
diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index 884dd213b..d3218d375 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -974,7 +974,8 @@ def main():
n = n + 1
if not found:
- print "nss_ldap is not able to use DNS discovery!"
+ package = package_installed_name(["nss-pam-ldapd","nss_ldap"])
+ print "Unable to use DNS discovery! Recognized configuration: %s" % (package)
print "Changing configuration to use hardcoded server name: " +cli_server
try:
diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py
index 91d19e95f..1573e0a17 100644
--- a/ipapython/ipautil.py
+++ b/ipapython/ipautil.py
@@ -1169,3 +1169,21 @@ def bind_port_responder(port, socket_stream=True, socket_timeout=None, responder
s.sendto(responder_data, addr)
finally:
s.close()
+
+def package_installed_name(packages):
+ """
+ Find out which of mutually exclusive packages is installed
+
+ packages is a list of package names to check
+
+ Returns package name or None
+ """
+
+ args = ["/bin/rpm","-q","--queryformat","%{NAME}"]
+ for package in packages:
+ try:
+ (package_name, error, retcode) = run(args+[package])
+ return package_name
+ except CalledProcessError:
+ continue
+ return None