From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Nov 12 09:50:01 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04C6B529 for ; Tue, 12 Nov 2013 09:50:01 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id DA9AF2DF2 for ; Tue, 12 Nov 2013 09:50:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id rAC9o0sf081577 for ; Tue, 12 Nov 2013 09:50:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id rAC9o0EG081575; Tue, 12 Nov 2013 09:50:00 GMT (envelope-from gnats) Resent-Date: Tue, 12 Nov 2013 09:50:00 GMT Resent-Message-Id: <201311120950.rAC9o0EG081575@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Bradley T. Hughes" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1D78434F for ; Tue, 12 Nov 2013 09:44:48 +0000 (UTC) Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id F0FCC2D9A for ; Tue, 12 Nov 2013 09:44:47 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id rAC9ilxS012538 for ; Tue, 12 Nov 2013 09:44:47 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id rAC9ilgb012533; Tue, 12 Nov 2013 09:44:47 GMT (envelope-from nobody) Message-Id: <201311120944.rAC9ilgb012533@oldred.freebsd.org> Date: Tue, 12 Nov 2013 09:44:47 GMT From: "Bradley T. Hughes" To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: ports/183885: net/samba4: use net/mDNSResponder to provide Zeroconf support X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Nov 2013 09:50:01 -0000 >Number: 183885 >Category: ports >Synopsis: net/samba4: use net/mDNSResponder to provide Zeroconf support >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Nov 12 09:50:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Bradley T. Hughes >Release: 10.0-BETA3 >Organization: >Environment: FreeBSD freebsd10.local 10.0-BETA3 FreeBSD 10.0-BETA3 #0 r257580: Sun Nov 3 19:43:01 UTC 2013 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Samba supports using libdns_sd from net/mDNSResponder. The configure wscript and build is slightly broken, though. The attached patch adds support to source3/wscript and source3/wscript_build to detect dns_sd.h and libdns_sd, with a small compile fix for source3/client/dnsbrowse.c, and uses OPTIONS_RADIO to let port users choose between Avahi, mDNSResponder, or no Zeroconf support. I haven't submitted this upstream (yet). >How-To-Repeat: >Fix: Patch attached with submission follows: diff -urN /usr/ports/net/samba4/Makefile samba4-with-mDNSResponder/Makefile --- /usr/ports/net/samba4/Makefile 2013-09-21 00:10:23.000000000 +0200 +++ samba4-with-mDNSResponder/Makefile 2013-11-12 10:36:01.006596453 +0100 @@ -3,7 +3,7 @@ PORTNAME?= ${SAMBA4_PORTNAME} PORTVERSION?= ${SAMBA4_VERSION} -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES?= net MASTER_SITES= ${MASTER_SITE_SAMBA} MASTER_SITE_SUBDIR= samba/stable samba/rc @@ -111,7 +111,7 @@ SAMBA4_BUNDLED_LIBS+= !ldb ############################################################################## # Options -OPTIONS_DEFINE= ACL_SUPPORT ADS AIO_SUPPORT AVAHI CUPS DEBUG \ +OPTIONS_DEFINE= ACL_SUPPORT ADS AIO_SUPPORT CUPS DEBUG \ DNSUPDATE FAM_SUPPORT LDAP PAM_SMBPASS \ PTHREADPOOL QUOTAS SWAT SYSLOG UTMP WINBIND @@ -135,6 +135,10 @@ DEVELOPER_DESC= With development support +OPTIONS_RADIO= ZEROCONF +OPTIONS_RADIO_ZEROCONF= AVAHI MDNSRESPONDER +OPTIONS_DEFAULT+= AVAHI + OPTIONS_SINGLE= DNS OPTIONS_SINGLE_DNS= NSUPDATE BIND98 BIND99 @@ -256,6 +260,13 @@ CONFIGURE_ARGS+= --disable-avahi .endif +.if ${PORT_OPTIONS:MMDNSRESPONDER} +LIB_DEPENDS+= dns_sd:${PORTSDIR}/net/mDNSResponder +CONFIGURE_ARGS+= --enable-dnssd +.else +CONFIGURE_ARGS+= --disable-dnssd +.endif + .if ${PORT_OPTIONS:MCUPS} LIB_DEPENDS+= cups:${PORTSDIR}/print/cups-client CONFIGURE_ARGS+= --enable-cups --enable-iprint diff -urN /usr/ports/net/samba4/files/patch-source3__client__dnsbrowse.c samba4-with-mDNSResponder/files/patch-source3__client__dnsbrowse.c --- /usr/ports/net/samba4/files/patch-source3__client__dnsbrowse.c 1970-01-01 01:00:00.000000000 +0100 +++ samba4-with-mDNSResponder/files/patch-source3__client__dnsbrowse.c 2013-11-12 10:20:40.903191132 +0100 @@ -0,0 +1,11 @@ +--- source3/client/dnsbrowse.c.orig 2013-11-12 10:20:03.145351798 +0100 ++++ source3/client/dnsbrowse.c 2013-11-12 10:20:11.762761273 +0100 +@@ -91,7 +91,7 @@ + } + } + +- TALLOC_FREE(fdset); ++ TALLOC_FREE(ctx); + DNSServiceRefDeallocate(mdns_conn_sdref); + } + diff -urN /usr/ports/net/samba4/files/patch-source3__wscript samba4-with-mDNSResponder/files/patch-source3__wscript --- /usr/ports/net/samba4/files/patch-source3__wscript 2013-02-18 15:24:56.000000000 +0100 +++ samba4-with-mDNSResponder/files/patch-source3__wscript 2013-11-12 10:07:57.220326410 +0100 @@ -1,6 +1,14 @@ ---- ./source3/wscript.orig 2013-02-05 12:25:26.000000000 +0000 -+++ ./source3/wscript 2013-02-15 17:54:40.099886239 +0000 -@@ -475,7 +475,7 @@ +--- source3/wscript.orig 2013-05-21 08:48:46.000000000 +0200 ++++ source3/wscript 2013-11-12 10:07:31.657183050 +0100 +@@ -35,6 +35,7 @@ + opt.SAMBA3_ADD_OPTION('utmp') + opt.SAMBA3_ADD_OPTION('pthreadpool', with_name="enable", without_name="disable", default=True) + 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') +@@ -502,7 +503,7 @@ conf.CHECK_CODE('struct aiocb a; return aio_return(&a);', 'HAVE_AIO_RETURN', msg='Checking for aio_return', headers='aio.h', lib='aio rt') conf.CHECK_CODE('struct aiocb a; return aio_error(&a);', 'HAVE_AIO_ERROR', msg='Checking for aio_error', headers='aio.h', lib='aio rt') conf.CHECK_CODE('struct aiocb a; return aio_cancel(1, &a);', 'HAVE_AIO_CANCEL', msg='Checking for aio_cancel', headers='aio.h', lib='aio rt') @@ -9,7 +17,25 @@ if not conf.CONFIG_SET('HAVE_AIO'): conf.DEFINE('HAVE_NO_AIO', '1') else: -@@ -1644,26 +1644,8 @@ +@@ -812,6 +813,17 @@ + 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'): +@@ -1671,26 +1683,8 @@ if PTHREAD_LDFLAGS == 'error': if conf.CHECK_FUNCS_IN('pthread_attr_init', 'pthread'): @@ -37,7 +63,7 @@ if PTHREAD_CFLAGS != 'error' and PTHREAD_LDFLAGS != 'error': conf.ADD_CFLAGS(PTHREAD_CFLAGS) -@@ -1693,8 +1675,8 @@ +@@ -1720,8 +1714,8 @@ auth_script vfs_readahead vfs_xattr_tdb vfs_posix_eadb vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen vfs_catia vfs_scannedonly @@ -48,7 +74,7 @@ vfs_crossrename vfs_linux_xfs_sgid vfs_time_audit idmap_autorid idmap_tdb2 idmap_rid idmap_hash''')) -@@ -1707,7 +1689,7 @@ +@@ -1734,7 +1728,7 @@ if Options.options.enable_selftest or Options.options.developer: default_shared_modules.extend(TO_LIST('vfs_fake_acls')) @@ -57,12 +83,12 @@ if conf.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'): default_static_modules.extend(TO_LIST('pdb_samba_dsdb auth_samba4 vfs_dfs_samba4')) -@@ -1740,7 +1722,7 @@ +@@ -1767,7 +1761,7 @@ default_static_modules.extend(TO_LIST('charset_macosxfs')) if conf.CONFIG_SET('HAVE_GPFS'): - default_shared_modules.extend(TO_LIST('vfs_gpfs')) + default_shared_modules.extend(TO_LIST('vfs_gpfs')) - explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',') - explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',') + if conf.CONFIG_SET('SAMBA_FAM_LIBS'): + default_shared_modules.extend(TO_LIST('vfs_notify_fam')) diff -urN /usr/ports/net/samba4/files/patch-source3__wscript_build samba4-with-mDNSResponder/files/patch-source3__wscript_build --- /usr/ports/net/samba4/files/patch-source3__wscript_build 2013-02-18 15:24:56.000000000 +0100 +++ samba4-with-mDNSResponder/files/patch-source3__wscript_build 2013-11-12 10:13:59.990828807 +0100 @@ -1,5 +1,5 @@ ---- ./source3/wscript_build.orig 2012-12-11 17:10:13.000000000 +0000 -+++ ./source3/wscript_build 2013-02-05 04:25:57.199878484 +0000 +--- source3/wscript_build.orig 2013-07-01 09:15:40.000000000 +0200 ++++ source3/wscript_build 2013-11-12 10:13:36.004046408 +0100 @@ -1,7 +1,8 @@ #!/usr/bin/env python @@ -28,7 +28,7 @@ source=WINBIND_WINS_NSS_SRC, deps='''param libsmb LIBTSOCKET''', realname='libnss_wins.so.2', -@@ -972,10 +982,11 @@ +@@ -972,10 +982,12 @@ LIBAFS_SETTOKEN RPC_SERVER NDR_SMBXSRV @@ -38,10 +38,19 @@ NDR_SMB_ACL netapi + inotify ++ dns_sd ''' + bld.env['dmapi_lib'], private_library=True, vars=locals()) -@@ -1629,7 +1640,7 @@ +@@ -1277,6 +1289,7 @@ + libsmb + msrpc3 + RPC_NDR_SRVSVC ++ dns_sd + cli_smb_common''') + + bld.SAMBA3_BINARY('net', +@@ -1629,7 +1642,7 @@ bld.SAMBA3_PYTHON('pylibsmb', source='libsmb/pylibsmb.c', >Release-Note: >Audit-Trail: >Unformatted: