mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 16:01:54 -09:00
In order to remove thttpd package from Buildroot, we have to replace it from our testsuite (TestWget and TestLibCurl). Busybox provide an httpd server applet but it's not enabled in our default busybox configuration. For the sake of those tests, add a new busybox option to build and install the Busybox's httpd server and its init script. Import S90thttpd from thttpd package to S90httpd but with some changes following S01syslogd init script as a reference [1]. [1]3dc8061444Cc: Julien Olivain <ju.o@free.fr> Cc: Fiona Klute (WIWA) <fiona.klute@gmx.de> Signed-off-by: Romain Naour <romain.naour@smile.fr> Reviewed-by: Fiona Klute <fiona.klute@gmx.de> Signed-off-by: Arnout Vandecappelle <arnout@rnout.be> (cherry picked from commitbcd97e1424) Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
60 lines
1.2 KiB
Bash
60 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
DAEMON="httpd"
|
|
PIDFILE="/var/run/$DAEMON.pid"
|
|
|
|
HTTPD_ARGS="-h /var/www/data"
|
|
|
|
# shellcheck source=/dev/null
|
|
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
|
|
|
# BusyBox' httpd does not create a pidfile, so pass "-f" in the command line
|
|
# and use "--make-pidfile" to instruct start-stop-daemon to create one.
|
|
start() {
|
|
printf 'Starting %s: ' "$DAEMON"
|
|
# shellcheck disable=SC2086 # we need the word splitting
|
|
start-stop-daemon --start --background --quiet --make-pidfile \
|
|
--pidfile "$PIDFILE" --exec "/usr/sbin/$DAEMON" \
|
|
-- -f $HTTPD_ARGS
|
|
status=$?
|
|
if [ "$status" -eq 0 ]; then
|
|
echo "OK"
|
|
else
|
|
echo "FAIL"
|
|
fi
|
|
return "$status"
|
|
}
|
|
|
|
stop() {
|
|
printf 'Stopping %s: ' "$DAEMON"
|
|
start-stop-daemon --stop --quiet --pidfile "$PIDFILE"
|
|
status=$?
|
|
if [ "$status" -eq 0 ]; then
|
|
echo "OK"
|
|
else
|
|
echo "FAIL"
|
|
fi
|
|
while start-stop-daemon --stop --test --quiet --pidfile "$PIDFILE" \
|
|
--exec "/usr/sbin/$DAEMON"; do
|
|
sleep 0.1
|
|
done
|
|
rm -f "$PIDFILE"
|
|
return "$status"
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
case "$1" in
|
|
start|stop|restart)
|
|
"$1";;
|
|
reload)
|
|
# Restart, since there is no true "reload" feature.
|
|
restart;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|reload}"
|
|
exit 1
|
|
esac
|