[SCM] Samba Shared Repository - branch master updated

Ralph Böhme slow at samba.org
Thu Aug 20 17:11:03 UTC 2015


The branch, master has been updated
       via  ba4c9bd script/autobuild.py: make sure --nonshared-binary=smbtorture,smbd/smbd keeps working
       via  86fa1d9 script/autobuild.py: test some --with-{static,shared}-modules combinations
       via  3b1aa7a script/autobuild.py: use -Wmissing-prototypes and --picky-developer for samba-libs*
       via  3030325 script/autobuild.py: split out a samba_libs_configure variable
       via  43d1c92 s3:wscript: make --with-{static,shared}-modules options more flexible
       via  d830cec s3:wscript: simplify ABI matching for pdb_*_init()
       via  bbd82b0 s3:winbindd/idmap_*: make function prototypes available via static_decl_idmap;
       via  7b2ff4c s3:modules/perfcount_*: make function prototypes available via static_decl_perfcount;
       via  37b2677 s3:modules/vfs_*: make function prototypes available via static_decl_vfs;
       via  fd6eb8b examples/VFS: make function prototypes available via static_decl_vfs;
       via  4451d0a examples/pdb: fix and validate pdb_test_init() prototype via static_decl_pdb;
       via  f8fca7d s4:ntvfs/posix: fix forward declaration of struct pvfs_state
       via  72e0885 s3:wscript: remove leftover from vfs_notify_fam
       via  a184951 s3:idmap: we need to allow undefined symbols in idmap_tdb
       via  5134d29 s3:wscript: fix the build without any idmap module
      from  345ef6b smbd: Remove an unnecessary else branch

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit ba4c9bd08c09e77df5f653dc7c39be9e2908cfc0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 10:32:46 2015 +0200

    script/autobuild.py: make sure --nonshared-binary=smbtorture,smbd/smbd keeps working
    
    - It's very useful to have a static smbtorture binary that can be copied arround.
    - It's sometimes also useful to have a static smbd binary in order avoid
      runtime overhead via do_lookup_x() (in ld*.so), note that
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    
    Autobuild-User(master): Ralph Böhme <slow at samba.org>
    Autobuild-Date(master): Thu Aug 20 19:10:19 CEST 2015 on sn-devel-104

