diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
commit | 4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch) | |
tree | 356496503d52354aa6d9f2d36126302fed5f3a73 /net-p2p/mldonkey/files | |
parent | fcc5224904648a8e6eb528d7603154160a20022f (diff) |
gentoo resync : 20.03.2022
Diffstat (limited to 'net-p2p/mldonkey/files')
-rw-r--r-- | net-p2p/mldonkey/files/mldonkey.confd | 22 | ||||
-rw-r--r-- | net-p2p/mldonkey/files/mldonkey.initd | 112 | ||||
-rw-r--r-- | net-p2p/mldonkey/files/mldonkey.service | 14 |
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 |