HPA's Trivial File Transfer Protocol (tftp) server.
This commit is contained in:
parent
298bf4d52d
commit
cbe260d167
@ -89,6 +89,7 @@ source "package/slang/Config.in"
|
||||
source "package/socat/Config.in"
|
||||
source "package/strace/Config.in"
|
||||
source "package/tcpdump/Config.in"
|
||||
source "package/tftpd/Config.in"
|
||||
source "package/tinylogin/Config.in"
|
||||
source "package/tinyx/Config.in"
|
||||
source "package/tn5250/Config.in"
|
||||
|
6
package/tftpd/Config.in
Normal file
6
package/tftpd/Config.in
Normal file
@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_TFTPD
|
||||
bool "tftpd"
|
||||
default n
|
||||
help
|
||||
HPA's Trivial File Transfer Protocol (tftp) server.
|
||||
|
3
package/tftpd/default-tftpd
Normal file
3
package/tftpd/default-tftpd
Normal file
@ -0,0 +1,3 @@
|
||||
#Defaults for tftpd-hpa
|
||||
RUN_DAEMON="yes"
|
||||
OPTIONS="-l -s /var/lib/tftpboot"
|
93
package/tftpd/init-tftpd
Executable file
93
package/tftpd/init-tftpd
Executable file
@ -0,0 +1,93 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# Author: Jaakko Niemi <liiwi@iki.fi>
|
||||
# Modified from skeleton file in sarge
|
||||
|
||||
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
|
78
package/tftpd/tftpd.mk
Normal file
78
package/tftpd/tftpd.mk
Normal file
@ -0,0 +1,78 @@
|
||||
#############################################################
|
||||
#
|
||||
# tftpd
|
||||
#
|
||||
#############################################################
|
||||
TFTP_HPA_VER:=0.40
|
||||
TFTP_HPA_SOURCE:=tftp-hpa-$(TFTP_HPA_VER).tar.bz2
|
||||
TFTP_HPA_SITE:=http://www.kernel.org/pub/software/network/tftp/
|
||||
TFTP_HPA_DIR:=$(BUILD_DIR)/tftp-hpa-$(TFTP_HPA_VER)
|
||||
TFTP_HPA_CAT:=bzcat
|
||||
TFTP_HPA_BINARY:=tftpd/tftpd
|
||||
TFTP_HPA_TARGET_BINARY:=usr/sbin/in.tftpd
|
||||
|
||||
$(DL_DIR)/$(TFTP_HPA_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(TFTP_HPA_SITE)/$(TFTP_HPA_SOURCE)
|
||||
|
||||
tftpd-source: $(DL_DIR)/$(TFTP_HPA_SOURCE)
|
||||
|
||||
$(TFTP_HPA_DIR)/.unpacked: $(DL_DIR)/$(TFTP_HPA_SOURCE)
|
||||
$(TFTP_HPA_CAT) $(DL_DIR)/$(TFTP_HPA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
toolchain/patch-kernel.sh $(TFTP_HPA_DIR) package/tftpd/ tftpd*.patch
|
||||
touch $(TFTP_HPA_DIR)/.unpacked
|
||||
|
||||
$(TFTP_HPA_DIR)/.configured: $(TFTP_HPA_DIR)/.unpacked
|
||||
(cd $(TFTP_HPA_DIR); rm -rf config.cache; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--libexecdir=/usr/lib \
|
||||
--sysconfdir=/etc \
|
||||
--datadir=/usr/share \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--infodir=/usr/info \
|
||||
$(DISABLE_LARGEFILE) \
|
||||
--without-tcpwrappers \
|
||||
);
|
||||
touch $(TFTP_HPA_DIR)/.configured
|
||||
|
||||
$(TFTP_HPA_DIR)/$(TFTP_HPA_BINARY): $(TFTP_HPA_DIR)/.configured
|
||||
$(MAKE) -C $(TFTP_HPA_DIR)
|
||||
|
||||
# This stuff is needed to work around GNU make deficiencies
|
||||
$(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY): $(TFTP_HPA_DIR)/$(TFTP_HPA_BINARY)
|
||||
@if [ -L $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY) ] ; then \
|
||||
rm -f $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY); fi;
|
||||
@if [ ! -f $(TFTP_HPA_DIR)/$(TFTP_HPA_BINARY) -o $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY) \
|
||||
-ot $(TFTP_HPA_DIR)/$(TFTP_HPA_BINARY) ] ; then \
|
||||
set -x; \
|
||||
rm -f $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY); \
|
||||
cp -a $(TFTP_HPA_DIR)/$(TFTP_HPA_BINARY) $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY); fi ;
|
||||
$(INSTALL) -D -m 0755 package/tftpd/init-tftpd $(TARGET_DIR)/etc/init.d/S80tftpd-hpa
|
||||
$(INSTALL) -D -m 0644 package/tftpd/default-tftpd $(TARGET_DIR)/etc/default/tftpd-hpa
|
||||
|
||||
tftpd: uclibc $(TARGET_DIR)/$(TFTP_HPA_TARGET_BINARY)
|
||||
|
||||
tftpd-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(TFTP_HPA_DIR) uninstall
|
||||
-$(MAKE) -C $(TFTP_HPA_DIR) clean
|
||||
|
||||
tftpd-dirclean:
|
||||
rm -rf $(TFTP_HPA_DIR)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Toplevel Makefile options
|
||||
#
|
||||
#############################################################
|
||||
ifeq ($(strip $(BR2_PACKAGE_TFTPD)),y)
|
||||
TARGETS+=tftpd
|
||||
endif
|
Loading…
Reference in New Issue
Block a user