diff --git a/packages/busybox/build.sh b/packages/busybox/build.sh index e77d0f05a..554a8e9d7 100644 --- a/packages/busybox/build.sh +++ b/packages/busybox/build.sh @@ -71,5 +71,6 @@ termux_step_post_make_install() { echo '#!/bin/sh' > telnetd/run echo 'exec busybox telnetd -F' >> telnetd/run chmod +x */run + touch telnetd/down lftp/down } diff --git a/packages/termux-services/build.sh b/packages/termux-services/build.sh new file mode 100644 index 000000000..c92e79286 --- /dev/null +++ b/packages/termux-services/build.sh @@ -0,0 +1,10 @@ +TERMUX_PKG_HOMEPAGE=https://termux.com/ +TERMUX_PKG_DESCRIPTION="Service daemon for Termux" +TERMUX_PKG_VERSION=0.01 +TERMUX_PKG_PLATFORM_INDEPENDENT=yes + +termux_step_make_install () { + cp -p $TERMUX_PKG_BUILDER_DIR/termux-services $TERMUX_PREFIX/bin/ + mkdir -p $TERMUX_PREFIX/etc/profile.d/ + cp -p $TERMUX_PKG_BUILDER_DIR/start-services.sh $TERMUX_PREFIX/etc/profile.d/ +} diff --git a/packages/termux-services/start-services.sh b/packages/termux-services/start-services.sh new file mode 100644 index 000000000..65411c942 --- /dev/null +++ b/packages/termux-services/start-services.sh @@ -0,0 +1,2 @@ +export SVDIR=$PREFIX/var/service +(termux-services start >/dev/null 2>&1 & ) diff --git a/packages/termux-services/termux-services b/packages/termux-services/termux-services new file mode 100755 index 000000000..cf079fa58 --- /dev/null +++ b/packages/termux-services/termux-services @@ -0,0 +1,47 @@ +#!/data/data/com.termux/files/usr/bin/sh +# Quick start-stop-daemon example, derived from Debian /etc/init.d/ssh +set -e +start(){ + start-stop-daemon -q -S -b -m -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_OPTS +} +stop(){ + start-stop-daemon -K -s 1 -o -p "$PIDFILE" -q + tail -f --pid=`cat "$PIDFILE"` /dev/null + for f in "$SVDIR"/*/supervise "$SVDIR"/*/log/supervise;do + if [ -e "$f" ];then + kill -9 `cat "$f"/pid` 2>/dev/null ||: + rm -rf "$f" + fi + done +} +# Must be a valid filename +NAME=termux-serivces +PIDFILE="$PREFIX/var/run/$NAME.pid" +#This is the command to be run, give the full pathname +DAEMON="$PREFIX/bin/applets/runsvdir" +DAEMON_OPTS="$SVDIR" + +case "$1" in + start) + echo -n "Starting daemon: $NAME" + start + echo "." + ;; + stop) + echo -n "Stopping daemon: $NAME" + stop + echo "." + ;; + restart) + echo -n "Restarting daemon: $NAME" + stop + start + echo "." + ;; + + *) + echo "Usage: "$1" {start|stop|restart}" + exit 1 +esac + +exit 0