summaryrefslogtreecommitdiff
path: root/net-libs/tox
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/tox')
-rw-r--r--net-libs/tox/files/confd9
-rw-r--r--net-libs/tox/files/initd18
-rw-r--r--net-libs/tox/files/tox-bootstrapd.conf65
-rw-r--r--net-libs/tox/files/tox-bootstrapd.service18
-rw-r--r--net-libs/tox/metadata.xml15
-rw-r--r--net-libs/tox/tox-9999.ebuild41
6 files changed, 130 insertions, 36 deletions
diff --git a/net-libs/tox/files/confd b/net-libs/tox/files/confd
index e4aac3ad..33f850bf 100644
--- a/net-libs/tox/files/confd
+++ b/net-libs/tox/files/confd
@@ -1,7 +1,2 @@
-# [--ipv4|--ipv6]
-cmdline=""
-
-# open node
-ip=""
-port=""
-key=""
+TOX_GROUP=tox
+TOX_USER=tox
diff --git a/net-libs/tox/files/initd b/net-libs/tox/files/initd
index 728cb6f5..c500e9b4 100644
--- a/net-libs/tox/files/initd
+++ b/net-libs/tox/files/initd
@@ -1,8 +1,7 @@
#!/sbin/runscript
-PIDFILE=/run/tox-dht-bootstrap.pid
-LOGDIR=/var/log/tox-dht-bootstrap
-RUNDIR=/var/lib/tox-dht-bootstrap
+PIDDIR=/run/tox-bootstrapd
+PIDFILE="${PIDDIR}"/tox-bootstrap.pid
depend() {
need net
@@ -11,16 +10,13 @@ depend() {
start() {
ebegin "Starting tox-dht-bootstrap daemon"
- [ -d "${LOGDIR}" ] || mkdir -p "${LOGDIR}"
- [ -d "${RUNDIR}" ] || mkdir -p "${RUNDIR}"
- chown -R nobody:nobody "${LOGDIR}" "${RUNDIR}"
+ [ -d "${PIDDIR}" ] || mkdir -p "${PIDDIR}"
+ chown -R ${TOX_USER}:${TOX_GROUP} "${PIDDIR}"
start-stop-daemon --start \
- --pidfile "${PIDFILE}" --make-pidfile --background \
- --stdout "${LOGDIR}/stdout" --stderr "${LOGDIR}/stderr" \
- --chdir "${RUNDIR}" \
- --user=nobody --group=nobody \
- --exec /usr/bin/DHT_bootstrap
+ --pidfile "${PIDFILE}" \
+ --user=${TOX_USER} --group=${TOX_GROUP} \
+ --exec /usr/bin/tox-bootstrapd -- /etc/tox-bootstrapd.conf
eend $?
}
diff --git a/net-libs/tox/files/tox-bootstrapd.conf b/net-libs/tox/files/tox-bootstrapd.conf
new file mode 100644
index 00000000..3413f590
--- /dev/null
+++ b/net-libs/tox/files/tox-bootstrapd.conf
@@ -0,0 +1,65 @@
+// Tox DHT bootstrap daemon configuration file.
+
+// Listening port (UDP).
+port = 33445
+
+// A key file is like a password, so keep it where no one can read it.
+// If there is no key file, a new one will be generated.
+// The daemon should have permission to read/write it.
+keys_file_path = "/var/lib/tox-bootstrapd/keys"
+
+// The PID file written to by the daemon.
+// Make sure that the user that daemon runs as has permissions to write to the
+// PID file.
+pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"
+
+// Enable IPv6.
+enable_ipv6 = true
+
+// Fallback to IPv4 in case IPv6 fails.
+enable_ipv4_fallback = true
+
+// Automatically bootstrap with nodes on local area network.
+enable_lan_discovery = true
+
+enable_tcp_relay = true
+
+// While Tox uses 33445 port by default, 443 (https) and 3389 (rdp) ports are very
+// common among nodes, so it's encouraged to keep them in place.
+tcp_relay_ports = [443, 3389, 33445]
+
+// Reply to MOTD (Message Of The Day) requests.
+enable_motd = true
+
+// Just a message that is sent when someone requests MOTD.
+// Put anything you want, but note that it will be trimmed to fit into 255 bytes.
+motd = "tox-bootstrapd"
+
+// Any number of nodes the daemon will bootstrap itself off.
+//
+// Remember to replace the provided example with your own node list.
+// There is a maintained list of bootstrap nodes on Tox's wiki, if you need it
+// (https://wiki.tox.chat/users/nodes).
+//
+// You may leave the list empty or remove "bootstrap_nodes" completely,
+// in both cases this will be interpreted as if you don't want to bootstrap
+// from anyone.
+//
+// address = any IPv4 or IPv6 address and also any US-ASCII domain name.
+bootstrap_nodes = (
+ { // Example Node 1 (IPv4)
+ address = "127.0.0.1"
+ port = 33445
+ public_key = "728925473812C7AAC482BE7250BCCAD0B8CB9F737BF3D42ABD34459C1768F854"
+ },
+ { // Example Node 2 (IPv6)
+ address = "::1/128"
+ port = 33445
+ public_key = "3E78BACF0F84235B30054B54898F56793E1DEF8BD46B1038B9D822E8460FAB67"
+ },
+ { // Example Node 3 (US-ASCII domain name)
+ address = "example.org"
+ port = 33445
+ public_key = "8CD5A9BF0A6CE358BA36F7A653F99FA6B258FF756E490F52C1F98CC420F78858"
+ }
+)
diff --git a/net-libs/tox/files/tox-bootstrapd.service b/net-libs/tox/files/tox-bootstrapd.service
new file mode 100644
index 00000000..1581026c
--- /dev/null
+++ b/net-libs/tox/files/tox-bootstrapd.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Tox DHT Bootstrap Daemon
+After=network.target
+
+[Service]
+Type=forking
+PermissionsStartOnly=true
+ExecStartPre=-/bin/mkdir /var/run/tox-bootstrapd -p
+ExecStartPre=/bin/chown tox:tox -R /var/run/tox-bootstrapd
+WorkingDirectory=/var/lib/tox-bootstrapd
+ExecStart=/usr/bin/tox-bootstrapd /etc/tox-bootstrapd.conf
+User=tox
+Group=tox
+PIDFile=/var/run/tox-bootstrapd/tox-bootstrapd.pid
+#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-libs/tox/metadata.xml b/net-libs/tox/metadata.xml
index e35d0a76..5d1d92f5 100644
--- a/net-libs/tox/metadata.xml
+++ b/net-libs/tox/metadata.xml
@@ -7,19 +7,22 @@
</maintainer>
<use>
<flag name="av">Adds support for audio and video.</flag>
- <flag name="logging">Enables logging, useful for debugging.
+ <flag name="log">Enables logging, useful for debugging.
(default log level: DEBUG)</flag>
- <flag name="log-info">Set log level to INFO (only choose one log-*,
- needs logging enabled)
+ <flag name="log-trace">Set log level to TRACE (only choose one log-*,
+ needs log enabled)
</flag>
<flag name="log-debug">Set log level to DEBUG (only choose one log-*,
- needs logging enabled)
+ needs log enabled)
+ </flag>
+ <flag name="log-info">Set log level to INFO (only choose one log-*,
+ needs log enabled)
</flag>
<flag name="log-warn">Set log level to WARNING (only choose one log-*,
- needs logging enabled)
+ needs log enabled)
</flag>
<flag name="log-error">Set log level to ERROR (only choose one log-*,
- needs logging enabled)
+ needs log enabled)
</flag>
<flag name="ntox">Enable the testing nTox client.</flag>
<flag name="daemon">Enable the DHT Bootstrap Daemon</flag>
diff --git a/net-libs/tox/tox-9999.ebuild b/net-libs/tox/tox-9999.ebuild
index 3b440eeb..fc7d1f40 100644
--- a/net-libs/tox/tox-9999.ebuild
+++ b/net-libs/tox/tox-9999.ebuild
@@ -1,23 +1,24 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
-inherit autotools git-2
+inherit autotools eutils git-2 user systemd
-DESCRIPTION="Encrypted P2P, messenging, and audio/video calling platform"
-HOMEPAGE="https://tox.im"
+DESCRIPTION="Encrypted P2P, messaging, and audio/video calling platform"
+HOMEPAGE="https://tox.chat"
SRC_URI=""
-EGIT_REPO_URI="https://github.com/irungentoo/toxcore"
+EGIT_REPO_URI="git://github.com/irungentoo/toxcore.git
+ https://github.com/irungentoo/toxcore.git"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS=""
-IUSE="+av daemon logging log-debug log-error log-info log-warn ntox static-libs test"
+IUSE="+av daemon log log-debug log-error log-info log-trace log-warn ntox static-libs test"
RDEPEND="
- >=dev-libs/libsodium-1.0.0
+ >=dev-libs/libsodium-0.6.1[urandom,asm]
daemon? ( dev-libs/libconfig )
av? ( media-libs/libvpx
media-libs/opus )
@@ -30,12 +31,13 @@ pkg_setup() {
unset loglevel
if use log-info || use log-debug || use log-warn || use log-error ; then
- if use !logging ; then
+ if use !log ; then
ewarn "Logging disabled, but log level set,"
ewarn "it will have no effect."
else
- use log-info && loglevel=" INFO"
+ use log-trace && loglevel=" TRACE"
use log-debug && loglevel="${loglevel} DEBUG"
+ use log-info && loglevel="${loglevel} INFO"
use log-warn && loglevel="${loglevel} WARNING"
use log-error && loglevel="${loglevel} ERROR"
@@ -56,8 +58,8 @@ src_prepare() {
src_configure() {
econf \
- $(use_enable logging) \
- $(usex logging "--with-logger-level=${loglevel##* }" "") \
+ $(use_enable log) \
+ $(usex log "--with-log-level=${loglevel##* }" "") \
$(use_enable av) \
$(use_enable test tests) \
$(use_enable ntox) \
@@ -68,6 +70,21 @@ src_configure() {
src_install() {
default
use daemon && { newinitd "${FILESDIR}"/initd tox-dht-daemon
- newconfd "${FILESDIR}"/confd tox-dht-daemon ; }
+ newconfd "${FILESDIR}"/confd tox-dht-daemon
+ insinto /etc
+ doins "${FILESDIR}"/tox-bootstrapd.conf
+ systemd_dounit "${FILESDIR}"/tox-bootstrapd.service ; }
prune_libtool_files
}
+
+pkg_postinst() {
+ use daemon && { enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+ ewarn "Backwards compatability with the bootstrap daemon"
+ ewarn "might have been broken a while ago."
+ ewarn "To resolve this issue, REMOVE the following files:"
+ ewarn "/var/lib/tox-dht-bootstrap/key"
+ ewarn "/etc/tox-bootstrapd.conf"
+ ewarn "/run/tox-dht-bootstrap/tox-dht-bootstrap.pid"
+ ewarn "Then just re-emerge net-libs/tox" ; }
+}