summaryrefslogtreecommitdiff
path: root/net-p2p/mldonkey/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /net-p2p/mldonkey/files
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'net-p2p/mldonkey/files')
-rw-r--r--net-p2p/mldonkey/files/mldonkey.confd22
-rw-r--r--net-p2p/mldonkey/files/mldonkey.initd112
-rw-r--r--net-p2p/mldonkey/files/mldonkey.service14
3 files changed, 25 insertions, 123 deletions
diff --git a/net-p2p/mldonkey/files/mldonkey.confd b/net-p2p/mldonkey/files/mldonkey.confd
index 7cdb2b7134ed..509409b02232 100644
--- a/net-p2p/mldonkey/files/mldonkey.confd
+++ b/net-p2p/mldonkey/files/mldonkey.confd
@@ -9,7 +9,7 @@
USER="p2p"
# mldonkey's working dir (must be existing)
-MLDONKEY_DIR="/home/p2p/mldonkey"
+MLDONKEY_DIR="/var/lib/mldonkey"
# logfile (/dev/null for nowhere)
LOG="/var/log/mldonkey.log"
@@ -18,25 +18,5 @@ LOG="/var/log/mldonkey.log"
# set log_to_syslog true
USE_LOGGER=false
-# bandwidth control, values in kb/s
-LOW_DOWN="6"
-LOW_UP="2"
-HIGH_DOWN="30"
-HIGH_UP="10"
-
# nice level, 0<x<19, more nice -> less cpuspeed consumed
NICE="19"
-
-# mldonkey server ip, usually localhost
-SERVER="localhost"
-
-# port for webinterface, usually 4080
-PORT="4080"
-
-# port for telnet interface, usually 4000
-TELNET_PORT="4000"
-
-# to enable password restricted access,
-# uncomment and set BOTH following vars:
-#USERNAME="admin"
-#PASSWORD=""
diff --git a/net-p2p/mldonkey/files/mldonkey.initd b/net-p2p/mldonkey/files/mldonkey.initd
index b7e561372392..c7fa3d5051c5 100644
--- a/net-p2p/mldonkey/files/mldonkey.initd
+++ b/net-p2p/mldonkey/files/mldonkey.initd
@@ -3,7 +3,6 @@
extra_started_commands="reload slow fast info"
MLDONKEY_BINARY=${MLDONKEY_BINARY:-/usr/bin/mlnet}
-MLDONKEY_TIMEOUT=${TIMEOUT:-10}
depend() {
need localmount net
@@ -11,13 +10,16 @@ depend() {
}
start() {
+ if [ -n "${BASEDIR}${SUBDIR}${LOW_DOWN}${LOW_UP}${HIGH_DOWN}${HIGH_UP}${SERVER}${PORT}${TELNET_PORT}${USERNAME}${PASSWORD}${MLDONKEY_TIMEOUT}" ]; then
+ ewarn "The following settings are deprecated and will be ignored,"
+ ewarn "please remove them from /etc/conf.d/mldonkey:"
+ ewarn "LOW_DOWN LOW_UP HIGH_DOWN HIGH_UP SERVER PORT TELNET_PORT USERNAME PASSWORD MLDONKEY_TIMEOUT"
+ fi
+
if [ -z "${MLDONKEY_DIR}" ]; then
- ewarn "mldonkey's start script has been changed. You should remove"
- ewarn "BASEDIR and SUBDIR from /etc/conf.d/mldonkey and set MLDONKEY_DIR"
- ewarn "to the correct value (you probably want"
- ewarn "MLDONKEY_DIR=${BASEDIR}/${SUBDIR})"
- MLDONKEY_DIR="${BASEDIR}/${SUBDIR}"
- einfo "Using ${MLDONKEY_DIR} as working directory"
+ eerror "Please set MLDONKEY_DIR in /etc/conf.d/mldonkey to the directory"
+ eerror "where you want MLDonkey to save its files"
+ return 1
fi
if [ ! -d "${MLDONKEY_DIR}" ]; then
@@ -27,115 +29,21 @@ start() {
fi
ebegin "Starting ${SVCNAME}"
- cd "${MLDONKEY_DIR}"
- export MLDONKEY_DIR
start-stop-daemon --start --user "${USER}" --nice "${NICE}" \
--exec "${MLDONKEY_BINARY}" --pidfile /var/run/"${SVCNAME}".pid \
- --background --make-pidfile
+ --env "MLDONKEY_DIR=${MLDONKEY_DIR}" --background --make-pidfile
eend $?
}
-send_telnet_commands() {
- if [ -z "${TELNET_PORT+x}" ]; then
- return 1
- fi
- local cmds=
- if [ -n "${USERNAME}" -a -n "${PASSWORD}" ]; then
- cmds="auth ${USERNAME} ${PASSWORD}\n"
- fi
- cmds="$cmds\nansi false\n"
- while [ $# -gt 0 ]; do
- cmds="$cmds$1\n"
- shift
- done
- printf "$cmds\nexit\n" | nc -w "${MLDONKEY_TIMEOUT}" localhost "${TELNET_PORT}" 2> /dev/null
- return $?
-}
-
-send_http_commands() {
- if [ -z "${PORT+x}" ]; then
- return 1
- fi
- local base="http://"
- if [ -n "${USERNAME}" -a -n "${PASSWORD}" ]; then
- base="${base}${USERNAME}:${PASSWORD}@"
- fi
- base="${base}${SERVER}:${PORT}"
- local retval=0
- while [ $retval -eq 0 -a $# -gt 0 ]; do
- wget -q -O /dev/stdout --timeout="${MLDONKEY_TIMEOUT}" "${base}/submit?q=${1// /+}" 2> /dev/null
- retval=$?
- shift
- done
- return $retval
-}
-
-send_commands() {
- send_telnet_commands "$@" &> /dev/null || send_http_commands "$@" &> /dev/null
- return $?
-}
-
stop() {
- ebegin "Stopping ${SVCNAME} -- please wait"
-
- send_commands close_fds save kill
-
- # give it a chance to die:
- local timeout=${MLDONKEY_TIMEOUT}
- while [ $timeout -gt 0 ]; do
- if ! start-stop-daemon --test --quiet --quiet --stop \
- --exec "${MLDONKEY_BINARY}" \
- --pidfile /var/run/"${SVCNAME}".pid ; then
- eend 0
- return 0
- fi
- sleep 1
- timeout=$((${timeout} - 1))
- done
-
- eend 1 "Failed to cleanly stop ${SVCNAME}"
- ebegin "Forcing ${SVCNAME} to stop"
start-stop-daemon --stop --exec "${MLDONKEY_BINARY}" \
--pidfile /var/run/"${SVCNAME}".pid
eend $?
}
-# This doesn't work for baselayout-2
-restart() {
- svc_stop
- sleep 5
- svc_start
-}
-
reload() {
ebegin "Reloading ${SVCNAME}"
start-stop-daemon --stop --signal HUP --oknodo \
--exec "${MLDONKEY_BINARY}" --pidfile /var/run/"${SVCNAME}".pid
eend $?
}
-
-slow() {
- ebegin "Reducing bandwidth to ${LOW_DOWN}k/${LOW_UP}k"
- send_commands "set max_hard_download_rate ${LOW_DOWN}" "set max_hard_upload_rate ${LOW_UP}"
- eend $?
-}
-
-fast() {
- ebegin "Increasing bandwidth to ${HIGH_DOWN}k/${HIGH_UP}k"
- send_commands "set max_hard_upload_rate ${HIGH_UP}" "set max_hard_download_rate ${HIGH_DOWN}"
- eend $?
-}
-
-
-info() {
- set -o pipefail
- local result=$(
- send_telnet_commands "voo max_hard_upload_rate" | grep -a 'max_hard_upload_rate.* =' | cut -d \ -f 3 ||
- send_http_commands "voo max_hard_upload_rate" | fgrep name=value | sed -e 's/.*value="//' -e 's/".*//'
- )
- if [ "${result}" = "${LOW_UP}" ]; then
- einfo "${SVCNAME} runs slow"
- else
- einfo "${SVCNAME} runs fast"
- fi
-}
diff --git a/net-p2p/mldonkey/files/mldonkey.service b/net-p2p/mldonkey/files/mldonkey.service
new file mode 100644
index 000000000000..4cc0b7fc945b
--- /dev/null
+++ b/net-p2p/mldonkey/files/mldonkey.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=MLDonkey multi-network P2P client service
+After=network.target
+
+[Service]
+User=p2p
+LimitNICE=+19
+Environment=MLDONKEY_DIR=/var/lib/mldonkey
+ExecStart=/usr/bin/mlnet
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target