blob: 565f493ce2d035720c1b4dbdda26b3051ea9c48a [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Client for the Trivial File Transfer Protocol"
2DESCRIPTION = \
3"The Trivial File Transfer Protocol (TFTP) is normally used only for \
4booting diskless workstations. The tftp package provides the user \
5interface for TFTP, which allows users to transfer files to and from a \
6remote machine. This program and TFTP provide very little security, \
7and should not be enabled unless it is expressly needed."
8DEPENDS = "tcp-wrappers readline"
9SECTION = "net"
Brad Bishopd7bf8c12018-02-25 22:55:05 -050010HOMEPAGE = "http://freecode.com/projects/tftp-hpa"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050011LICENSE = "BSD-4-Clause"
12LIC_FILES_CHKSUM = "file://MCONFIG.in;beginline=1;endline=9;md5=c28ba5adb43041fae4629db05c83cbdd \
13 file://tftp/tftp.c;beginline=1;endline=32;md5=988c1cba99d70858a26cd877209857f4"
14
15
16SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.tar.bz2 \
17 file://tftp-0.40-remap.patch \
18 file://tftp-0.42-tftpboot.patch \
19 file://tftp-0.49-chk_retcodes.patch \
20 file://tftp-0.49-cmd_arg.patch \
21 file://tftp-hpa-0.39-tzfix.patch \
22 file://tftp-hpa-0.49-fortify-strcpy-crash.patch \
23 file://tftp-hpa-0.49-stats.patch \
24 file://tftp-hpa-5.2-pktinfo.patch \
25 file://default \
26 file://init \
27 file://add-error-check-for-disk-filled-up.patch \
28 file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \
29 file://fix-writing-emtpy-file.patch \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050030 file://0001-__progname-is-provided-by-libc.patch \
Andrew Geisslerbffdb3e2020-08-21 16:13:29 -050031 file://0001-tftp-Mark-toplevel-definition-as-external.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050032 file://0001-tftp-Remove-double-inclusion-of-signal.h.patch \
Brad Bishopd7bf8c12018-02-25 22:55:05 -050033 file://tftpd-hpa.socket \
34 file://tftpd-hpa.service \
Patrick Williamsb48b7b42016-08-17 15:04:38 -050035"
36
37SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21"
38SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269"
39
Brad Bishopd7bf8c12018-02-25 22:55:05 -050040inherit autotools-brokensep update-rc.d update-alternatives systemd
Patrick Williamsb48b7b42016-08-17 15:04:38 -050041
42export AR = "${HOST_PREFIX}ar cq"
43
44EXTRA_OECONF += "--disable-option-checking"
45
Brad Bishop6e60e8b2018-02-01 10:27:11 -050046PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
Patrick Williamsddad1a12017-02-23 20:36:32 -060047PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
48
Patrick Williamsb48b7b42016-08-17 15:04:38 -050049# configure.in has errors
50do_configure() {
51 oe_runconf
52}
53
54do_install() {
55 oe_runmake install INSTALLROOT=${D}
56 mv ${D}${bindir}/tftp ${D}${bindir}/tftp-hpa
57 mv ${D}${sbindir}/in.tftpd ${D}${sbindir}/in.tftpd-hpa
58
59 install -m 755 -d ${D}${localstatedir}/lib/tftpboot/
60 install -d ${D}${sysconfdir}/init.d
61 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/tftpd-hpa
62 sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
63 sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
64 sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/tftpd-hpa
65 sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/tftpd-hpa
66
67 install -d ${D}${sysconfdir}/default
68 install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/tftpd-hpa
Brad Bishopd7bf8c12018-02-25 22:55:05 -050069
70 install -d ${D}${systemd_unitdir}/system
71 install -m 0644 ${WORKDIR}/tftpd-hpa.socket ${D}${systemd_unitdir}/system
72 install -m 0644 ${WORKDIR}/tftpd-hpa.service ${D}${systemd_unitdir}/system
73 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tftpd-hpa.service
Patrick Williamsb48b7b42016-08-17 15:04:38 -050074}
75
Patrick Williams213cb262021-08-07 19:21:33 -050076FILES:${PN} = "${bindir}"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050077
78PACKAGES += "tftp-hpa-server"
Patrick Williams213cb262021-08-07 19:21:33 -050079SUMMARY:tftp-hpa-server = "Server for the Trivial File Transfer Protocol"
80FILES:tftp-hpa-server = "${sbindir} ${sysconfdir} ${localstatedir}"
81CONFFILES:tftp-hpa-server = "${sysconfdir}/default/tftpd-hpa"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050082
83INITSCRIPT_PACKAGES = "tftp-hpa-server"
84INITSCRIPT_NAME = "tftpd-hpa"
85INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 1 ."
86
Patrick Williams213cb262021-08-07 19:21:33 -050087ALTERNATIVE:${PN}-doc = "tftpd.8 tftp.1"
Andrew Geissler82c905d2020-04-13 13:39:40 -050088ALTERNATIVE_LINK_NAME[tftpd.8] = "${mandir}/man8/tftpd.8"
89ALTERNATIVE_LINK_NAME[tftp.1] = "${mandir}/man1/tftp.1"
90
Patrick Williams213cb262021-08-07 19:21:33 -050091ALTERNATIVE:${PN} = "tftp"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050092ALTERNATIVE_TARGET[tftp] = "${bindir}/tftp-hpa"
Andrew Geissler72956ed2021-01-08 16:11:14 -060093ALTERNATIVE_PRIORITY = "100"
Patrick Williamsb48b7b42016-08-17 15:04:38 -050094
Andrew Geissler82c905d2020-04-13 13:39:40 -050095
Brad Bishopd7bf8c12018-02-25 22:55:05 -050096SYSTEMD_PACKAGES = "tftp-hpa-server"
Patrick Williams213cb262021-08-07 19:21:33 -050097SYSTEMD_SERVICE:tftp-hpa-server = "tftpd-hpa.socket tftpd-hpa.service"
98SYSTEMD_AUTO_ENABLE:tftp-hpa-server = "enable"