waf: fix parsing krb5-config --version for MIT krb5
authorAlexander Bokovoy <ab@samba.org>
Thu, 7 Jun 2012 11:22:33 +0000 (14:22 +0300)
committerAlexander Bokovoy <ab@samba.org>
Thu, 7 Jun 2012 15:03:01 +0000 (17:03 +0200)
krb5-config --version may return a string that ends with a suffix after
version number (1.X-prerelease or 1.X-beta1, for example). Detect and
ignore the suffix.

Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Thu Jun  7 17:03:01 CEST 2012 on sn-devel-104

wscript_configure_system_mitkrb5

index 1ad6d207db6d70cc2aa0293d5b51800bdd3b5eb0..31ed7f7af19ce6c705a6c814262c6a34e3a338cd 100644 (file)
@@ -37,9 +37,15 @@ if conf.env.KRB5_CONFIG:
         conf.define('USING_SYSTEM_KRB5', 1)
         del conf.env.HEIMDAL_KRB5_CONFIG
         kversion = conf.cmd_and_log("%(path)s --version" % dict(path=conf.env.KRB5_CONFIG), dict()).strip()
-        kversion_split = map(int, kversion.split(" ")[-1].split("."))
-        if kversion_split < [1, 9]:
+        kversion_split = kversion.split(' ')[-1].split('.')
+        # drop '-prerelease' suffix
+        if kversion_split[-1].find('-') > 0:
+            last_digit = kversion_split[-1].split('-')[0]
+            kversion_split[-1] = last_digit
+        kversion_check = map(int, kversion_split)
+        if kversion_check < [1, 9]:
             Logs.error('ERROR: MIT krb5 build requires at least 1.9.0. %s is found and cannot be used' % (kversion))
+            Logs.error('ERROR: You may try to build with embedded Heimdal Kerebros by not specifying --with-system-mitkrb5')
             sys.exit(1)
         else:
             Logs.info('%s is detected, MIT krb5 build can proceed' % (kversion))