tftp-hpa: upgrade 5.2 -> 5.3

* Use git instead of tarball in SRC_URI.
* Update configuration options.
* Clean up and refresh local patches.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Yi Zhao
2026-03-31 21:10:29 +08:00
committed by Khem Raj
parent bc543c673a
commit 9c7e2aa21b
17 changed files with 99 additions and 258 deletions
@@ -1,64 +0,0 @@
From 941038fc05be21202cab7a7a9434097fb55ecbe0 Mon Sep 17 00:00:00 2001
From: Thorsten Glaser <tg@mirbsd.de>
Date: Thu, 31 Jul 2014 16:29:41 +0930
Subject: [PATCH] __progname[] is provided by libc
Rename local variable to tftpd_progname to avoid a clash with glibc
global symbols and work around Debian bug #519006 (Closes: #564052).
[ hpa: specifically, double-underscore symbols in C are reserved for
the implementation, i.e. compiler/libc. ]
Signed-off-by: Ron Lee <ron@debian.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
---
Upstream-Status: Pending
tftpd/tftpd.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
index e247b97..5fec7bf 100644
--- a/tftpd/tftpd.c
+++ b/tftpd/tftpd.c
@@ -76,7 +76,7 @@ static int ai_fam = AF_INET;
#define TRIES 6 /* Number of attempts to send each packet */
#define TIMEOUT_LIMIT ((1 << TRIES)-1)
-const char *__progname;
+const char *tftpd_progname;
static int peer;
static unsigned long timeout = TIMEOUT; /* Current timeout value */
static unsigned long rexmtval = TIMEOUT; /* Basic timeout value */
@@ -395,9 +395,9 @@ int main(int argc, char **argv)
/* basename() is way too much of a pain from a portability standpoint */
p = strrchr(argv[0], '/');
- __progname = (p && p[1]) ? p + 1 : argv[0];
+ tftpd_progname = (p && p[1]) ? p + 1 : argv[0];
- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
srand(time(NULL) ^ getpid());
@@ -946,14 +946,14 @@ int main(int argc, char **argv)
syslog daemon gets restarted by the time we get here. */
if (secure && standalone) {
closelog();
- openlog(__progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ openlog(tftpd_progname, LOG_PID | LOG_NDELAY, LOG_DAEMON);
}
#ifdef HAVE_TCPWRAPPERS
/* Verify if this was a legal request for us. This has to be
done before the chroot, while /etc is still accessible. */
request_init(&wrap_request,
- RQ_DAEMON, __progname,
+ RQ_DAEMON, tftpd_progname,
RQ_FILE, fd,
RQ_CLIENT_SIN, &from, RQ_SERVER_SIN, &myaddr, 0);
sock_methods(&wrap_request);
--
2.14.1
@@ -1,30 +0,0 @@
From 2a12174a5059e84d4ff6fad8f983a4d0f2127e73 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 12 Aug 2020 12:17:31 -0700
Subject: [PATCH] tftp: Mark toplevel definition as external
Fixes
multiple definition of `toplevel'; tftp.o:/usr/src/debug/tftp-hpa/5.2-r0/tftp-hpa-5.2/tftp/tftp.c:51: first defined here
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tftp/tftp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tftp/tftp.c b/tftp/tftp.c
index 9d15022..109848c 100644
--- a/tftp/tftp.c
+++ b/tftp/tftp.c
@@ -48,7 +48,7 @@ extern int maxtimeout;
#define PKTSIZE SEGSIZE+4
char ackbuf[PKTSIZE];
int timeout;
-sigjmp_buf toplevel;
+extern sigjmp_buf toplevel;
sigjmp_buf timeoutbuf;
static void nak(int, const char *);
--
2.28.0
@@ -1,39 +0,0 @@
From e9ed48d91642d384ce07cbb9bec788f07fc6354c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 6 Sep 2022 14:51:42 -0700
Subject: [PATCH] tftp: Remove double inclusion of signal.h
Undefine __USE_XOPEN2K8 so we can get bsd_signal definition from system
headers
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
config.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/config.h b/config.h
index 3ff2915..ae1a14b 100644
--- a/config.h
+++ b/config.h
@@ -93,7 +93,6 @@
#endif
#include <errno.h>
-#include <signal.h>
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
@@ -296,6 +295,9 @@ char *xstrdup(const char *);
#ifndef HAVE_BSD_SIGNAL
void (*bsd_signal(int, void (*)(int))) (int);
+#else
+#undef __USE_XOPEN2K8
+#include <signal.h>
#endif
#ifndef HAVE_DUP2
int dup2(int, int);
--
2.37.3
@@ -1,19 +1,19 @@
From bd5773947af5ca80ca546ad5625818fc912bdd60 Mon Sep 17 00:00:00 2001 From 0b89c5bd9723ebd5207590016a14e5f2c6a0bdc9 Mon Sep 17 00:00:00 2001
From: "Roy.Li" <rongqing.li@windriver.com> From: "Roy.Li" <rongqing.li@windriver.com>
Date: Thu, 22 Aug 2013 08:56:09 +0800 Date: Thu, 22 Aug 2013 08:56:09 +0800
Subject: [PATCH] tftp-hpa: add error check for disk filled up Subject: [PATCH] tftp-hpa: add error check for disk filled up
Upstream-Status: Pending [Sent to http://www.syslinux.org/archives/2013-August/020765.html]
Add error check when the write-buffer is finally flushed to the file, Add error check when the write-buffer is finally flushed to the file,
the caller can detect if the disk filled up (or had an i/o error) and the caller can detect if the disk filled up (or had an i/o error) and
return a NOSAPCE nak to the other side. return a NOSAPCE nak to the other side.
Upstream-Status: Pending [Sent to http://www.syslinux.org/archives/2013-August/020765.html]
Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Roy.Li <rongqing.li@windriver.com> Signed-off-by: Roy.Li <rongqing.li@windriver.com>
--- ---
common/tftpsubs.c | 8 +++++--- common/tftpsubs.c | 8 +++++---
tftpd/tftpd.c | 12 ++++++++++-- tftpd/tftpd.c | 12 ++++++++++--
2 files changed, 15 insertions(+), 5 deletions(-) 2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/common/tftpsubs.c b/common/tftpsubs.c diff --git a/common/tftpsubs.c b/common/tftpsubs.c
@@ -47,10 +47,10 @@ index 8c999f6..b4d4ffe 100644
/* When an error has occurred, it is possible that the two sides /* When an error has occurred, it is possible that the two sides
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
index 1873e70..c2adbda 100644 index 3158c6d..001237b 100644
--- a/tftpd/tftpd.c --- a/tftpd/tftpd.c
+++ b/tftpd/tftpd.c +++ b/tftpd/tftpd.c
@@ -1681,7 +1681,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac @@ -1690,7 +1690,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac
syslog(LOG_WARNING, "tftpd: write(ack): %m"); syslog(LOG_WARNING, "tftpd: write(ack): %m");
goto abort; goto abort;
} }
@@ -63,7 +63,7 @@ index 1873e70..c2adbda 100644
for (;;) { for (;;) {
n = recv_time(peer, dp, PKTSIZE, 0, &r_timeout); n = recv_time(peer, dp, PKTSIZE, 0, &r_timeout);
if (n < 0) { /* really? */ if (n < 0) { /* really? */
@@ -1712,7 +1716,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac @@ -1721,7 +1725,11 @@ static void tftp_recvfile(const struct formats *pf, struct tftphdr *oap, int oac
goto abort; goto abort;
} }
} while (size == segsize); } while (size == segsize);
@@ -77,5 +77,5 @@ index 1873e70..c2adbda 100644
ap->th_opcode = htons((u_short) ACK); /* send the "final" ack */ ap->th_opcode = htons((u_short) ACK); /* send the "final" ack */
-- --
1.7.10.4 2.34.1
@@ -1,6 +1,7 @@
[PATCH] fix the empty file writting From 1ce974f1cf6afbc528c941a8cdf0817a3fd7c5a7 Mon Sep 17 00:00:00 2001
From: "Roy.Li" <rongqing.li@windriver.com>
Upstream-Status: Pending Date: Mon, 30 Mar 2026 22:37:22 +0800
Subject: [PATCH] fix the empty file writting
With the feature that checking the disk filled up, the return With the feature that checking the disk filled up, the return
value of function write_behind was checked and used to detect value of function write_behind was checked and used to detect
@@ -11,13 +12,15 @@ error was miss-raised.
make write_behind to return 0 if written file is empty, to fix make write_behind to return 0 if written file is empty, to fix
the this bug. the this bug.
Upstream-Status: Pending
Signed-off-by: Roy.Li <rongqing.li@windriver.com> Signed-off-by: Roy.Li <rongqing.li@windriver.com>
--- ---
common/tftpsubs.c | 5 ++++- common/tftpsubs.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-) 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/common/tftpsubs.c b/common/tftpsubs.c diff --git a/common/tftpsubs.c b/common/tftpsubs.c
index b4ea3f2..9f6cafc 100644 index b4ea3f2..30e749a 100644
--- a/common/tftpsubs.c --- a/common/tftpsubs.c
+++ b/common/tftpsubs.c +++ b/common/tftpsubs.c
@@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert) @@ -198,9 +198,12 @@ int write_behind(FILE * file, int convert)
@@ -35,5 +38,5 @@ index b4ea3f2..9f6cafc 100644
return write(fileno(file), buf, count); return write(fileno(file), buf, count);
-- --
1.9.1 2.34.1
@@ -1,6 +1,6 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
@@ -1,6 +1,6 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
@@ -1,6 +1,6 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
@@ -1,6 +1,6 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
@@ -1,6 +1,6 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
@@ -1,6 +1,6 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
@@ -1,29 +0,0 @@
Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/
Upstream-Status: Pending
diff -up tftp-hpa-5.2/tftpd/recvfrom.c.test tftp-hpa-5.2/tftpd/recvfrom.c
--- tftp-hpa-5.2/tftpd/recvfrom.c.test 2011-12-11 23:13:52.000000000 +0100
+++ tftp-hpa-5.2/tftpd/recvfrom.c 2012-01-04 10:05:17.852042256 +0100
@@ -149,16 +149,16 @@ myrecvfrom(int s, void *buf, int len, un
/* Try to enable getting the return address */
#ifdef IP_RECVDSTADDR
- if (from->sa_family == AF_INET)
+ if (from->sa_family == AF_INET || !from->sa_family)
setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on));
#endif
#ifdef IP_PKTINFO
- if (from->sa_family == AF_INET)
+ if (from->sa_family == AF_INET || !from->sa_family)
setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on));
#endif
#ifdef HAVE_IPV6
#ifdef IPV6_RECVPKTINFO
- if (from->sa_family == AF_INET6)
+ if (from->sa_family == AF_INET6 || !from->sa_family)
setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on));
#endif
#endif
@@ -1,34 +1,23 @@
Patch originally from Fedora Patch originally from Fedora
http://pkgs.fedoraproject.org/cgit/tftp.git/ https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending Upstream-Status: Pending
diff -up tftp-hpa-0.49/config.h.cmd_arg tftp-hpa-0.49/config.h diff -up tftp-hpa-5.3/config.h.cmd_arg tftp-hpa-5.3/config.h
--- tftp-hpa-0.49/config.h.cmd_arg 2010-04-19 15:29:10.567331454 +0200 --- tftp-hpa-5.3/config.h.cmd_arg 2024-05-30 00:40:13.000000000 +0200
+++ tftp-hpa-0.49/config.h 2010-04-20 07:33:03.133232772 +0200 +++ tftp-hpa-5.3/config.h 2025-12-26 22:27:30.933202754 +0100
@@ -291,6 +291,7 @@ typedef int socklen_t; @@ -277,6 +277,7 @@ typedef int socklen_t;
/* Prototypes for libxtra functions */ /* Prototypes for libxtra functions */
void *xmalloc(size_t); void *xmalloc(size_t);
+void *xrealloc(void *, size_t); +void *xrealloc(void *, size_t);
char *xstrdup(const char *); char *xstrdup(const char *);
#ifndef HAVE_BSD_SIGNAL #ifndef HAVE_SIGHANDLER_T
diff -up tftp-hpa-0.49/configure.in.cmd_arg tftp-hpa-0.49/configure.in diff -up tftp-hpa-5.3/lib/xrealloc.c.cmd_arg tftp-hpa-5.3/lib/xrealloc.c
--- tftp-hpa-0.49/configure.in.cmd_arg 2008-10-21 00:08:31.000000000 +0200 --- tftp-hpa-5.3/lib/xrealloc.c.cmd_arg 2025-12-26 22:19:59.751870026 +0100
+++ tftp-hpa-0.49/configure.in 2010-04-19 11:05:12.387340698 +0200 +++ tftp-hpa-5.3/lib/xrealloc.c 2025-12-26 22:19:59.751870026 +0100
@@ -152,6 +152,7 @@ OBJROOT=`pwd`
XTRA=false
PA_SEARCH_LIBS_AND_ADD(xmalloc, iberty)
+PA_SEARCH_LIBS_AND_ADD(xrealloc, iberty)
PA_SEARCH_LIBS_AND_ADD(xstrdup, iberty)
PA_SEARCH_LIBS_AND_ADD(bsd_signal, bsd, bsdsignal)
PA_SEARCH_LIBS_AND_ADD(getopt_long, getopt, getopt_long)
diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c
--- tftp-hpa-0.49/lib/xrealloc.c.cmd_arg 2010-04-19 11:05:12.387340698 +0200
+++ tftp-hpa-0.49/lib/xrealloc.c 2010-04-19 11:05:12.387340698 +0200
@@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
+/* +/*
+ * xrealloc.c + * xrealloc.c
@@ -50,9 +39,9 @@ diff -up tftp-hpa-0.49/lib/xrealloc.c.cmd_arg tftp-hpa-0.49/lib/xrealloc.c
+ +
+ return p; + return p;
+} +}
diff -up tftp-hpa-0.49/tftp/main.c.cmd_arg tftp-hpa-0.49/tftp/main.c diff -up tftp-hpa-5.3/tftp/main.c.cmd_arg tftp-hpa-5.3/tftp/main.c
--- tftp-hpa-0.49/tftp/main.c.cmd_arg 2008-10-21 00:08:31.000000000 +0200 --- tftp-hpa-5.3/tftp/main.c.cmd_arg 2024-05-30 00:40:13.000000000 +0200
+++ tftp-hpa-0.49/tftp/main.c 2010-04-19 11:05:12.389329337 +0200 +++ tftp-hpa-5.3/tftp/main.c 2025-12-26 22:19:59.752870023 +0100
@@ -89,11 +89,14 @@ int connected; @@ -89,11 +89,14 @@ int connected;
const struct modes *mode; const struct modes *mode;
#ifdef WITH_READLINE #ifdef WITH_READLINE
@@ -0,0 +1,29 @@
Patch originally from Fedora
https://src.fedoraproject.org/rpms/tftp.git
Upstream-Status: Pending
diff -up tftp-hpa-5.3/tftpd/recvfrom.c.pktinfo tftp-hpa-5.3/tftpd/recvfrom.c
--- tftp-hpa-5.3/tftpd/recvfrom.c.pktinfo 2024-05-30 00:40:13.000000000 +0200
+++ tftp-hpa-5.3/tftpd/recvfrom.c 2025-12-26 22:30:37.142522362 +0100
@@ -170,16 +170,16 @@ myrecvfrom(int s, void *buf, int len, un
/* Try to enable getting the return address */
#ifdef IP_RECVDSTADDR
- if (from->sa.sa_family == AF_INET)
+ if (from->sa.sa_family == AF_INET || !from->sa.sa_family)
setsockopt(s, IPPROTO_IP, IP_RECVDSTADDR, &on, sizeof(on));
#endif
#ifdef IP_PKTINFO
- if (from->sa.sa_family == AF_INET)
+ if (from->sa.sa_family == AF_INET || !from->sa.sa_family)
setsockopt(s, IPPROTO_IP, IP_PKTINFO, &on, sizeof(on));
#endif
#ifdef HAVE_IPV6
#ifdef IPV6_RECVPKTINFO
- if (from->sa.sa_family == AF_INET6)
+ if (from->sa.sa_family == AF_INET6 || !from->sa.sa_family)
setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on));
#endif
#endif
@@ -1,4 +1,4 @@
From 6ed1eb8829dee351b54e183bc42c007cb306aaa5 Mon Sep 17 00:00:00 2001 From 2be04543d790d9ec29fa8522f07f221468ccd033 Mon Sep 17 00:00:00 2001
From: Zhang Xiao <xiao.zhang@windriver.com> From: Zhang Xiao <xiao.zhang@windriver.com>
Date: Wed, 11 Jun 2014 14:01:16 +0800 Date: Wed, 11 Jun 2014 14:01:16 +0800
Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF
@@ -34,5 +34,5 @@ index b4d4ffe..b4ea3f2 100644
c = *p++; /* pick up a character */ c = *p++; /* pick up a character */
if (prevchar == '\r') { /* if prev char was cr */ if (prevchar == '\r') { /* if prev char was cr */
-- --
1.8.5.2.233.g932f7e4 2.34.1
@@ -1,18 +0,0 @@
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd-hpa
server_args = -s /var/lib/tftpboot
disable = yes
per_source = 11
cps = 100 2
flags = IPv6
}
@@ -5,51 +5,47 @@ booting diskless workstations. The tftp package provides the user \
interface for TFTP, which allows users to transfer files to and from a \ interface for TFTP, which allows users to transfer files to and from a \
remote machine. This program and TFTP provide very little security, \ remote machine. This program and TFTP provide very little security, \
and should not be enabled unless it is expressly needed." and should not be enabled unless it is expressly needed."
DEPENDS = "readline" HOMEPAGE = "https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git/"
SECTION = "net" SECTION = "net"
HOMEPAGE = "http://freecode.com/projects/tftp-hpa"
LICENSE = "BSD-4-Clause" LICENSE = "BSD-4-Clause"
LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \ LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4" file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.tar.bz2 \ SRC_URI = "git://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git;protocol=https;branch=master;tag=tftp-hpa-${PV} \
file://tftp-0.40-remap.patch \ file://tftp-0.40-remap.patch \
file://tftp-0.42-tftpboot.patch \ file://tftp-0.42-tftpboot.patch \
file://tftp-0.49-chk_retcodes.patch \ file://tftp-0.49-chk_retcodes.patch \
file://tftp-0.49-cmd_arg.patch \ file://tftp-hpa-5.3-cmd_arg.patch \
file://tftp-hpa-0.39-tzfix.patch \ file://tftp-hpa-0.39-tzfix.patch \
file://tftp-hpa-0.49-fortify-strcpy-crash.patch \ file://tftp-hpa-0.49-fortify-strcpy-crash.patch \
file://tftp-hpa-0.49-stats.patch \ file://tftp-hpa-0.49-stats.patch \
file://tftp-hpa-5.2-pktinfo.patch \ file://tftp-hpa-5.3-pktinfo.patch \
file://default \
file://init \
file://add-error-check-for-disk-filled-up.patch \ file://add-error-check-for-disk-filled-up.patch \
file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \ file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
file://fix-writing-emtpy-file.patch \ file://fix-writing-emtpy-file.patch \
file://0001-__progname-is-provided-by-libc.patch \ file://default \
file://0001-tftp-Mark-toplevel-definition-as-external.patch \ file://init \
file://0001-tftp-Remove-double-inclusion-of-signal.h.patch \
file://tftpd-hpa.socket \ file://tftpd-hpa.socket \
file://tftpd-hpa.service \ file://tftpd-hpa.service \
" "
SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21" SRCREV = "15c4f369ee741e9205dc28ce631aaf6799193b04"
SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
inherit autotools-brokensep update-rc.d update-alternatives systemd inherit autotools-brokensep update-rc.d update-alternatives systemd
export AR = "${HOST_PREFIX}ar cq" DEPENDS = "readline"
EXTRA_OECONF += "--disable-option-checking" EXTRA_OECONF = "--enable-largefile \
--enable-year2038 \
--with-readline \
--without-tcpwrappers \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," PACKAGECONFIG[ipv6] = "--with-ipv6,--without-ipv6,"
# configure.in has errors CACHED_CONFIGUREVARS:libc-musl = "ac_cv_type_socklen_t=yes"
do_configure() {
oe_runconf
}
do_install() { do_install() {
oe_runmake install INSTALLROOT=${D} oe_runmake install INSTALLROOT=${D}
@@ -57,20 +53,25 @@ do_install() {
mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa
install -m 755 -d ${D}${localstatedir}/lib/tftpboot/ install -m 755 -d ${D}${localstatedir}/lib/tftpboot/
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa
install -d ${D}${sysconfdir}/default if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -m 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa install -d ${D}${sysconfdir}/default
install -m 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
install -d ${D}${systemd_unitdir}/system install -d ${D}${sysconfdir}/init.d
install -m 0644 ${UNPACKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
install -m 0644 ${UNPACKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${UNPACKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system
install -m 0644 ${UNPACKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service
fi
} }
FILES:${PN} = "${bindir}" FILES:${PN} = "${bindir}"
@@ -92,7 +93,6 @@ ALTERNATIVE:${PN} = "tftp"
ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa" ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_PRIORITY = "100"
SYSTEMD_PACKAGES = "tftp-hpa-server" SYSTEMD_PACKAGES = "tftp-hpa-server"
SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service" SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service"
SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable" SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable"