diff options
-rw-r--r-- | recipes/tftp-hpa/files/default | 3 | ||||
-rw-r--r-- | recipes/tftp-hpa/files/init | 104 | ||||
-rw-r--r-- | recipes/tftp-hpa/tftp-hpa_5.0.bb | 71 |
3 files changed, 178 insertions, 0 deletions
diff --git a/recipes/tftp-hpa/files/default b/recipes/tftp-hpa/files/default new file mode 100644 index 0000000000..de2ed18202 --- /dev/null +++ b/recipes/tftp-hpa/files/default @@ -0,0 +1,3 @@ +#Defaults for tftpd-hpa +RUN_DAEMON="yes" +OPTIONS="-l -s /srv/tftpboot" diff --git a/recipes/tftp-hpa/files/init b/recipes/tftp-hpa/files/init new file mode 100644 index 0000000000..2a24884550 --- /dev/null +++ b/recipes/tftp-hpa/files/init @@ -0,0 +1,104 @@ +#! /bin/sh +# +# Author: Jaakko Niemi <liiwi@iki.fi> +# Modified from skeleton file in sarge + +### BEGIN INIT INFO +# Provides: tftp-hpa +# Required-Start: $local_fs $remote_fs $syslog $network +# Required-Stop: $local_fs $remote_fs $syslog $network +# Default-Start: 2 3 4 5 +# Default-Stop: 1 +# Short-Description: HPA's tftp client +# Description: tftp server to allow booting clients which support +# the PXE protocol. +### END INIT INFO + +set -e + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DESC="HPA's tftpd" +NAME=in.tftpd +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/tftpd-hpa + +# Gracefully exit if the package has been removed. +test -x $DAEMON || exit 0 + +# Read config file if it is present. +if [ -r /etc/default/tftpd-hpa ] +then + . /etc/default/tftpd-hpa +fi + +if [ "$RUN_DAEMON" != "yes" ] ; then + echo "tftpd-hpa disabled in /etc/default/tftpd-hpa" + exit 0 +fi + +# +# Function that starts the daemon/service. +# +d_start() { + start-stop-daemon --start --quiet --exec $DAEMON -- $OPTIONS +} + +# +# Function that stops the daemon/service. +# +d_stop() { + start-stop-daemon --stop --quiet --name $NAME +} + +# +# Function that sends a SIGHUP to the daemon/service. +# +d_reload() { + start-stop-daemon --stop --quiet --name $NAME --signal 1 +} + +case "$1" in + start) + echo -n "Starting $DESC: $NAME" + d_start + echo "." + ;; + stop) + echo -n "Stopping $DESC: $NAME" + d_stop + echo "." + ;; + #reload) + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this an "exit 0". + # + # echo -n "Reloading $DESC configuration..." + # d_reload + # echo "done." + #;; + restart|force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: $NAME" + d_stop + sleep 1 + d_start + echo "." + ;; + *) + # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/recipes/tftp-hpa/tftp-hpa_5.0.bb b/recipes/tftp-hpa/tftp-hpa_5.0.bb new file mode 100644 index 0000000000..4137bf0bab --- /dev/null +++ b/recipes/tftp-hpa/tftp-hpa_5.0.bb @@ -0,0 +1,71 @@ +DESCRIPTION = "HPA's tftp server" +DEPENDS = "tcp-wrappers readline" +SECTION = "network" +LICENSE = "BSD" + +SRC_URI = "${KERNELORG_MIRROR}/pub/software/network/tftp/tftp-hpa-${PV}.tar.bz2 \ + file://default \ + file://init" + +inherit autotools update-alternatives + +# configure.in has errors +do_configure() { + oe_runconf +} + +do_install() { + oe_runmake install INSTALLROOT=${D} + + mv ${D}${bindir}/tftp ${D}${bindir}/tftp.${PN} + + install -d ${D}${sysconfdir}/default + install -d ${D}${sysconfdir}/init.d + + install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/tftp-hpa + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/tftp-hpa +} + + +INITSCRIPT_NAME = "${PN}" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ." + +PACKAGES += "tftpd-hpa" + +FILES_${PN} = "${bindir}" +FILES_tftpd-hpa = "${sbindir} ${sysconfdir}" +CONFFILES_tftpd-hpa = "${sysconfdir}/default/${PN}" + +ALTERNATIVE_NAME = "tftp" +ALTERNATIVE_LINK = "${bindir}/tftp" +ALTERNATIVE_PATH = "${bindir}/tftp.${PN}" +ALTERNATIVE_PRIORITY = "50" + + +# This is taken from update-rc.d.bbclass which works only for $PN package +# so I had to do that way + +postinst_tftpd-hpa() { +if test "x$D" != "x"; then + OPT="-r $D" +else + OPT="-s" +fi +update-rc.d $OPT ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS} +} + +prerm_tftpd-hpa() { +if test "x$D" = "x"; then + ${sysconfdir}/init.d/${INITSCRIPT_NAME} stop +fi +} + +postrm_tftpd-hpa() { +if test "x$D" != "x"; then + OPT="-r $D" +else + OPT="" +fi +update-rc.d $OPT ${INITSCRIPT_NAME} remove +} + |