commit 86fa1d9059f90bc62c64adeb25b9534517b9a960
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 17:38:43 2015 +0200

    script/autobuild.py: test some --with-{static,shared}-modules combinations
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 3b1aa7a665215f6a95a2ee7c5caf361a4063e9c1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Aug 14 08:40:37 2015 +0200

    script/autobuild.py: use -Wmissing-prototypes and --picky-developer for samba-libs*
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 303032559d7b68d125642ea25a1ad68df3de8d6d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 17:34:42 2015 +0200

    script/autobuild.py: split out a samba_libs_configure variable
    
    The avoids too long lines.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 43d1c92e6202b27db7f8b8820c55bffb2c486d4b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 14:22:45 2015 +0200

    s3:wscript: make --with-{static,shared}-modules options more flexible
    
    '!module' disables a non-required module for a static/shared build.
    '!DEFAULT' disables all modules defaulting to a static/shared build.
    '!FORCED' disables all (non-required) modules forced to a static/shared build.
    'ALL' switches the default for all non forced modules from static to shared
    or from shared to static.
    The most specific specification wins
    e.g.
    --with-static-modules='!FORCED,!DEFAULT' --with-shared-modules='!FORCED,!DEFAULT' will only
    build modules which are required for the compilation. Might be useful
    if someone only wants to use client utils.
    
    --with-static-modules=ALL will build all modules statically linked.
    
    --with-static-modules='!DEFAULT,ALL' --with-shared-modules='!DEFAULT,ALL'
    might be useful for testing, it reverses the default build for all modules
    which can be build shared or static.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit d830cecd03697c68bdcc5f8eaf325abb7f0c425e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:57:19 2015 +0200

    s3:wscript: simplify ABI matching for pdb_*_init()
    
    The init functions of all static modules should be ignored.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit bbd82b0fee4cc4b8491ce30550b9ae8539116e3c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:16:20 2015 +0200

    s3:winbindd/idmap_*: make function prototypes available via static_decl_idmap;
    
    This allows the static build of the modules.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7b2ff4cbd31fec2cc601e349ebb63f66df004bed
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:16:20 2015 +0200

    s3:modules/perfcount_*: make function prototypes available via static_decl_perfcount;
    
    This allows the static build of the modules.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 37b2677648108e35a159dcf680cc7ffb581e9643
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:16:20 2015 +0200

    s3:modules/vfs_*: make function prototypes available via static_decl_vfs;
    
    This allows the static build of the modules.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit fd6eb8bd448f9e9d209ca407a494d4011b2e97f1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:16:20 2015 +0200

    examples/VFS: make function prototypes available via static_decl_vfs;
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 4451d0a5cda71b61f4d7a7529c14d831b91574bb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:16:20 2015 +0200

    examples/pdb: fix and validate pdb_test_init() prototype via static_decl_pdb;
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f8fca7d3155e6ff92d40d9de1a3a2043aeb995ca
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:15:36 2015 +0200

    s4:ntvfs/posix: fix forward declaration of struct pvfs_state
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 72e0885413d1de4206ceec2046b5e7a610116faf
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 18:15:03 2015 +0200

    s3:wscript: remove leftover from vfs_notify_fam
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit a184951673ef6cd69c1356e6ea0ee4622bd01312
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 20:07:59 2015 +0200

    s3:idmap: we need to allow undefined symbols in idmap_tdb
    
    When idmap_tdb is build as shared module we need to allow undefined symbols
    which callback into winbindd code.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 5134d29cbb2edcc2326de8896c5465afb3a0f392
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 13 15:04:14 2015 +0200

    s3:wscript: fix the build without any idmap module
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 examples/VFS/shadow_copy_test.c            |   1 +
 examples/VFS/skel_opaque.c                 |   1 +
 examples/VFS/skel_transparent.c            |   1 +
 examples/pdb/test.c                        |   4 +-
 script/autobuild.py                        |  39 +++++++--
 source3/modules/perfcount_test.c           |   1 +
 source3/modules/vfs_acl_tdb.c              |   1 +
 source3/modules/vfs_acl_xattr.c            |   1 +
 source3/modules/vfs_aio_linux.c            |   1 +
 source3/modules/vfs_audit.c                |   1 +
 source3/modules/vfs_catia.c                |   1 +
 source3/modules/vfs_dirsort.c              |   1 +
 source3/modules/vfs_extd_audit.c           |   1 +
 source3/modules/vfs_full_audit.c           |   1 +
 source3/modules/vfs_posix_eadb.c           |   2 +-
 source3/modules/vfs_scannedonly.c          |   1 +
 source3/modules/vfs_smb_traffic_analyzer.c |   1 +
 source3/modules/vfs_syncops.c              |   1 +
 source3/modules/wscript_build              |   4 -
 source3/winbindd/idmap_ad.c                |   1 +
 source3/winbindd/idmap_autorid.c           |   1 +
 source3/winbindd/idmap_hash/idmap_hash.c   |   1 +
 source3/winbindd/idmap_rfc2307.c           |   1 +
 source3/winbindd/idmap_rid.c               |   1 +
 source3/winbindd/idmap_script.c            |   1 +
 source3/winbindd/idmap_tdb2.c              |   1 +
 source3/winbindd/wscript_build             |  16 ++--
 source3/wscript                            | 123 ++++++++++++++++++++++-------
 source3/wscript_build                      |  12 +--
 source4/ntvfs/posix/posix_eadb.h           |   2 +-
 30 files changed, 164 insertions(+), 60 deletions(-)


Changeset truncated at 500 lines:

