diff options
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/tox/files/confd | 9 | ||||
-rw-r--r-- | net-libs/tox/files/initd | 18 | ||||
-rw-r--r-- | net-libs/tox/files/tox-bootstrapd.conf | 65 | ||||
-rw-r--r-- | net-libs/tox/files/tox-bootstrapd.service | 18 | ||||
-rw-r--r-- | net-libs/tox/metadata.xml | 15 | ||||
-rw-r--r-- | net-libs/tox/tox-9999.ebuild | 41 |
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" ; } +} |