sthttpd: improve init scripts to use config file

Rather than put hardcoded values into the init scripts,
use a config file. The SRV_DIR is a special value as it
should be used in the conifg file and also passed to make
so it can put the html files in the correct directory.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Jack Mitchell
2014-06-16 17:40:29 +01:00
committed by Martin Jansa
parent a6eaef9425
commit 117716e668
4 changed files with 15 additions and 9 deletions
@@ -18,7 +18,7 @@ test -x "$thttpd" || exit 0
case "$1" in
start)
echo -n "Starting thttpd"
start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR
start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE
echo "."
;;
stop)
@@ -31,7 +31,7 @@ case "$1" in
;;
restart)
echo -n "Stopping thttpd"
start-stop-daemon --stop --quiet --exec $thttpd -- -d @@SRVDIR
start-stop-daemon --stop --quiet --exec $thttpd -- -C @@CONFFILE
echo "."
echo -n "Waiting for thttpd to die off"
for i in 1 2 3 ;
@@ -41,7 +41,7 @@ case "$1" in
done
echo ""
echo -n "Starting thttpd"
start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR
start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE
echo "."
;;
*)
@@ -0,0 +1 @@
dir=@@SRVDIR
@@ -3,7 +3,7 @@ Description=Tiny/Turbo/Throttling Web Server
[Service]
Type=forking
ExecStart=/usr/sbin/thttpd -d @@SRVDIR -c cgi-bin/* -i /var/run/thttpd.pid
ExecStart=/usr/sbin/thttpd -C @@CONFFILE -c cgi-bin/* -i /var/run/thttpd.pid
PIDFile=/var/run/thttpd.pid
[Install]
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dc
SRC_URI = "http://opensource.dyc.edu/pub/sthttpd/sthttpd-${PV}.tar.gz \
file://thttpd.service \
file://thttpd.conf \
file://init"
SRC_URI[md5sum] = "e645a85a97d3cb883011a35bc2211815"
@@ -15,19 +16,23 @@ S = "${WORKDIR}/sthttpd-${PV}"
inherit autotools update-rc.d systemd
EXTRA_OEMAKE += "'WEBDIR=${servicedir}/www'"
SRV_DIR ?= "${servicedir}/www"
EXTRA_OEMAKE += "'WEBDIR=${SRV_DIR}'"
do_install_append () {
install -d ${D}${sysconfdir}/init.d
install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd
sed -i -e 's,@@SRVDIR,${servicedir}/www,g' ${D}${sysconfdir}/init.d/thttpd
install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir}
sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd
sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
sed -i -e 's,@@SRVDIR,${servicedir}/www,g' ${D}${systemd_unitdir}/system/thttpd.service
sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service
}
INITSCRIPT_NAME = "thttpd"
@@ -35,6 +40,6 @@ INITSCRIPT_PARAMS = "defaults"
SYSTEMD_SERVICE_${PN} = "thttpd.service"
FILES_${PN} += "${servicedir}"
FILES_${PN}-dbg += "${servicedir}/www/cgi-bin/.debug"
FILES_${PN} += "${SRV_DIR}"
FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug"