1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00

wscript_configure_system_mitkrb5: reject a system heimdal krb5-config

Review with: git show -w

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Dec  6 16:53:33 CET 2018 on sn-devel-144
This commit is contained in:
Stefan Metzmacher 2018-12-05 13:30:07 +01:00
parent bd4bdced5f
commit 2f68c436cc

View File

@ -1,5 +1,5 @@
import sys import sys
from waflib import Logs, Options from waflib import Logs, Options, Errors
# Check for kerberos # Check for kerberos
have_gssapi=False have_gssapi=False
@ -56,24 +56,26 @@ if conf.env.KRB5_CONFIG:
vendor = conf.cmd_and_log(conf.env.KRB5_CONFIG+['--vendor']) vendor = conf.cmd_and_log(conf.env.KRB5_CONFIG+['--vendor'])
conf.env.KRB5_VENDOR = vendor.strip().lower() conf.env.KRB5_VENDOR = vendor.strip().lower()
if conf.env.KRB5_VENDOR != 'heimdal': if conf.env.KRB5_VENDOR == 'heimdal':
conf.define('USING_SYSTEM_KRB5', 1) raise Errors.WafError('--with-system-mitkrb5 cannot be used with system heimdal')
del conf.env.HEIMDAL_KRB5_CONFIG
krb5_conf_version = conf.cmd_and_log(conf.env.KRB5_CONFIG+['--version']).strip()
krb5_version = krb5_conf_version.split()[-1] conf.define('USING_SYSTEM_KRB5', 1)
del conf.env.HEIMDAL_KRB5_CONFIG
krb5_conf_version = conf.cmd_and_log(conf.env.KRB5_CONFIG+['--version']).strip()
# drop '-prerelease' suffix krb5_version = krb5_conf_version.split()[-1]
if krb5_version.find('-') > 0:
krb5_version = krb5_version.split("-")[0]
if parse_version(krb5_version) < parse_version(krb5_required_version): # drop '-prerelease' suffix
Logs.error('ERROR: The MIT KRB5 build with Samba AD requires at least %s. %s has been found and cannot be used' % (krb5_required_version, krb5_version)) if krb5_version.find('-') > 0:
Logs.error('ERROR: If you want to just build Samba FS (File Server) use the option --without-ad-dc which requires version %s' % (krb5_min_required_version)) krb5_version = krb5_version.split("-")[0]
Logs.error('ERROR: You may try to build with embedded Heimdal Kerberos by not specifying --with-system-mitkrb5')
sys.exit(1) if parse_version(krb5_version) < parse_version(krb5_required_version):
else: Logs.error('ERROR: The MIT KRB5 build with Samba AD requires at least %s. %s has been found and cannot be used' % (krb5_required_version, krb5_version))
Logs.info('MIT Kerberos %s detected, MIT krb5 build can proceed' % (krb5_version)) Logs.error('ERROR: If you want to just build Samba FS (File Server) use the option --without-ad-dc which requires version %s' % (krb5_min_required_version))
Logs.error('ERROR: You may try to build with embedded Heimdal Kerberos by not specifying --with-system-mitkrb5')
sys.exit(1)
else:
Logs.info('MIT Kerberos %s detected, MIT krb5 build can proceed' % (krb5_version))
conf.CHECK_CFG(args="--cflags --libs", package="com_err", uselib_store="com_err") conf.CHECK_CFG(args="--cflags --libs", package="com_err", uselib_store="com_err")
conf.CHECK_FUNCS_IN('_et_list', 'com_err') conf.CHECK_FUNCS_IN('_et_list', 'com_err')