Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Oct 2014 20:55:19 +0000 (UTC)
From:      Thierry Thomas <thierry@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r370885 - in head: . net-im/tox net-im/tox/files
Message-ID:  <201410142055.s9EKtJ68054123@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: thierry
Date: Tue Oct 14 20:55:19 2014
New Revision: 370885
URL: https://svnweb.freebsd.org/changeset/ports/370885
QAT: https://qat.redports.org/buildarchive/r370885/

Log:
  Add an option to build and run a Tox DHT Bootstrap Node.
  
  More details at https://blog.libtoxcore.so/running-a-bootstrap-node

Added:
  head/net-im/tox/files/
  head/net-im/tox/files/tox-bootstrapd.in   (contents, props changed)
  head/net-im/tox/pkg-message.daemon   (contents, props changed)
Modified:
  head/UIDs
  head/net-im/tox/Makefile
  head/net-im/tox/pkg-plist

Modified: head/UIDs
==============================================================================
--- head/UIDs	Tue Oct 14 20:47:56 2014	(r370884)
+++ head/UIDs	Tue Oct 14 20:55:19 2014	(r370885)
@@ -307,4 +307,5 @@ tvheadend:*:984:984::0:0:TV Headend:/usr
 puppetdb:*:985:985::0:0:PuppetDB Daemon pseudo-user:/nonexistent:/usr/sbin/nologin
 kamailio:*:986:986::0:0:kamailio daemon:/nonexistent:/usr/sbin/nologin
 spark:*:987:987::0:0:Apache Spark user:/nonexistent:/usr/sbin/nologin
+toxdht:*:988:65534::0:0:Tox DHT bootstrap user:/nonexistent:/usr/sbin/nologin
 nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin

Modified: head/net-im/tox/Makefile
==============================================================================
--- head/net-im/tox/Makefile	Tue Oct 14 20:47:56 2014	(r370884)
+++ head/net-im/tox/Makefile	Tue Oct 14 20:55:19 2014	(r370885)
@@ -3,6 +3,7 @@
 
 PORTNAME=	toxcore
 PORTVERSION=	0.141012
+PORTREVISION=	1
 CATEGORIES=	net-im net-p2p
 
 MAINTAINER=	thierry@FreeBSD.org
@@ -31,6 +32,7 @@ USE_LDCONFIG=	yes
 PATHFIX_MAKEFILEIN=	Makefile.am
 INSTALL_TARGET=		install-strip
 
+OPTIONS_DEFINE=		DAEMON
 OPTIONS_RADIO=		CRYPTO
 OPTIONS_RADIO_CRYPTO=	SODIUM NACL
 OPTIONS_DEFAULT=	SODIUM
