summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes/tftp-hpa/files/default3
-rw-r--r--recipes/tftp-hpa/files/init104
-rw-r--r--recipes/tftp-hpa/tftp-hpa_5.0.bb71
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
+}
+