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 case "$1" in
start) start)
echo -n "Starting thttpd" echo -n "Starting thttpd"
start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE
echo "." echo "."
;; ;;
stop) stop)
@@ -31,7 +31,7 @@ case "$1" in
;; ;;
restart) restart)
echo -n "Stopping thttpd" echo -n "Stopping thttpd"
start-stop-daemon --stop --quiet --exec $thttpd -- -d @@SRVDIR start-stop-daemon --stop --quiet --exec $thttpd -- -C @@CONFFILE
echo "." echo "."
echo -n "Waiting for thttpd to die off" echo -n "Waiting for thttpd to die off"
for i in 1 2 3 ; for i in 1 2 3 ;
@@ -41,7 +41,7 @@ case "$1" in
done done
echo "" echo ""
echo -n "Starting thttpd" echo -n "Starting thttpd"
start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE
echo "." echo "."
;; ;;
*) *)
@@ -0,0 +1 @@
dir=@@SRVDIR
@@ -3,7 +3,7 @@ Description=Tiny/Turbo/Throttling Web Server
[Service] [Service]
Type=forking 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 PIDFile=/var/run/thttpd.pid
[Install] [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 \ SRC_URI = "http://opensource.dyc.edu/pub/sthttpd/sthttpd-${PV}.tar.gz \
file://thttpd.service \ file://thttpd.service \
file://thttpd.conf \
file://init" file://init"
SRC_URI[md5sum] = "e645a85a97d3cb883011a35bc2211815" SRC_URI[md5sum] = "e645a85a97d3cb883011a35bc2211815"
@@ -15,19 +16,23 @@ S = "${WORKDIR}/sthttpd-${PV}"
inherit autotools update-rc.d systemd inherit autotools update-rc.d systemd
EXTRA_OEMAKE += "'WEBDIR=${servicedir}/www'" SRV_DIR ?= "${servicedir}/www"
EXTRA_OEMAKE += "'WEBDIR=${SRV_DIR}'"
do_install_append () { do_install_append () {
install -d ${D}${sysconfdir}/init.d install -d ${D}${sysconfdir}/init.d
install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd 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 sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd
install -d ${D}${systemd_unitdir}/system install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/thttpd.service ${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!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service
sed -i 's!/var/!${localstatedir}/!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" INITSCRIPT_NAME = "thttpd"
@@ -35,6 +40,6 @@ INITSCRIPT_PARAMS = "defaults"
SYSTEMD_SERVICE_${PN} = "thttpd.service" SYSTEMD_SERVICE_${PN} = "thttpd.service"
FILES_${PN} += "${servicedir}" FILES_${PN} += "${SRV_DIR}"
FILES_${PN}-dbg += "${servicedir}/www/cgi-bin/.debug" FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug"