turn --with-json-audit into global --with-json
authorPhilipp Gesang <philipp.gesang@intra2net.com>
Tue, 25 Sep 2018 12:09:18 +0000 (14:09 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 26 Sep 2018 18:41:07 +0000 (20:41 +0200)
Fold the build option --with-json-audit into the toplevel wscript
to reflect the fact that JSON support is no longer local to the
audit subsystem.

Signed-off-by: Philipp Gesang <philipp.gesang@intra2net.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
docs-xml/smbdotconf/logging/loglevel.xml
lib/audit_logging/wscript [deleted file]
script/autobuild.py
wscript

index 9a02926..4291272 100644 (file)
@@ -56,7 +56,7 @@
 
     <para>Authentication and authorization audit information is logged
     under the auth_audit, and if Samba was not compiled with
-    --without-json-audit, a JSON representation is logged under
+    --without-json, a JSON representation is logged under
     auth_json_audit.</para>
 
     <para>Support is comprehensive for all authentication and authorisation
diff --git a/lib/audit_logging/wscript b/lib/audit_logging/wscript
deleted file mode 100644 (file)
index f99df05..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-from waflib import Logs, Options, Errors
-import samba3
-
-def options(opt):
-    help = ("Build with JSON auth audit support (default=True). "
-            "This requires the jansson devel package.")
-
-    opt.SAMBA3_ADD_OPTION('json-audit', default=None, help=(help))
-
-    return
-
-def configure(conf):
-    conf.SET_TARGET_TYPE('jansson', 'EMPTY')
-
-    if Options.options.with_json_audit != False:
-        if conf.CHECK_CFG(package='jansson', args='--cflags --libs',
-                          msg='Checking for jansson'):
-            conf.CHECK_FUNCS_IN('json_object', 'jansson')
-
-    if not conf.CONFIG_GET('HAVE_JSON_OBJECT'):
-        if Options.options.with_json_audit != False:
-            conf.fatal("Jansson JSON support not found. "
-                       "Try installing libjansson-dev or jansson-devel. "
-                       "Otherwise, use --without-json-audit to build without "
-                       "JSON support. "
-                       "JSON support is required for the JSON "
-                       "formatted audit log feature and the AD DC")
-        if not Options.options.without_ad_dc:
-            raise Errors.WafError('--without-json-audit requires '
-                                 '--without-ad-dc. '
-                                 'Jansson JSON library is required for '
-                                 'building the AD DC')
-        Logs.info("Building without Jansson JSON log support")
-
index 02fff41..1dbdf8c 100755 (executable)
@@ -135,7 +135,7 @@ tasks = {
 
     # We split out this so the isolated ad_dc tests do not wait for ad_dc_ntvfs tests (which are long)
     "samba-fileserver": [("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
-                           ("configure", "./configure.developer --without-ad-dc --without-ldap --without-ads --without-json-audit --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
+                           ("configure", "./configure.developer --without-ad-dc --without-ldap --without-ads --without-json --with-selftest-prefix=./bin/ab" + samba_configure_params, "text/plain"),
                            ("make", "make -j", "text/plain"),
                            ("test", "make test FAIL_IMMEDIATELY=1 "
                             "TESTS='${PY3_ONLY}"
diff --git a/wscript b/wscript
index 155de7c..ae1b929 100644 (file)
--- a/wscript
+++ b/wscript
@@ -35,7 +35,6 @@ def system_mitkrb5_callback(option, opt, value, parser):
 def options(opt):
     opt.BUILTIN_DEFAULT('NONE')
     opt.PRIVATE_EXTENSION_DEFAULT('samba4')
-    opt.RECURSE('lib/audit_logging')
     opt.RECURSE('lib/replace')
     opt.RECURSE('dynconfig')
     opt.RECURSE('packaging')
@@ -103,6 +102,13 @@ def options(opt):
     opt.load('python') # options for disabling pyc or pyo compilation
     # enable options related to building python extensions
 
+    opt.add_option('--with-json',
+                   action='store_true', dest='with_json',
+                   help=("Build with JSON support (default=True). This "
+                         "requires the jansson development headers."))
+    opt.add_option('--without-json',
+                   action='store_false', dest='with_json',
+                   help=("Build without JSON support."))
 
 def configure(conf):
     version = samba_version.load_version(env=conf.env)
@@ -234,7 +240,6 @@ def configure(conf):
     # system-provided or embedded Heimdal build
     if conf.CONFIG_GET('KRB5_VENDOR') in (None, 'heimdal'):
         conf.RECURSE('source4/heimdal_build')
-    conf.RECURSE('lib/audit_logging')
     conf.RECURSE('source4/lib/tls')
     conf.RECURSE('source4/dsdb/samdb/ldb_modules')
     conf.RECURSE('source4/ntvfs/sysdep')
@@ -274,6 +279,28 @@ def configure(conf):
                 Logs.warn("pthreadpool support cannot be enabled when __thread support was not found")
             conf.undefine('WITH_PTHREADPOOL')
 
+    conf.SET_TARGET_TYPE('jansson', 'EMPTY')
+
+    if Options.options.with_json != False:
+        if conf.CHECK_CFG(package='jansson', args='--cflags --libs',
+                          msg='Checking for jansson'):
+            conf.CHECK_FUNCS_IN('json_object', 'jansson')
+
+    if not conf.CONFIG_GET('HAVE_JSON_OBJECT'):
+        if Options.options.with_json != False:
+            conf.fatal("Jansson JSON support not found. "
+                       "Try installing libjansson-dev or jansson-devel. "
+                       "Otherwise, use --without-json to build without "
+                       "JSON support. "
+                       "JSON support is required for the JSON "
+                       "formatted audit log feature, the AD DC, and "
+                       "the JSON printers of the net utility")
+        if not Options.options.without_ad_dc:
+            raise Errors.WafError('--without-json requires --without-ad-dc. '
+                                 'Jansson JSON library is required for '
+                                 'building the AD DC')
+        Logs.info("Building without Jansson JSON log support")
+
     conf.RECURSE('source3')
     conf.RECURSE('lib/texpect')
     conf.RECURSE('python')