Show all missing packages when setting up bind, not one at a time.

We used to check for these one at a time so you'd run it once and find out you're missing the bind package. Install that and run the installer again and you'd discover you're missing bind-dyndb-ldap.

We don't do this with rpm Requires because DNS is an optional component.

ticket 140

rob
>From 07fd243faec8f577a616f7c583f8e568a3e5d0fc Mon Sep 17 00:00:00 2001
From: Rob Crittenden <[email protected]>
Date: Fri, 10 Sep 2010 17:14:16 -0400
Subject: [PATCH] Show all missing packages when setting up bind, not one at a time.

We used to check for these one at a time so you'd run it once and find
out you're missing the bind package. Install that and run the installer
again and you'd discover you're missing bind-dyndb-ldap.

ticket 140
---
 ipaserver/install/bindinstance.py |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py
index b57fc9f..a144193 100644
--- a/ipaserver/install/bindinstance.py
+++ b/ipaserver/install/bindinstance.py
@@ -34,18 +34,22 @@ import ipalib
 from ipalib import api, util, errors
 
 def check_inst(unattended):
+    has_bind = True
     # So far this file is always present in both RHEL5 and Fedora if all the necessary
     # bind packages are installed (RHEL5 requires also the pkg: caching-nameserver)
     if not os.path.exists('/etc/named.rfc1912.zones'):
         print "BIND was not found on this system"
-        print "Please install the bind package and start the installation again"
-        return False
+        print "Please install the 'bind' package and start the installation again"
+        has_bind = False
 
     # Also check for the LDAP BIND plug-in
     if not os.path.exists('/usr/lib/bind/ldap.so') and \
        not os.path.exists('/usr/lib64/bind/ldap.so'):
         print "The BIND LDAP plug-in was not found on this system"
-        print "Please install the bind-dyndb-ldap package and start the installation again"
+        print "Please install the 'bind-dyndb-ldap' package and start the installation again"
+        has_bind = False
+
+    if not has_bind:
         return False
 
     if not unattended and os.path.exists('/etc/named.conf'):
@@ -83,7 +87,7 @@ def get_reverse_zone(ip_address):
     tmp = ip_address.split(".")
     tmp.reverse()
     name = tmp.pop(0)
-    zone = ".".join(tmp) + ".in-addr.arpa" 
+    zone = ".".join(tmp) + ".in-addr.arpa"
 
     return zone, name
 
-- 
1.7.2.1

_______________________________________________
Freeipa-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to