tftp-hpa: added 5.0 version of HPA tftp client/daemon
authorMarcin Juszkiewicz <hrw@openembedded.org>
Tue, 19 May 2009 19:45:49 +0000 (21:45 +0200)
committerMarcin Juszkiewicz <hrw@openembedded.org>
Tue, 19 May 2009 19:46:46 +0000 (21:46 +0200)
recipes/tftp-hpa/files/default [new file with mode: 0644]
recipes/tftp-hpa/files/init [new file with mode: 0644]
recipes/tftp-hpa/tftp-hpa_5.0.bb [new file with mode: 0644]

diff --git a/recipes/tftp-hpa/files/default b/recipes/tftp-hpa/files/default
new file mode 100644 (file)
index 0000000..de2ed18
--- /dev/null
@@ -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 (file)
index 0000000..2a24884
--- /dev/null
@@ -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 (file)
index 0000000..4137bf0
--- /dev/null
@@ -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
+}
+