s3:client: Migrate smbclient to new cmdline option parser
[asn/samba.git] / source3 / wscript_build
index aa8fdc175674d8caafb9d8b327072fabe424024a..dd63d171f932f74aba32d293773db22129bd1040 100644 (file)
@@ -112,7 +112,7 @@ bld.SAMBA3_BINARY('test_tldap',
                        smbconf
                        cmocka
                        ''',
-                  install=False)
+                  for_selftest=True)
 
 # libpdb.so should not expose internal symbols that are only usable
 # to the statically linked modules that are merged into libpdb.
@@ -149,7 +149,7 @@ bld.SAMBA3_LIBRARY('samba-passdb',
                                   ''',
                    abi_match=private_pdb_match,
                    abi_directory='passdb/ABI',
-                   vnum='0.27.1')
+                   vnum='0.28.0')
 
 bld.SAMBA3_SUBSYSTEM('pdb',
                    source='''
@@ -168,8 +168,7 @@ bld.SAMBA3_SUBSYSTEM('pdb',
                           lib/winbind_util.c
                           passdb/pdb_util.c
                           passdb/pdb_interface.c
-                          passdb/pdb_secrets.c
-                          passdb/pdb_unixid.c''',
+                          passdb/pdb_secrets.c''',
                    deps='''
                         secrets3
                         GROUPDB
@@ -178,6 +177,7 @@ bld.SAMBA3_SUBSYSTEM('pdb',
                         LIBCLI_AUTH
                         flag_mapping
                         samba-credentials
+                        samba-modules
                         nscd
                         ''')
 
@@ -204,9 +204,11 @@ bld.SAMBA3_SUBSYSTEM('REGFIO',
                     source='registry/regfio.c',
                     deps='samba-util REG_PARSE_PRS')
 
-bld.SAMBA3_SUBSYSTEM('REG_API_REGF',
-                    source='registry/reg_api_regf.c',
-                    deps='samba-util')
+bld.SAMBA_BINARY('test_registry_regfio',
+                 source='registry/tests/test_regfio.c',
+                 deps='cmocka samba3-util smbconf REGFIO',
+                 local_include=False,
+                 for_selftest=True)
 
 # Do not link against this use 'smbconf'
 bld.SAMBA3_SUBSYSTEM('SMBREGISTRY',
@@ -219,6 +221,7 @@ bld.SAMBA3_SUBSYSTEM('SMBREGISTRY',
                           lib/util_nttoken.c
                           registry/reg_backend_db.c
                           registry/reg_parse_internal.c
+                          registry/reg_parse.c
                           lib/srprs.c
                           registry/reg_init_basic.c
                           ''',
@@ -276,7 +279,7 @@ bld.SAMBA3_LIBRARY('popt_samba3_cmdline',
 
 bld.SAMBA3_LIBRARY('util_cmdline',
                    source='lib/util_cmdline.c',
-                   deps='secrets3',
+                   deps='secrets3 samba-credentials cli_smb_common',
                    private_library=True)
 
 bld.SAMBA3_LIBRARY('cmdline_contexts',
@@ -303,6 +306,7 @@ bld.SAMBA3_SUBSYSTEM('samba3util',
                           lib/util_sock.c
                           lib/util_tsock.c
                           lib/util_transfer_file.c
+                          lib/util_macstreams.c
                           ''',
                    deps='''
                         CHARSET3
@@ -356,20 +360,6 @@ bld.SAMBA3_SUBSYSTEM('TDB_LIB',
                           samba-cluster-support
                           ''')
 
-bld.SAMBA3_LIBRARY('messages_dgm',
-                   source='''
-                          lib/messages_dgm.c
-                          lib/messages_dgm_ref.c
-                          ''',
-                   deps='''
-                        talloc
-                        samba-debug
-                        PTHREADPOOL
-                        msghdr
-                        genrand
-                        ''',
-                   private_library=True)
-
 bld.SAMBA3_LIBRARY('messages_util',
                    source='''lib/messages_util.c''',
                    deps='samba-util',
@@ -395,17 +385,14 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
                           lib/ms_fnmatch.c
                           lib/tallocmsg.c
                           lib/dmallocmsg.c
-                          intl/lang_tdb.c
                           lib/gencache.c
                           lib/util_event.c
                           lib/global_contexts.c
                           lib/server_prefork.c
                           lib/server_prefork_util.c
                           lib/ldap_escape.c
-                          libads/krb5_errs.c
                           lib/system_smbd.c
                           lib/audit.c
-                          lib/tevent_wait.c
                           lib/idmap_cache.c
                           lib/namemap_cache.c
                           lib/util_ea.c
@@ -427,9 +414,10 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
                         server_id_db
                         messages_util
                         messages_dgm
-                        talloc_report
+                        talloc_report_printf
                         access
                         TDB_LIB
+                        z
                         ''')
 
 bld.SAMBA3_LIBRARY('smbd_shim',
@@ -455,13 +443,11 @@ bld.SAMBA3_LIBRARY('libsmb',
                           libsmb/cliprint.c
                           libsmb/clitrans.c
                           libsmb/clisecdesc.c
-                          libsmb/clidgram.c
                           libsmb/clistr.c
                           libsmb/cliquota.c
                           libsmb/clifsinfo.c
                           libsmb/clidfs.c
                           libsmb/clioplock.c
-                          libsmb/clirap2.c
                           libsmb/async_smb.c
                           libsmb/reparse_symlink.c
                           libsmb/clisymlink.c
@@ -502,6 +488,8 @@ bld.SAMBA3_LIBRARY('secrets3',
                         smbconf
                         samba3util
                         dbwrap
+                        krb5samba
+                        LIBCLI_AUTH
                         ''',
                    private_library=True)
 
@@ -513,7 +501,7 @@ bld.SAMBA3_LIBRARY('smbldap',
                     abi_directory='lib/ABI',
                     abi_match='smbldap_*',
                     pc_files=[],
-                    vnum='2',
+                    vnum='2.1.0',
                     public_headers='include/smbldap.h include/smb_ldap.h')
 
 bld.SAMBA3_LIBRARY('ads',
@@ -588,7 +576,7 @@ bld.SAMBA3_LIBRARY('smbconf',
                         SAMBA_VERSION
                         cap
                         charset
-                        cli_smb_common
+                        samba-hostconfig
                         errors3
                         SMBCONF_PARAM
                         samba-util
@@ -601,7 +589,7 @@ bld.SAMBA3_LIBRARY('smbconf',
 
 bld.SAMBA3_LIBRARY('smbd_conn',
                    source='smbd/conn.c',
-                   deps='samba3-util samba-util',
+                   deps='samba3-util samba-util FNAME_UTIL',
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('sysquotas',
@@ -669,7 +657,6 @@ bld.SAMBA3_LIBRARY('smbd_base',
                           smbd/error.c
                           printing/printspoolss.c
                           lib/sessionid_tdb.c
-                          lib/conn_tdb.c
                           lib/cleanupdb.c
                           smbd/fake_file.c
                           smbd/quotas.c
@@ -718,6 +705,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
                           smbd/notify.c
                           smbd/notify_msg.c
                           smbd/build_options.c
+                          smbd/smb1_utils.c
                           ''' + NOTIFY_SOURCES,
                    deps='''
                         talloc
@@ -749,6 +737,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
                         notifyd
                         vfs_acl_common
                         NDR_QUOTA
+                        GNUTLS_HELPERS
                    ''' +
                    bld.env['dmapi_lib'] +
                    bld.env['legacy_quota_libs'] +
@@ -782,7 +771,10 @@ bld.SAMBA3_SUBSYSTEM('LEASES_UTIL',
 if bld.CONFIG_GET("WITH_PROFILE"):
     bld.SAMBA3_SUBSYSTEM('PROFILE',
                          source='profile/profile.c',
-                         deps='samba-util')
+                         deps='''
+                              samba-util
+                              gnutls
+                              ''')
 else:
     bld.SAMBA3_SUBSYSTEM('PROFILE',
                          source='profile/profile_dummy.c',
@@ -883,12 +875,14 @@ bld.SAMBA3_SUBSYSTEM('LIBNMB',
                             libsmb/unexpected.c
                             libsmb/namecache.c
                             libsmb/nmblib.c
+                            libsmb/clidgram.c
                             libsmb/namequery.c
                             libsmb/conncache.c
                             libads/sitename_cache.c
                             ''',
                      deps='''
                           LIBTSOCKET
+                          LIBCLI_NETLOGON
                           samba3util
                           addns
                           lmhosts
@@ -912,6 +906,7 @@ bld.SAMBA3_SUBSYSTEM('PLAINTEXT_AUTH',
                            auth/pass_check.c
                            ''',
                     deps='''
+                         crypt
                          pam
                          PAM_ERRORS
                          ''')
@@ -936,13 +931,22 @@ bld.SAMBA3_SUBSYSTEM('SLCACHE',
                          tdb
                          ''')
 
+bld.SAMBA3_SUBSYSTEM('dsgetdcname',
+                    source='''
+                           libsmb/dsgetdcname.c
+                           ''',
+                    deps='''
+                         CLDAP
+                         LIBNMB
+                         ''')
+
 bld.SAMBA3_SUBSYSTEM('DCUTIL',
                     source='''
                            libsmb/namequery_dc.c
-                           libsmb/dsgetdcname.c
                            ''',
                     deps='''
                          ads
+                         dsgetdcname
                          msrpc3
                          libcli_lsa3
                          ''')
@@ -1007,7 +1011,7 @@ bld.SAMBA3_SUBSYSTEM('errors3',
 
 bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
                     source='rpc_client/cli_samr.c',
-                    deps='RPC_NDR_SAMR')
+                    deps='RPC_NDR_SAMR INIT_SAMR')
 
 bld.SAMBA3_LIBRARY('libcli_lsa3',
                    source='rpc_client/cli_lsarpc.c',
@@ -1022,7 +1026,6 @@ bld.SAMBA3_LIBRARY('libcli_netlogon3',
                    deps='''
                         msrpc3
                         RPC_NDR_NETLOGON
-                        INIT_NETLOGON
                         cliauth
                         smbconf
                         NETLOGON_CREDS_CLI''',
@@ -1051,17 +1054,20 @@ bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
                     source='rpc_client/cli_pipe_schannel.c',
                     deps='samba-util krb5samba')
 
+bld.SAMBA3_SUBSYSTEM('RPCCLI_MDSSVC',
+                    source='''
+                    rpc_client/cli_mdssvc.c
+                    rpc_client/cli_mdssvc_util.c
+                    ''',
+                    deps='mdssvc RPC_NDR_MDSSVC')
+
 bld.SAMBA3_SUBSYSTEM('INIT_LSA',
                     source='rpc_client/init_lsa.c',
                     deps='samba-util')
 
-bld.SAMBA3_SUBSYSTEM('INIT_NETLOGON',
-                    source='rpc_client/init_netlogon.c',
-                    deps='samba-util')
-
 bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
                     source='rpc_client/init_samr.c',
-                    deps='samba-util')
+                    deps='samba-util GNUTLS_HELPERS')
 
 bld.SAMBA3_SUBSYSTEM('LIBLSA',
                      source='lib/lsa.c')
@@ -1073,6 +1079,19 @@ bld.SAMBA3_SUBSYSTEM('SPOOLSSD',
                          RPC_SOCK_HELPER
                          ''')
 
+bld.SAMBA3_SUBSYSTEM('tevent-glib-glue',
+                    source='lib/tevent_glib_glue.c',
+                    deps='glib-2.0',
+                    enabled=bld.CONFIG_SET('WITH_TEVENT_GLIB_GLUE'),
+)
+
+bld.SAMBA3_SUBSYSTEM('ADOUBLE',
+                    source='lib/adouble.c',
+                    deps='STRING_REPLACE')
+
+bld.SAMBA3_SUBSYSTEM('STRING_REPLACE',
+                    source='lib/string_replace.c')
+
 ########################## BINARIES #################################
 
 bld.SAMBA3_BINARY('smbd/smbd',
@@ -1102,7 +1121,7 @@ bld.SAMBA3_BINARY('client/smbclient',
                         ''',
                  deps='''
                       talloc
-                      popt_samba3_cmdline
+                      CMDLINE_S3
                       smbconf
                       ndr-standard
                       SMBREADLINE
@@ -1128,10 +1147,15 @@ bld.SAMBA3_BINARY('smbspool_krb5_wrapper',
                  deps='''
                       DYNCONFIG
                       cups
+                      krb5samba
                       ''',
                  install_path='${LIBEXECDIR}/samba',
                  enabled=bld.CONFIG_SET('HAVE_CUPS'))
 
+bld.SAMBA3_BINARY('smbspool_argv_wrapper',
+                 source='script/tests/smbspool_argv_wrapper.c',
+                 for_selftest=True)
+
 bld.SAMBA3_BINARY('locktest2',
                  source='torture/locktest2.c',
                  deps='''
@@ -1140,26 +1164,12 @@ bld.SAMBA3_BINARY('locktest2',
                       libsmb
                       LOCKING
                       ''',
-                 install=False)
-
-smbstatus_source = 'utils/status.c smbd/notify_msg.c'
+                 for_selftest=True)
 
-if bld.CONFIG_GET("WITH_PROFILE"):
-    smbstatus_source += ' utils/status_profile.c'
-else:
-    smbstatus_source += ' utils/status_profile_dummy.c'
+TORTURE3_ADDITIONAL_SOURCE=""
 
-bld.SAMBA3_BINARY('smbstatus',
-                 source=smbstatus_source,
-                 deps='''
-                      talloc
-                      smbconf
-                      popt_samba3
-                      cmdline_contexts
-                      smbd_base
-                      LOCKING
-                      PROFILE
-                      ''')
+if bld.env.with_ctdb:
+    TORTURE3_ADDITIONAL_SOURCE += ' torture/test_ctdbd_conn.c'
 
 bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                  source='''
@@ -1198,8 +1208,10 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                         torture/wbc_async.c
                         torture/test_g_lock.c
                         torture/test_namemap_cache.c
+                        torture/test_idmap_cache.c
                         torture/test_hidenewfiles.c
-                        ''',
+                        torture/test_readdir_timestamp.c
+                        ''' + TORTURE3_ADDITIONAL_SOURCE,
                  deps='''
                       talloc
                       smbconf
@@ -1215,7 +1227,7 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                       samba-cluster-support
                       ''',
                  cflags='-DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
-                 install=False)
+                 for_selftest=True)
 
 bld.SAMBA3_BINARY('smbconftort',
                  source='lib/smbconf/testsuite.c',
@@ -1224,12 +1236,7 @@ bld.SAMBA3_BINARY('smbconftort',
                       smbconf
                       popt_samba3
                       ''',
-                 install=False)
-
-bld.SAMBA3_BINARY('replacetort',
-                 source='../lib/replace/test/main.c',
-                 deps='replace replace-test',
-                 install=False)
+                 for_selftest=True)
 
 bld.SAMBA3_BINARY('msgtest',
                  source='torture/msgtest.c',
@@ -1255,6 +1262,24 @@ bld.SAMBA3_BINARY('msg_source',
                       ''',
                  install=False)
 
+bld.SAMBA3_BINARY('test_mdsparser_es',
+                 source='''
+                 rpc_server/mdssvc/test_mdsparser_es.c
+                 rpc_server/mdssvc/es_parser.y
+                 rpc_server/mdssvc/es_lexer.l
+                 rpc_server/mdssvc/es_mapping.c
+                 ''',
+                 deps='''
+                 samba3-util
+                 talloc
+                 smbconf
+                 jansson
+                 cmocka
+                 popt_samba3_cmdline
+                 ''',
+                 enabled=bld.env.spotlight_backend_es,
+                 for_selftest=True)
+
 bld.SAMBA3_BINARY('pdbtest',
                  source='torture/pdbtest.c',
                  deps='''
@@ -1264,7 +1289,7 @@ bld.SAMBA3_BINARY('pdbtest',
                       AUTH_COMMON
                       auth
                       ''',
-                 install=False)
+                 for_selftest=True)
 
 bld.SAMBA3_BINARY('vfstest',
                  source='''
@@ -1278,7 +1303,7 @@ bld.SAMBA3_BINARY('vfstest',
                       smbconf
                       SMBREADLINE
                       ''',
-                 install=False)
+                 for_selftest=True)
 
 bld.SAMBA3_BINARY('versiontest',
                  source='lib/version_test.c',
@@ -1290,7 +1315,7 @@ bld.SAMBA3_BINARY('versiontest',
 
 bld.SAMBA3_BINARY('timelimit',
                  source='script/tests/timelimit.c',
-                 install=False)
+                 for_selftest=True)
 
 bld.SAMBA3_BINARY('rpc_open_tcp',
                  source='torture/rpc_open_tcp.c',
@@ -1298,7 +1323,7 @@ bld.SAMBA3_BINARY('rpc_open_tcp',
                       talloc
                       msrpc3
                       ''',
-                 install=False)
+                 for_selftest=True)
 
 bld.SAMBA3_BINARY('vlp',
                  source='printing/tests/vlp.c',
@@ -1306,28 +1331,29 @@ bld.SAMBA3_BINARY('vlp',
                       talloc
                       smbconf
                       ''',
-                 install=False)
+                 for_selftest=True)
 
 
-for env in bld.gen_python_environments():
-    pyrpc_util = bld.pyembed_libname('pyrpc_util')
-    pytalloc_util = bld.pyembed_libname('pytalloc-util')
-    bld.SAMBA3_PYTHON('pysmbd',
+pyrpc_util = bld.pyembed_libname('pyrpc_util')
+pytalloc_util = bld.pyembed_libname('pytalloc-util')
+bld.SAMBA3_PYTHON('pysmbd',
                   source='smbd/pysmbd.c',
                   deps=' '.join(['smbd_base', pyrpc_util, pytalloc_util]),
                   realname='samba/samba3/smbd.so'
                   )
 
-for env in bld.gen_python_environments():
-    pycredentials = 'pycredentials'
-    if bld.env['IS_EXTRA_PYTHON']:
-        pycredentials = 'extra-' + pycredentials
-    bld.SAMBA3_PYTHON('pylibsmb',
+pycredentials = 'pycredentials'
+bld.SAMBA3_PYTHON('pylibsmb',
                   source='libsmb/pylibsmb.c',
                   deps='smbclient samba-credentials %s' % pycredentials,
                   realname='samba/samba3/libsmb_samba_internal.so'
                   )
 
+bld.SAMBA3_PYTHON('pymdscli',
+                  source='rpc_client/py_mdscli.c',
+                  deps=' '.join(['RPCCLI_MDSSVC', pytalloc_util, pyrpc_util]),
+                  realname='samba/samba3/mdscli.so')
+
 bld.SAMBA3_BINARY('spotlight2sparql',
                  source='''
                  rpc_server/mdssvc/sparql_parser_test.c
@@ -1335,7 +1361,37 @@ bld.SAMBA3_BINARY('spotlight2sparql',
                  rpc_server/mdssvc/sparql_lexer.l
                  rpc_server/mdssvc/sparql_mapping.c''',
                  deps='samba3-util talloc ' + bld.env['libtracker'],
-                 enabled=bld.env.with_spotlight,
+                 enabled=bld.env.spotlight_backend_tracker,
+                 install=False)
+
+bld.SAMBA3_BINARY('spotlight2es',
+                 source='''
+                 rpc_server/mdssvc/es_parser_test.c
+                 rpc_server/mdssvc/es_parser.y
+                 rpc_server/mdssvc/es_lexer.l
+                 rpc_server/mdssvc/es_mapping.c''',
+                 deps='samba3-util talloc jansson smbconf',
+                 enabled=bld.env.spotlight_backend_es,
+                 install=False)
+
+bld.SAMBA3_BINARY('tevent_glib_glue_test',
+                 source='lib/tevent_glib_glue_tests.c',
+                 deps='''
+                 talloc
+                 libsmb
+                 popt_samba3
+                 tevent-glib-glue''',
+                 enabled=bld.CONFIG_SET('WITH_TEVENT_GLIB_GLUE'),
+                 for_selftest=True)
+
+bld.SAMBA3_BINARY('tevent_glib_tracker',
+                 source='utils/async-tracker.c',
+                 deps='''
+                 talloc
+                 libsmb
+                 popt_samba3
+                 tevent-glib-glue ''' + bld.env['libtracker'],
+                 enabled=bld.CONFIG_SET('HAVE_TRACKER') and bld.CONFIG_SET('WITH_TEVENT_GLIB_GLUE'),
                  install=False)
 
 ########################## INCLUDES #################################
@@ -1363,6 +1419,7 @@ bld.RECURSE('smbd/notifyd')
 bld.RECURSE('rpcclient')
 bld.RECURSE('utils')
 bld.RECURSE('nmbd')
+bld.RECURSE('lib/util')
 
 bld.ENFORCE_GROUP_ORDERING()
 bld.CHECK_PROJECT_RULES()