From fecbc81c600bb5d6796a06e3f2d98229e748b387 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 23 Nov 2015 11:44:26 +0100 Subject: [PATCH] waf: Create kerberos_implementation.py for provisioning Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlet Reviewed-by: Jeremy Allison --- .gitignore | 3 +++ python/wscript | 45 +++++++++++++++++++++++++++++++++++++++++++++ wscript | 1 + 3 files changed, 49 insertions(+) create mode 100644 python/wscript diff --git a/.gitignore b/.gitignore index 1a43d43b3b3a..f8d4eab2a7c9 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,6 @@ semantic.cache /.emacs.desktop* /.gdb_history .clang-format + +# generated by configure +python/samba/provision/kerberos_implementation.py diff --git a/python/wscript b/python/wscript new file mode 100644 index 000000000000..714d649219d1 --- /dev/null +++ b/python/wscript @@ -0,0 +1,45 @@ +#!/usr/bin/env python + +import os + +def configure(conf): + kerberos_py = conf.srcdir + "/python/samba/provision/kerberos_implementation.py" + + f = open(kerberos_py, 'w') + try: + header = """# +# Copyright (c) 2016 Andreas Schneider +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +""" + f.write(header) + + data = """kdb_modules_dir = "{0}" +kdc_default_config_dir = "{1}" +""" + + if conf.env.HEIMDAL_KRB5_CONFIG: + f.write(data.format("", "")) + else: + modulesdir = "%s/krb5/plugins/kdb" % conf.env.LIBDIR + paths = [ "/var/kerberos/krb5kdc", "/var/lib/kerberos/krb5kdc" ] + kdc_path = None + for p in paths: + if os.path.exists(p): + kdc_path = p + + f.write(data.format(modulesdir, kdc_path)) + finally: + f.close() diff --git a/wscript b/wscript index 57b878508962..2a886e6dd48d 100644 --- a/wscript +++ b/wscript @@ -210,6 +210,7 @@ def configure(conf): conf.RECURSE('source3') conf.RECURSE('lib/texpect') + conf.RECURSE('python') if conf.env.with_ctdb: conf.RECURSE('ctdb') conf.RECURSE('lib/socket') -- 2.34.1