]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Split winbindd into library and binary
authorMichael Hanselmann <public@hansmi.ch>
Wed, 27 Nov 2019 23:25:52 +0000 (23:25 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 1 Dec 2019 08:55:39 +0000 (08:55 +0000)
The winbindd program was built in a single target with many source file,
making reuse of parts elsewhere impossible. With this change the
majority of the code is built as a subsystem and included in the binary
as a dependency.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/winbindd/wscript_build

index a23c44566ed45596b57b858e033eb74d580faacb..b31926bf3cec782c9a46e23bfc43a33a009a7afe 100644 (file)
@@ -171,114 +171,122 @@ bld.SAMBA3_MODULE('idmap_script',
                  internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_script'),
                  enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_script'))
 
+bld.SAMBA3_SUBSYSTEM('winbindd-lib',
+                    source='''
+                    winbindd_group.c
+                    winbindd_util.c
+                    winbindd_cache.c
+                    winbindd_pam.c
+                    winbindd_misc.c
+                    winbindd_cm.c
+                    winbindd_wins_byip.c
+                    winbindd_wins_byname.c
+                    winbindd_msrpc.c
+                    winbindd_rpc.c
+                    winbindd_reconnect.c
+                    winbindd_reconnect_ads.c
+                    winbindd_ads.c
+                    winbindd_samr.c
+                    winbindd_dual.c
+                    winbindd_dual_ndr.c
+                    winbindd_dual_srv.c
+                    winbindd_async.c
+                    winbindd_creds.c
+                    winbindd_cred_cache.c
+                    winbindd_ccache_access.c
+                    winbindd_domain.c
+                    winbindd_idmap.c
+                    winbindd_locator.c
+                    winbindd_ndr.c
+                    wb_lookupsid.c
+                    wb_lookupsids.c
+                    wb_lookupname.c
+                    wb_sids2xids.c
+                    wb_xids2sids.c
+                    wb_queryuser.c
+                    wb_lookupuseraliases.c
+                    wb_lookupusergroups.c
+                    wb_getpwsid.c
+                    wb_gettoken.c
+                    wb_seqnum.c
+                    wb_seqnums.c
+                    wb_group_members.c
+                    wb_getgrsid.c
+                    wb_query_user_list.c
+                    wb_query_group_list.c
+                    wb_next_pwent.c
+                    wb_next_grent.c
+                    wb_dsgetdcname.c
+                    winbindd_lookupsid.c
+                    winbindd_lookupsids.c
+                    winbindd_lookupname.c
+                    winbindd_sids_to_xids.c
+                    winbindd_xids_to_sids.c
+                    winbindd_allocate_uid.c
+                    winbindd_allocate_gid.c
+                    winbindd_getpwsid.c
+                    winbindd_getpwnam.c
+                    winbindd_getpwuid.c
+                    winbindd_getsidaliases.c
+                    winbindd_getuserdomgroups.c
+                    winbindd_getgroups.c
+                    winbindd_show_sequence.c
+                    winbindd_getgrgid.c
+                    winbindd_getgrnam.c
+                    winbindd_getusersids.c
+                    winbindd_lookuprids.c
+                    winbindd_setpwent.c
+                    winbindd_getpwent.c
+                    winbindd_endpwent.c
+                    winbindd_setgrent.c
+                    winbindd_getgrent.c
+                    winbindd_endgrent.c
+                    winbindd_dsgetdcname.c
+                    winbindd_getdcname.c
+                    winbindd_list_users.c
+                    winbindd_list_groups.c
+                    winbindd_check_machine_acct.c
+                    winbindd_change_machine_acct.c
+                    winbindd_irpc.c
+                    winbindd_ping_dc.c
+                    winbindd_domain_info.c
+                    winbindd_pam_auth.c
+                    winbindd_pam_logoff.c
+                    winbindd_pam_chauthtok.c
+                    winbindd_pam_auth_crap.c
+                    winbindd_pam_chng_pswd_auth_crap.c
+                    winbindd_gpupdate.c''',
+                    deps='''
+                    talloc
+                    tevent
+                    pdb
+                    popt_samba3
+                    idmap
+                    ads
+                    msrpc3
+                    nss_info
+                    LIBAFS
+                    LIBADS_SERVER
+                    LIBCLI_SAMR
+                    SLCACHE
+                    RPC_NDR_DSSETUP
+                    RPC_NDR_WINBIND
+                    SRV_NDR_WINBIND
+                    RPC_SAMR
+                    RPC_LSARPC
+                    RPC_SERVER
+                    WB_REQTRANS
+                    TDB_VALIDATE
+                    MESSAGING
+                    LIBLSA
+                    ''')
+
 bld.SAMBA3_BINARY('winbindd',
-                 source='''winbindd.c
-                 winbindd_group.c
-                 winbindd_util.c
-                 winbindd_cache.c
-                 winbindd_pam.c
-                 winbindd_misc.c
-                 winbindd_cm.c
-                 winbindd_wins_byip.c
-                 winbindd_wins_byname.c
-                 winbindd_msrpc.c
-                 winbindd_rpc.c
-                 winbindd_reconnect.c
-                 winbindd_reconnect_ads.c
-                 winbindd_ads.c
-                 winbindd_samr.c
-                 winbindd_dual.c
-                 winbindd_dual_ndr.c
-                 winbindd_dual_srv.c
-                 winbindd_async.c
-                 winbindd_creds.c
-                 winbindd_cred_cache.c
-                 winbindd_ccache_access.c
-                 winbindd_domain.c
-                 winbindd_idmap.c
-                 winbindd_locator.c
-                 winbindd_ndr.c
-                 wb_lookupsid.c
-                 wb_lookupsids.c
-                 wb_lookupname.c
-                 wb_sids2xids.c
-                 wb_xids2sids.c
-                 wb_queryuser.c
-                 wb_lookupuseraliases.c
-                 wb_lookupusergroups.c
-                 wb_getpwsid.c
-                 wb_gettoken.c
-                 wb_seqnum.c
-                 wb_seqnums.c
-                 wb_group_members.c
-                 wb_getgrsid.c
-                 wb_query_user_list.c
-                 wb_query_group_list.c
-                 wb_next_pwent.c
-                 wb_next_grent.c
-                 wb_dsgetdcname.c
-                 winbindd_lookupsid.c
-                 winbindd_lookupsids.c
-                 winbindd_lookupname.c
-                 winbindd_sids_to_xids.c
-                 winbindd_xids_to_sids.c
-                 winbindd_allocate_uid.c
-                 winbindd_allocate_gid.c
-                 winbindd_getpwsid.c
-                 winbindd_getpwnam.c
-                 winbindd_getpwuid.c
-                 winbindd_getsidaliases.c
-                 winbindd_getuserdomgroups.c
-                 winbindd_getgroups.c
-                 winbindd_show_sequence.c
-                 winbindd_getgrgid.c
-                 winbindd_getgrnam.c
-                 winbindd_getusersids.c
-                 winbindd_lookuprids.c
-                 winbindd_setpwent.c
-                 winbindd_getpwent.c
-                 winbindd_endpwent.c
-                 winbindd_setgrent.c
-                 winbindd_getgrent.c
-                 winbindd_endgrent.c
-                 winbindd_dsgetdcname.c
-                 winbindd_getdcname.c
-                 winbindd_list_users.c
-                 winbindd_list_groups.c
-                 winbindd_check_machine_acct.c
-                 winbindd_change_machine_acct.c
-                 winbindd_irpc.c
-                 winbindd_ping_dc.c
-                 winbindd_domain_info.c
-                 winbindd_pam_auth.c
-                 winbindd_pam_logoff.c
-                 winbindd_pam_chauthtok.c
-                 winbindd_pam_auth_crap.c
-                 winbindd_pam_chng_pswd_auth_crap.c
-                 winbindd_gpupdate.c''',
+                 source='''
+                 winbindd.c
+                 ''',
                  deps='''
-                 talloc
-                 tevent
-                 pdb
-                 popt_samba3
-                 idmap
-                 ads
-                 msrpc3
-                 nss_info
-                 LIBAFS
-                 LIBADS_SERVER
-                 LIBCLI_SAMR
-                 SLCACHE
-                 RPC_NDR_DSSETUP
-                 RPC_NDR_WINBIND
-                 SRV_NDR_WINBIND
-                 RPC_SAMR
-                 RPC_LSARPC
-                 RPC_SERVER
-                 WB_REQTRANS
-                 TDB_VALIDATE
-                 MESSAGING
-                 LIBLSA
+                 winbindd-lib
                  ''',
                  enabled=bld.env.build_winbind,
                  install_path='${SBINDIR}')