[oe-commits] Marcin Juszkiewicz : tftp-hpa: added 5.0 version of HPA tftp client/daemon

GIT User account git at amethyst.openembedded.net
Wed May 20 12:41:16 UTC 2009


Module: openembedded.git
Branch: xora/angstrom-srcpv
Commit: 9fb58d79a6a5d96af251ace28669243ba37d77e0
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=9fb58d79a6a5d96af251ace28669243ba37d77e0

Author: Marcin Juszkiewicz <hrw at openembedded.org>
Date:   Tue May 19 21:45:49 2009 +0200

tftp-hpa: added 5.0 version of HPA tftp client/daemon

---

 recipes/tftp-hpa/files/default   |    3 +
 recipes/tftp-hpa/files/init      |  104 ++++++++++++++++++++++++++++++++++++++
 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 0000000..de2ed18
--- /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 0000000..2a24884
--- /dev/null
+++ b/recipes/tftp-hpa/files/init
@@ -0,0 +1,104 @@
+#! /bin/sh
+#
+# Author:	Jaakko Niemi <liiwi at 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 0000000..4137bf0
--- /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
+}
+





More information about the Openembedded-commits mailing list