@@ -41,9 +43,14 @@ SODIUM_LIB_DEPENDS=	libsodium.so:${PORTS
 
 NACL_DESC=		Prefer NaCl
 NACL_CONFIGURE_ENABLE=	nacl
+NACL_CONFIGURE_ON=	--with-nacl-libs=${LOCALBASE}/lib
 NACL_BUILD_DEPENDS=	${LOCALBASE}/lib/libnacl.a:${PORTSDIR}/security/nacl
 NACL_RUN_DEPENDS=	${LOCALBASE}/lib/libnacl.a:${PORTSDIR}/security/nacl
 
+DAEMON_DESC=		Bootstrap daemon
+DAEMON_CONFIGURE_ENABLE=daemon
+DAEMON_LIB_DEPENDS=	libconfig.so:${PORTSDIR}/devel/libconfig
+
 .include <bsd.port.options.mk>
 
 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000
@@ -51,11 +58,25 @@ USE_GCC=	yes
 BROKEN_i386=	'__stack_chk_fail_local' isn't defined
 .endif
 
-.if ${PORT_OPTIONS:MNACL}
-CONFIGURE_ARGS+=	--with-nacl-libs=${LOCALBASE}/lib
+.if ${PORT_OPTIONS:MDAEMON}
+USERS=	toxdht
+USE_RC_SUBR=	tox-bootstrapd
+SUB_LIST=	TOXDHT=${USERS}
+PLIST_SUB+=	TOXDHT=${USERS}
+KEYS_DIR=	/var/lib/tox-bootstrapd
+PID_DIR=	/var/run/tox-bootstrapd
+PKGMESSAGE=	${PKGDIR}/pkg-message.daemon
 .endif
 
 pre-configure:
 	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/configure.ac
 
+post-install:
+.if ${PORT_OPTIONS:MDAEMON}
+	${INSTALL_DATA} ${WRKSRC}/other/bootstrap_daemon/tox-bootstrapd.conf	\
+		${STAGEDIR}${PREFIX}/etc/tox-bootstrapd.conf.sample
+	${MKDIR} ${STAGEDIR}${KEYS_DIR}
+	${MKDIR} ${STAGEDIR}${PID_DIR}
+.endif
+
 .include <bsd.port.mk>

Added: head/net-im/tox/files/tox-bootstrapd.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/tox/files/tox-bootstrapd.in	Tue Oct 14 20:55:19 2014	(r370885)
@@ -0,0 +1,42 @@
+#! /bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: tox_bootstrapd
+# REQUIRE: NETWORKING DAEMON
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable `tox-bootstrapd':
+#
+#tox_bootstrapd_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="tox_bootstrapd"
+rcvar=tox_bootstrapd_enable
+
+# read settings, set default values
+load_rc_config "${name}"
+: ${tox_bootstrapd_enable="NO"}
+
+required_files=${tox_bootstrapd_config:="%%PREFIX%%/etc/tox-bootstrapd.conf"}
+_pidprefix="/var/run/tox-bootstrapd"
+pidfile=${tox_bootstrapd_pidfile:="$_pidprefix/tox-bootstrapd.pid"}
+long_name="Tox DHT bootstrap daemon."
+tox_bootstrapd_user="%%TOXDHT%%"
+command="%%PREFIX%%/bin/tox-bootstrapd"
+command_args="${tox_bootstrapd_config}"
+
+stop_cmd=${name}_stop
+
+# Cannot use the regular stop() because the daemon forks
+tox_bootstrapd_stop() {
+	[ -f $pidfile ] || (echo "$name not running?"; exit 1)
+	echo "Stopping $long_name"
+	kill `ps ax | grep $command | grep -v grep | awk '{print $1}'`
+	rm -f $pidfile
+}
+
+run_rc_command "$1"

Added: head/net-im/tox/pkg-message.daemon
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/tox/pkg-message.daemon	Tue Oct 14 20:55:19 2014	(r370885)
@@ -0,0 +1,4 @@
+
+Warning: your public key will be logged at the level INFO. Check that your
+/etc/syslog is configured to log these messages if you need it (to publicize
+it).

Modified: head/net-im/tox/pkg-plist
==============================================================================
--- head/net-im/tox/pkg-plist	Tue Oct 14 20:47:56 2014	(r370884)
+++ head/net-im/tox/pkg-plist	Tue Oct 14 20:55:19 2014	(r370885)
@@ -1,4 +1,6 @@
 bin/DHT_bootstrap
+%%DAEMON%%bin/tox-bootstrapd
+%%DAEMON%%@sample etc/tox-bootstrapd.conf.sample
 include/tox/tox.h
 include/tox/toxav.h
 include/tox/toxdns.h
@@ -21,3 +23,6 @@ lib/libtoxencryptsave.a
 %%SODIUM%%lib/libtoxencryptsave.so.0.0.0
 libdata/pkgconfig/libtoxav.pc
 libdata/pkgconfig/libtoxcore.pc
+%%DAEMON%%@dir(%%TOXDHT%%,nobody,755) /var/run/tox-bootstrapd
+%%DAEMON%%@dir(%%TOXDHT%%,nobody,700) /var/lib/tox-bootstrapd
+%%DAEMON%%@dir /var/lib



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410142055.s9EKtJ68054123>