build: Require --without-ad-dc for --without-ads
authorAndrew Bartlett <abartlet@samba.org>
Wed, 24 Jul 2019 04:22:12 +0000 (16:22 +1200)
committerAndreas Schneider <asn@cryptomilk.org>
Mon, 23 Mar 2020 13:02:31 +0000 (13:02 +0000)
Building an AD DC while setting --without-ads makes no sense and just wastes compile time on our build hosts.

To allow samba-nt4 to build --without-ad-dc we set rpc.spoolss.notify
(which is built on the NTVFS fileserver for the callbacks) to run in
the ad_member environment rather than nt4_dc and ad_dc.

This is also just more realistic in any case.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
script/autobuild.py
source3/selftest/tests.py
source3/wscript

index dc46bcdd129fa7b32aa4b7ce6fd73173ed837cea..b9824b8bd3f951238dd61ccc111e0cb18eda4fb6 100755 (executable)
@@ -296,7 +296,7 @@ tasks = {
 
     "samba-nt4": [
         ("random-sleep", random_sleep(300, 900)),
-        ("configure", "./configure.developer --without-ads --with-selftest-prefix=./bin/ab" + samba_configure_params),
+        ("configure", "./configure.developer --without-ads --without-ad-dc --with-selftest-prefix=./bin/ab" + samba_configure_params),
         ("make", "make -j"),
         ("test", make_test(include_envs=[
             "nt4_dc",
index 208c89cb071cda0305b2dcb5640d4a4c937c0181..9e44c09114763ebde2650033320ed68092b4915d 100755 (executable)
@@ -745,6 +745,8 @@ for t in tests:
     elif t == "rpc.samba3.pipes_supported_interfaces":
         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
+    elif t == "rpc.spoolss.notify":
+        plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
     else:
         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
index 6d5bd22ca4984262c26d85c9f5bf897c9937a48e..48194f261a487a2363838d6ce4c05398ba0b3588 100644 (file)
@@ -810,6 +810,9 @@ msg.msg_accrightslen = sizeof(fd);
         forced_shared_modules.extend(TO_LIST('idmap_ad idmap_rfc2307'))
     elif Options.options.with_ads == False:
         Logs.info("Building without Active Directory support (--without-ads).")
+        if not Options.options.without_ad_dc:
+            conf.fatal("Building --without-ads requires also "
+                       "building --without-ad-dc.")
     else:
         if not use_ads_krb5:
             Logs.warn("Active Directory support not available: krb5 libs don't have all required features")