diff --git a/examples/VFS/shadow_copy_test.c b/examples/VFS/shadow_copy_test.c
index b3a99ca..05d6e16 100644
--- a/examples/VFS/shadow_copy_test.c
+++ b/examples/VFS/shadow_copy_test.c
@@ -83,6 +83,7 @@ static struct vfs_fn_pointers vfs_test_shadow_copy_fns = {
 	.get_shadow_copy_data_fn = test_get_shadow_copy_data
 };
 
+static_decl_vfs;
 NTSTATUS vfs_shadow_copy_test_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION,
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index 7021998..29fe6f4 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -961,6 +961,7 @@ struct vfs_fn_pointers skel_opaque_fns = {
 	.set_offline_fn = skel_set_offline
 };
 
+static_decl_vfs;
 NTSTATUS vfs_skel_opaque_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "skel_opaque",
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index 6c6adea..c5a36a6 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -1070,6 +1070,7 @@ struct vfs_fn_pointers skel_transparent_fns = {
 	.set_offline_fn = skel_set_offline
 };
 
+static_decl_vfs;
 NTSTATUS vfs_skel_transparent_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "skel_transparent",
diff --git a/examples/pdb/test.c b/examples/pdb/test.c
index 5780130..6d68d87 100644
--- a/examples/pdb/test.c
+++ b/examples/pdb/test.c
@@ -107,8 +107,8 @@ static NTSTATUS testsam_init(struct pdb_methods **pdb_method, const char *locati
 	return NT_STATUS_OK;
 }
 
