--- source3/wscript.orig 2018-06-26 16:42:46.000000000 +0200 +++ source3/wscript 2018-08-07 20:55:38.331688000 +0200 @@ -47,6 +47,7 @@ def set_options(opt): opt.SAMBA3_ADD_OPTION('sendfile-support') opt.SAMBA3_ADD_OPTION('utmp') opt.SAMBA3_ADD_OPTION('avahi', with_name="enable", without_name="disable") + opt.SAMBA3_ADD_OPTION('dnssd', with_name="enable", without_name="disable") opt.SAMBA3_ADD_OPTION('iconv') opt.SAMBA3_ADD_OPTION('acl-support') opt.SAMBA3_ADD_OPTION('dnsupdate') @@ -802,32 +803,38 @@ msg.msg_accrightslen = sizeof(fd); if Options.options.with_utmp: conf.env.with_utmp = True - if not conf.CHECK_HEADERS('utmp.h'): conf.env.with_utmp = False - conf.CHECK_FUNCS('pututline pututxline updwtmp updwtmpx getutmpx getutxent') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_name', headers='utmp.h', + if not conf.CHECK_HEADERS('utmpx.h') and not conf.CHECK_HEADERS('utmp.h'): + conf.env.with_utmp = False + if conf.CONFIG_SET('HAVE_UTMPX_H'): + conf.DEFINE('STRUCT_UTMP', 'struct utmpx') + elif conf.CONFIG_SET('HAVE_UTMP_H'): + conf.DEFINE('STRUCT_UTMP', 'struct utmp') + conf.CHECK_FUNCS('pututxline getutxid getutxline updwtmpx getutmpx setutxent endutxent') + conf.CHECK_FUNCS('pututline getutid getutline updwtmp getutmp setutent endutent') + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_name', headers='utmpx.h utmp.h', define='HAVE_UT_UT_NAME') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_user', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_user', headers='utmpx.h utmp.h', define='HAVE_UT_UT_USER') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_id', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_id', headers='utmpx.h utmp.h', define='HAVE_UT_UT_ID') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_host', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_host', headers='utmpx.h utmp.h', define='HAVE_UT_UT_HOST') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_time', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_time', headers='utmpx.h utmp.h', define='HAVE_UT_UT_TIME') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_tv', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_tv', headers='utmpx.h utmp.h', define='HAVE_UT_UT_TV') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_type', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_type', headers='utmpx.h utmp.h', define='HAVE_UT_UT_TYPE') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_pid', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_pid', headers='utmpx.h utmp.h', define='HAVE_UT_UT_PID') - conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_exit.e_exit', headers='utmp.h', + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_exit.e_exit', headers='utmpx.h utmp.h', define='HAVE_UT_UT_EXIT') - conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_syslen', headers='utmpx.h', - define='HAVE_UX_UT_SYSLEN') + conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_syslen', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_SYSLEN') conf.CHECK_CODE('struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);', 'PUTUTLINE_RETURNS_UTMP', headers='utmp.h', msg="Checking whether pututline returns pointer") - conf.CHECK_SIZEOF(['((struct utmp *)NULL)->ut_line'], headers='utmp.h', + conf.CHECK_SIZEOF(['((STRUCT_UTMP *)NULL)->ut_line'], headers='utmpx.h utmp.h', define='SIZEOF_UTMP_UT_LINE', critical=False) if not conf.CONFIG_SET('SIZEOF_UTMP_UT_LINE'): conf.env.with_utmp = False @@ -849,6 +856,17 @@ msg.msg_accrightslen = sizeof(fd); conf.SET_TARGET_TYPE('avahi-common', 'EMPTY') conf.SET_TARGET_TYPE('avahi-client', 'EMPTY') + if Options.options.with_dnssd: + conf.env.with_dnssd = True + if not conf.CHECK_HEADERS('dns_sd.h'): + conf.env.with_dnssd = False + if not conf.CHECK_FUNCS_IN('DNSServiceRegister', 'dns_sd'): + conf.env.with_dnssd = False + if conf.env.with_dnssd: + conf.DEFINE('WITH_DNSSD_SUPPORT', 1) + else: + conf.SET_TARGET_TYPE('dns_sd', 'EMPTY') + if Options.options.with_iconv: conf.env.with_iconv = True if not conf.CHECK_FUNCS_IN('iconv_open', 'iconv', headers='iconv.h'): @@ -1637,7 +1655,7 @@ main() { if not conf.env['FLEX']: conf.fatal("Spotlight support requested but flex missing") conf.CHECK_COMMAND('%s --version' % conf.env['FLEX'], msg='Using flex version', define=None, on_target=False) - versions = ['1.0', '0.16', '0.14'] + versions = ['2.0', '1.0', '0.16', '0.14'] for version in versions: testlib = 'tracker-sparql-' + version if conf.CHECK_CFG(package=testlib, @@ -1729,9 +1747,6 @@ main() { if conf.CONFIG_SET('HAVE_VXFS'): default_shared_modules.extend(TO_LIST('vfs_vxfs')) - - if conf.CONFIG_SET('HAVE_DBUS'): - default_shared_modules.extend(TO_LIST('vfs_snapper')) explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',') explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')