-NTSTATUS pdb_testsam_init(void);
-NTSTATUS pdb_testsam_init(void)
+static_decl_pdb;
+NTSTATUS pdb_test_init(void)
 {
 	return smb_register_passdb(PASSDB_INTERFACE_VERSION, "testsam",
 				   testsam_init);
diff --git a/script/autobuild.py b/script/autobuild.py
index d2662b9..c91ff2c 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -41,6 +41,13 @@ defaulttasks = [ "ctdb", "samba", "samba-xc", "samba-ctdb", "samba-libs", "ldb",
 
 samba_configure_params = " --picky-developer ${PREFIX} --with-profiling-data"
 
+samba_libs_envvars =  "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH"
+samba_libs_envvars += " PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig"
+samba_libs_envvars += " ADDITIONAL_CFLAGS='-Wmissing-prototypes'"
+samba_libs_configure_base = samba_libs_envvars + " ./configure --abi-check --enable-debug --picky-developer -C ${PREFIX}"
+samba_libs_configure_libs = samba_libs_configure_base + " --bundled-libraries=NONE"
+samba_libs_configure_samba = samba_libs_configure_base + " --bundled-libraries=!talloc,!tdb,!pytdb,!ldb,!pyldb,!tevent,!pytevent"
+
 tasks = {
     "ctdb" : [ ("random-sleep", "../script/random-sleep.sh 60 600", "text/plain"),
                ("configure", "./configure ${PREFIX}", "text/plain"),
@@ -89,26 +96,46 @@ tasks = {
 
     "samba-libs" : [
                       ("random-sleep", "script/random-sleep.sh 60 600", "text/plain"),
-                      ("talloc-configure", "cd lib/talloc && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+                      ("talloc-configure", "cd lib/talloc && " + samba_libs_configure_libs, "text/plain"),
                       ("talloc-make", "cd lib/talloc && make", "text/plain"),
                       ("talloc-install", "cd lib/talloc && make install", "text/plain"),
 
-                      ("tdb-configure", "cd lib/tdb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+                      ("tdb-configure", "cd lib/tdb && " + samba_libs_configure_libs, "text/plain"),
                       ("tdb-make", "cd lib/tdb && make", "text/plain"),
                       ("tdb-install", "cd lib/tdb && make install", "text/plain"),
 
-                      ("tevent-configure", "cd lib/tevent && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+                      ("tevent-configure", "cd lib/tevent && " + samba_libs_configure_libs, "text/plain"),
                       ("tevent-make", "cd lib/tevent && make", "text/plain"),
                       ("tevent-install", "cd lib/tevent && make install", "text/plain"),
 
-                      ("ldb-configure", "cd lib/ldb && PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=NONE --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+                      ("ldb-configure", "cd lib/ldb && " + samba_libs_configure_libs, "text/plain"),
                       ("ldb-make", "cd lib/ldb && make", "text/plain"),
                       ("ldb-install", "cd lib/ldb && make install", "text/plain"),
 
-                      ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+                      ("configure", samba_libs_configure_samba, "text/plain"),
                       ("make", "make", "text/plain"),
                       ("install", "make install", "text/plain"),
-                      ("dist", "make dist", "text/plain")],
+                      ("dist", "make dist", "text/plain"),
+
+                      # retry with all modules shared
+                      ("allshared-distclean", "make distclean", "text/plain"),
+                      ("allshared-configure", samba_libs_configure_samba + " --with-shared-modules=ALL", "text/plain"),
+                      ("allshared-make", "make", "text/plain"),
+
+                      # retry with all modules static
+                      ("allstatic-distclean", "make distclean", "text/plain"),
+                      ("allstatic-configure", samba_libs_configure_samba + " --with-static-modules=ALL", "text/plain"),
+                      ("allstatic-make", "make", "text/plain"),
+
+                      # retry without any required modules
+                      ("none-distclean", "make distclean", "text/plain"),
+                      ("none-configure", samba_libs_configure_samba + " --with-static-modules=!FORCED,!DEFAULT --with-shared-modules=!FORCED,!DEFAULT", "text/plain"),
+                      ("none-make", "make", "text/plain"),
+
+                      # retry with nonshared smbd and smbtorture
+                      ("nonshared-distclean", "make distclean", "text/plain"),
+                      ("nonshared-configure", samba_libs_configure_base + " --bundled-libraries=talloc,tdb,pytdb,ldb,pyldb,tevent,pytevent --with-static-modules=ALL --nonshared-binary=smbtorture,smbd/smbd", "text/plain"),
+                      ("nonshared-make", "make", "text/plain")],
 
     "ldb" : [
               ("random-sleep", "../../script/random-sleep.sh 60 600", "text/plain"),
diff --git a/source3/modules/perfcount_test.c b/source3/modules/perfcount_test.c
index 0dc073c..ccc74dd 100644
--- a/source3/modules/perfcount_test.c
+++ b/source3/modules/perfcount_test.c
@@ -385,6 +385,7 @@ static struct smb_perfcount_handlers perfcount_test_handlers = {
 	perfcount_test_end
 };
 
+static_decl_perfcount;
 NTSTATUS perfcount_test_init(void)
 {
 	return smb_register_perfcounter(SMB_PERFCOUNTER_INTERFACE_VERSION,
diff --git a/source3/modules/vfs_acl_tdb.c b/source3/modules/vfs_acl_tdb.c
index 1537ba3..c7acf43 100644
--- a/source3/modules/vfs_acl_tdb.c
+++ b/source3/modules/vfs_acl_tdb.c
@@ -403,6 +403,7 @@ static struct vfs_fn_pointers vfs_acl_tdb_fns = {
 	.sys_acl_set_fd_fn = sys_acl_set_fd_tdb
 };
 
+static_decl_vfs;
 NTSTATUS vfs_acl_tdb_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "acl_tdb",
diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c
index c1b0a60..710fbf3 100644
--- a/source3/modules/vfs_acl_xattr.c
+++ b/source3/modules/vfs_acl_xattr.c
@@ -214,6 +214,7 @@ static struct vfs_fn_pointers vfs_acl_xattr_fns = {
 	.sys_acl_set_fd_fn = sys_acl_set_fd_xattr
 };
 
+static_decl_vfs;
 NTSTATUS vfs_acl_xattr_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "acl_xattr",
diff --git a/source3/modules/vfs_aio_linux.c b/source3/modules/vfs_aio_linux.c
index 5b515d8..db5f075 100644
--- a/source3/modules/vfs_aio_linux.c
+++ b/source3/modules/vfs_aio_linux.c
@@ -348,6 +348,7 @@ static struct vfs_fn_pointers vfs_aio_linux_fns = {
 	.fsync_recv_fn = aio_linux_int_recv,
 };
 
+static_decl_vfs;
 NTSTATUS vfs_aio_linux_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION,
diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c
index 6963c37..02e8f35 100644
--- a/source3/modules/vfs_audit.c
+++ b/source3/modules/vfs_audit.c
@@ -283,6 +283,7 @@ static struct vfs_fn_pointers vfs_audit_fns = {
 	.fchmod_acl_fn = audit_fchmod_acl
 };
 
+static_decl_vfs;
 NTSTATUS vfs_audit_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "audit",
diff --git a/source3/modules/vfs_catia.c b/source3/modules/vfs_catia.c
index f455afd..c17ffa8 100644
--- a/source3/modules/vfs_catia.c
+++ b/source3/modules/vfs_catia.c
@@ -1005,6 +1005,7 @@ static struct vfs_fn_pointers vfs_catia_fns = {
 	.setxattr_fn = catia_setxattr,
 };
 
+static_decl_vfs;
 NTSTATUS vfs_catia_init(void)
 {
 	NTSTATUS ret;
diff --git a/source3/modules/vfs_dirsort.c b/source3/modules/vfs_dirsort.c
index 224229f..d164088 100644
--- a/source3/modules/vfs_dirsort.c
+++ b/source3/modules/vfs_dirsort.c
@@ -358,6 +358,7 @@ static struct vfs_fn_pointers vfs_dirsort_fns = {
 	.closedir_fn = dirsort_closedir,
 };
 
+static_decl_vfs;
 NTSTATUS vfs_dirsort_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "dirsort",
diff --git a/source3/modules/vfs_extd_audit.c b/source3/modules/vfs_extd_audit.c
index 93ae7e6..7d6b4d3 100644
--- a/source3/modules/vfs_extd_audit.c
+++ b/source3/modules/vfs_extd_audit.c
@@ -360,6 +360,7 @@ static struct vfs_fn_pointers vfs_extd_audit_fns = {
 	.fchmod_acl_fn = audit_fchmod_acl,
 };
 
+static_decl_vfs;
 NTSTATUS vfs_extd_audit_init(void)
 {
 	NTSTATUS ret = smb_register_vfs(SMB_VFS_INTERFACE_VERSION,
diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c
index 6de22b1..11f5d82 100644
--- a/source3/modules/vfs_full_audit.c
+++ b/source3/modules/vfs_full_audit.c
@@ -2323,6 +2323,7 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
 	.set_offline_fn = smb_full_audit_set_offline,
 };
 
+static_decl_vfs;
 NTSTATUS vfs_full_audit_init(void)
 {
 	NTSTATUS ret = smb_register_vfs(SMB_VFS_INTERFACE_VERSION,
diff --git a/source3/modules/vfs_posix_eadb.c b/source3/modules/vfs_posix_eadb.c
index 993c919..20679e1 100644
--- a/source3/modules/vfs_posix_eadb.c
+++ b/source3/modules/vfs_posix_eadb.c
@@ -431,7 +431,7 @@ static struct vfs_fn_pointers vfs_posix_eadb_fns = {
 	.connect_fn = posix_eadb_connect,
 };
 
-NTSTATUS vfs_posix_eadb_init(void);
+static_decl_vfs;
 NTSTATUS vfs_posix_eadb_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "posix_eadb",
diff --git a/source3/modules/vfs_scannedonly.c b/source3/modules/vfs_scannedonly.c
index 0232a15..128374a 100644
--- a/source3/modules/vfs_scannedonly.c
+++ b/source3/modules/vfs_scannedonly.c
@@ -1036,6 +1036,7 @@ static struct vfs_fn_pointers vfs_scannedonly_fns = {
 	.connect_fn = scannedonly_connect
 };
 
+static_decl_vfs;
 NTSTATUS vfs_scannedonly_init(void)
 {
 	return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "scannedonly",
diff --git a/source3/modules/vfs_smb_traffic_analyzer.c b/source3/modules/vfs_smb_traffic_analyzer.c
index 4938ff7..73ebf63 100644
--- a/source3/modules/vfs_smb_traffic_analyzer.c
+++ b/source3/modules/vfs_smb_traffic_analyzer.c
@@ -919,6 +919,7 @@ static struct vfs_fn_pointers vfs_smb_traffic_analyzer_fns = {
 };
 
 /* Module initialization */
+static_decl_vfs;
 NTSTATUS vfs_smb_traffic_analyzer_init(void)
 {
 	NTSTATUS ret = smb_register_vfs(SMB_VFS_INTERFACE_VERSION,
diff --git a/source3/modules/vfs_syncops.c b/source3/modules/vfs_syncops.c
index 8ff283d..99f6178 100644
--- a/source3/modules/vfs_syncops.c
+++ b/source3/modules/vfs_syncops.c
@@ -291,6 +291,7 @@ static struct vfs_fn_pointers vfs_syncops_fns = {
 	.close_fn = syncops_close,
 };
 
+static_decl_vfs;
 NTSTATUS vfs_syncops_init(void)
 {
 	NTSTATUS ret;
diff --git a/source3/modules/wscript_build b/source3/modules/wscript_build
index e618b08..e6576ac 100644
--- a/source3/modules/wscript_build
+++ b/source3/modules/wscript_build
@@ -281,10 +281,6 @@ bld.SAMBA3_MODULE('vfs_gpfs',
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'),
                  includes=bld.CONFIG_GET('CPPPATH_GPFS'))
 
-vfs_notify_fam_deps='samba-util '
-if bld.CONFIG_SET('SAMBA_FAM_LIBS'):
-   vfs_notify_fam_deps += bld.CONFIG_GET('SAMBA_FAM_LIBS')
-
 bld.SAMBA3_MODULE('vfs_readahead',
                  subsystem='vfs',
                  source='vfs_readahead.c',
diff --git a/source3/winbindd/idmap_ad.c b/source3/winbindd/idmap_ad.c
index 5f7ab63..bc9d785 100644
--- a/source3/winbindd/idmap_ad.c
+++ b/source3/winbindd/idmap_ad.c
@@ -962,6 +962,7 @@ static struct nss_info_methods nss_sfu20_methods = {
  Initialize the plugins
  ***********************************************************************/
 
+static_decl_idmap;
 NTSTATUS idmap_ad_init(void)
 {
 	static NTSTATUS status_idmap_ad = NT_STATUS_UNSUCCESSFUL;
diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c
index eeac2b0..76dccaa 100644
--- a/source3/winbindd/idmap_autorid.c
+++ b/source3/winbindd/idmap_autorid.c
@@ -824,6 +824,7 @@ static struct idmap_methods autorid_methods = {
 	.allocate_id	 = idmap_autorid_allocate_id
 };
 
+static_decl_idmap;
 NTSTATUS idmap_autorid_init(void)
 {
 	return smb_register_idmap(SMB_IDMAP_INTERFACE_VERSION,
diff --git a/source3/winbindd/idmap_hash/idmap_hash.c b/source3/winbindd/idmap_hash/idmap_hash.c
index 1dbd300..51bbf5b 100644
--- a/source3/winbindd/idmap_hash/idmap_hash.c
+++ b/source3/winbindd/idmap_hash/idmap_hash.c
@@ -366,6 +366,7 @@ static struct nss_info_methods hash_nss_methods = {
  state.
  **********************************************************************/
 
+static_decl_idmap;
 NTSTATUS idmap_hash_init(void)
 {
 	static NTSTATUS idmap_status = NT_STATUS_UNSUCCESSFUL;
diff --git a/source3/winbindd/idmap_rfc2307.c b/source3/winbindd/idmap_rfc2307.c
index e9d04c3..6b3ab4a 100644
--- a/source3/winbindd/idmap_rfc2307.c
+++ b/source3/winbindd/idmap_rfc2307.c
@@ -861,6 +861,7 @@ static struct idmap_methods rfc2307_methods = {
 	.sids_to_unixids = idmap_rfc2307_sids_to_unixids,
 };
 
+static_decl_idmap;
 NTSTATUS idmap_rfc2307_init(void)
 {
 	return smb_register_idmap(SMB_IDMAP_INTERFACE_VERSION, "rfc2307",
diff --git a/source3/winbindd/idmap_rid.c b/source3/winbindd/idmap_rid.c
index 099f68c..d6c649b 100644
--- a/source3/winbindd/idmap_rid.c
+++ b/source3/winbindd/idmap_rid.c
@@ -185,6 +185,7 @@ static struct idmap_methods rid_methods = {
 	.sids_to_unixids = idmap_rid_sids_to_unixids,
 };
 
+static_decl_idmap;
 NTSTATUS idmap_rid_init(void)
 {
 	return smb_register_idmap(SMB_IDMAP_INTERFACE_VERSION, "rid", &rid_methods);
diff --git a/source3/winbindd/idmap_script.c b/source3/winbindd/idmap_script.c
index 3a0d685..e758b4e 100644
--- a/source3/winbindd/idmap_script.c
+++ b/source3/winbindd/idmap_script.c
@@ -388,6 +388,7 @@ static struct idmap_methods db_methods = {
 	.sids_to_unixids = idmap_script_sids_to_unixids,
 };
 
+static_decl_idmap;
 NTSTATUS idmap_script_init(void)
 {
 	return smb_register_idmap(SMB_IDMAP_INTERFACE_VERSION, "script", &db_methods);
diff --git a/source3/winbindd/idmap_tdb2.c b/source3/winbindd/idmap_tdb2.c
index ddd4dbf..1b75936 100644
--- a/source3/winbindd/idmap_tdb2.c
+++ b/source3/winbindd/idmap_tdb2.c
@@ -609,6 +609,7 @@ static struct idmap_methods db_methods = {
 	.allocate_id     = idmap_tdb_common_get_new_id
 };
 
+static_decl_idmap;
 NTSTATUS idmap_tdb2_init(void)
 {
 	return smb_register_idmap(SMB_IDMAP_INTERFACE_VERSION, "tdb2", &db_methods);
diff --git a/source3/winbindd/wscript_build b/source3/winbindd/wscript_build
index 2f7e74d..3ee280c 100644
--- a/source3/winbindd/wscript_build
+++ b/source3/winbindd/wscript_build
@@ -2,7 +2,7 @@
 
 bld.SAMBA3_LIBRARY('idmap',
                    source='idmap.c idmap_util.c',
-                   deps='samba-util',
+                   deps='samba-util pdb',
                    allow_undefined_symbols=True,
                    private_library=True)
 
@@ -16,12 +16,13 @@ bld.SAMBA3_SUBSYSTEM('IDMAP_TDB_COMMON',
 
 bld.SAMBA3_SUBSYSTEM('IDMAP_HASH',
                     source='idmap_hash/idmap_hash.c idmap_hash/mapfile.c',
-                    deps='samba-util krb5samba')
+                    deps='samba-util krb5samba',
+                    enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_hash'))
 
 bld.SAMBA3_SUBSYSTEM('IDMAP_AD',
                     source='idmap_ad.c',
                     deps='ads nss_info',
-                    enabled=bld.CONFIG_SET("HAVE_LDAP"))
+                    enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
 
 bld.SAMBA3_MODULE('idmap_ad',
                  subsystem='idmap',
@@ -30,7 +31,7 @@ bld.SAMBA3_MODULE('idmap_ad',
                  deps='IDMAP_AD',
                  init_function='',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
-                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.CONFIG_SET("HAVE_LDAP"))
+                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
 
 bld.SAMBA3_MODULE('idmap_rfc2307',
                  subsystem='idmap',
@@ -39,7 +40,7 @@ bld.SAMBA3_MODULE('idmap_rfc2307',
                  init_function='',
                  deps='ads',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_rfc2307'),
-                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_rfc2307') and bld.CONFIG_SET("HAVE_LDAP"))
+                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_rfc2307'))
 
 bld.SAMBA3_MODULE('idmap_rid',
                  subsystem='idmap',
@@ -79,6 +80,7 @@ bld.SAMBA3_MODULE('idmap_tdb',
                  source='idmap_tdb.c',
                  deps='samba-util tdb IDMAP_TDB_COMMON',
                  init_function='',
+                 allow_undefined_symbols=True,
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_tdb'),
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_tdb'))
 
@@ -141,7 +143,7 @@ bld.SAMBA3_MODULE('nss_info_rfc2307',
                  allow_undefined_symbols=True,
                  init_function='',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
-                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.CONFIG_SET("HAVE_LDAP"))
+                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
 
 bld.SAMBA3_MODULE('nss_info_sfu20',
                  subsystem='nss_info',
@@ -150,7 +152,7 @@ bld.SAMBA3_MODULE('nss_info_sfu20',
                  allow_undefined_symbols=True,
                  init_function='',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
-                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.CONFIG_SET("HAVE_LDAP"))
+                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
 
 bld.SAMBA3_MODULE('nss_info_sfu',
                  subsystem='nss_info',
diff --git a/source3/wscript b/source3/wscript
index 4e940fa..4918951 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -16,10 +16,24 @@ Options.default_prefix = '/usr/local/samba'
 def set_options(opt):
 
     opt.add_option('--with-static-modules',
-                   help=("Comma-separated list of names of modules to statically link in"),
+                   help=("Comma-separated list of names of modules to statically link in. "+
+                         "May include !module to disable 'module'. "+
+                         "Can be '!FORCED' to disable all non-required static only modules. "+
+                         "Can be '!DEFAULT' to disable all modules defaulting to a static build. "+
+                         "Can be 'ALL' to build all default shared modules static. "+
+                         "The most specific one wins, while the order is ignored "+
+                         "and --with-static-modules is evaluated before "+
+                         "--with-shared-modules"),
                    action="store", dest='static_modules', default=None)
     opt.add_option('--with-shared-modules',
-                   help=("Comma-separated list of names of modules to build shared"),
+                   help=("Comma-separated list of names of modules to build shared. "+
+                         "May include !module to disable 'module'. "+
+                         "Can be '!FORCED' to disable all non-required shared only modules. "+
+                         "Can be '!DEFAULT' to disable all modules defaulting to a shared build. "+
+                         "Can be 'ALL' to build all default static modules shared. "+
+                         "The most specific one wins, while the order is ignored "+
+                         "and --with-static-modules is evaluated before "+
+                         "--with-shared-modules"),
                    action="store", dest='shared_modules', default=None)
 
     opt.SAMBA3_ADD_OPTION('winbind')
@@ -69,6 +83,9 @@ def configure(conf):
 
     default_static_modules = []
     default_shared_modules = []
+    required_static_modules = []
+    forced_static_modules = []
+    forced_shared_modules = []
 
     if Options.options.developer:
         conf.ADD_CFLAGS('-DDEVELOPER -DDEBUG_PASSWORD')
@@ -77,6 +94,9 @@ def configure(conf):
     if sys.platform != 'openbsd5':
         conf.ADD_LDFLAGS("-Wl,--export-dynamic", testflags=True)
 
+    # We crash without vfs_default
+    required_static_modules.extend(TO_LIST('vfs_default'))
+
     conf.CHECK_HEADERS('execinfo.h libexc.h libunwind.h netdb.h')


-- 
Samba Shared Repository



More information about the samba-cvs mailing list