From 02c6f80ec76b9cd71354d9e134ac8fdd7e36f101 Mon Sep 17 00:00:00 2001 From: Sergey Popov Date: Mon, 2 Aug 2021 15:12:05 +0300 Subject: [PATCH] net-ftp/tftp-hpa: version bump, remove old --- net-ftp/tftp-hpa/Manifest | 2 +- net-ftp/tftp-hpa/files/in.tftpd.rc6 | 3 +- ...case.patch => tftp-hpa-5.2-filecase.patch} | 0 .../tftp-hpa/files/tftp-hpa-5.2-gcc-10.patch | 42 ++++++++++ net-ftp/tftp-hpa/files/tftp.xinetd | 10 --- net-ftp/tftp-hpa/tftp-hpa-5.1-r9999.ebuild | 48 ----------- net-ftp/tftp-hpa/tftp-hpa-5.2-r9999.ebuild | 83 +++++++++++++++++++ 7 files changed, 127 insertions(+), 61 deletions(-) rename net-ftp/tftp-hpa/files/{tftp-hpa-5.1-filecase.patch => tftp-hpa-5.2-filecase.patch} (100%) create mode 100644 net-ftp/tftp-hpa/files/tftp-hpa-5.2-gcc-10.patch delete mode 100644 net-ftp/tftp-hpa/files/tftp.xinetd delete mode 100644 net-ftp/tftp-hpa/tftp-hpa-5.1-r9999.ebuild create mode 100644 net-ftp/tftp-hpa/tftp-hpa-5.2-r9999.ebuild diff --git a/net-ftp/tftp-hpa/Manifest b/net-ftp/tftp-hpa/Manifest index 319a340..119ffdd 100644 --- a/net-ftp/tftp-hpa/Manifest +++ b/net-ftp/tftp-hpa/Manifest @@ -1 +1 @@ -DIST tftp-hpa-5.1.tar.xz 89288 SHA256 f736417a4d436512168ec34fe0ed13845388a3f01b862baa50b7b427e7ab5e42 +DIST tftp-hpa-5.2.tar.xz 89564 BLAKE2B 45917ca3d710f8a4b584dbe1e9a912e06fd181e4ffcfd8fba13008f08dbbce0fe339b61fb6f97236b8012e755025d05700214e365adac81dfce42b0edd636e80 SHA512 a5198e923a6e58281f749dc77b3f3ed8579e56b6f0fd6a17482cc88bdc8d34b6702c7c709717885b9b937ecae459d9a832328a49a2e3536dc7432cdb39d2a394 diff --git a/net-ftp/tftp-hpa/files/in.tftpd.rc6 b/net-ftp/tftp-hpa/files/in.tftpd.rc6 index fcf2a4c..92f7352 100644 --- a/net-ftp/tftp-hpa/files/in.tftpd.rc6 +++ b/net-ftp/tftp-hpa/files/in.tftpd.rc6 @@ -1,7 +1,6 @@ -#!/sbin/runscript +#!/sbin/openrc-run # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/tftp-hpa/files/in.tftpd.rc6,v 1.2 2005/07/30 06:29:14 vapier Exp $ depend() { need net diff --git a/net-ftp/tftp-hpa/files/tftp-hpa-5.1-filecase.patch b/net-ftp/tftp-hpa/files/tftp-hpa-5.2-filecase.patch similarity index 100% rename from net-ftp/tftp-hpa/files/tftp-hpa-5.1-filecase.patch rename to net-ftp/tftp-hpa/files/tftp-hpa-5.2-filecase.patch diff --git a/net-ftp/tftp-hpa/files/tftp-hpa-5.2-gcc-10.patch b/net-ftp/tftp-hpa/files/tftp-hpa-5.2-gcc-10.patch new file mode 100644 index 0000000..ff2488d --- /dev/null +++ b/net-ftp/tftp-hpa/files/tftp-hpa-5.2-gcc-10.patch @@ -0,0 +1,42 @@ +From 7afd5aa65fdabaa4583f6e1a84936eb9bdd33c65 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Tue, 21 Jan 2020 23:10:46 +0000 +Subject: [PATCH] tftp-hpa: fix build failure against gcc-10 + +On gcc-10 (and gcc-9 -fno-common) build fails as: + +``` +x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu tftp.o main.o ../common/libcommon.a -lreadline -liberty -o tftp +ld: main.o:(.bss+0x40): + multiple definition of `toplevel'; tftp.o:(.bss+0x100): first defined here +collect2: error: ld returned 1 exit status +make[1]: *** [Makefile:12: tftp] Error 1 +``` + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Bug: https://bugs.gentoo.org/705834 +Signed-off-by: Sergei Trofimovich +--- + tftp/tftp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tftp/tftp.c b/tftp/tftp.c +index d15da22..d067f96 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.25.0 + diff --git a/net-ftp/tftp-hpa/files/tftp.xinetd b/net-ftp/tftp-hpa/files/tftp.xinetd deleted file mode 100644 index c1bf20a..0000000 --- a/net-ftp/tftp-hpa/files/tftp.xinetd +++ /dev/null @@ -1,10 +0,0 @@ -service tftp -{ - disable = yes - socket_type = dgram - protocol = udp - wait = yes - user = root - server = /usr/sbin/in.tftpd - server_args = -R 4096:32767 -s /tftpboot -} diff --git a/net-ftp/tftp-hpa/tftp-hpa-5.1-r9999.ebuild b/net-ftp/tftp-hpa/tftp-hpa-5.1-r9999.ebuild deleted file mode 100644 index 6883d62..0000000 --- a/net-ftp/tftp-hpa/tftp-hpa-5.1-r9999.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="4" - -inherit eutils - -DESCRIPTION="port of the OpenBSD TFTP server" -HOMEPAGE="http://www.kernel.org/pub/software/network/tftp/" -SRC_URI="mirror://kernel/software/network/tftp/${PN}/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE="ipv6 readline selinux tcpd" - -RDEPEND="selinux? ( sec-policy/selinux-tftpd ) - readline? ( sys-libs/readline ) - tcpd? ( sys-apps/tcp-wrappers ) - !net-ftp/atftp - !net-ftp/netkit-tftp" -DEPEND="${RDEPEND} - app-arch/xz-utils - readline? ( sys-libs/readline ) - tcpd? ( sys-apps/tcp-wrappers )" - -src_configure() { - # Pinkbyte: additional patch for Windows clients - epatch "${FILESDIR}"/${P}-filecase.patch - # - econf \ - $(use_with ipv6) \ - $(use_with tcpd tcpwrappers) \ - $(use_with readline) -} - -src_install() { - emake INSTALLROOT="${D}" install - dodoc README* CHANGES tftpd/sample.rules - - # iputils installs this - rm "${D}"/usr/share/man/man8/tftpd.8 || die - - newconfd "${FILESDIR}"/in.tftpd.confd-0.44 in.tftpd - newinitd "${FILESDIR}"/in.tftpd.rc6 in.tftpd - insinto /etc/xinetd.d - newins "${FILESDIR}"/tftp.xinetd tftp -} diff --git a/net-ftp/tftp-hpa/tftp-hpa-5.2-r9999.ebuild b/net-ftp/tftp-hpa/tftp-hpa-5.2-r9999.ebuild new file mode 100644 index 0000000..263381d --- /dev/null +++ b/net-ftp/tftp-hpa/tftp-hpa-5.2-r9999.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit systemd toolchain-funcs + +DESCRIPTION="Port of the OpenBSD TFTP server" +HOMEPAGE="https://www.kernel.org/pub/software/network/tftp/" +SRC_URI="https://www.kernel.org/pub/software/network/tftp/${PN}/${P}.tar.xz" + +LICENSE="BSD-4" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos" +IUSE="ipv6 readline selinux tcpd +client +server" + +DEPEND=" + readline? ( sys-libs/readline:0= ) + tcpd? ( sys-apps/tcp-wrappers ) +" + +RDEPEND="${DEPEND} + selinux? ( sec-policy/selinux-tftp ) + !net-ftp/atftp + server? ( + !net-misc/iputils[tftpd(+)] + !net-ftp/uftpd + ) +" + +PATCHES=( + "${FILESDIR}"/tftp-hpa-5.2-gcc-10.patch +) + +src_prepare() { + default + # Pinkbyte: additional patch for Windows clients + eapply "${FILESDIR}"/${P}-filecase.patch + # + sed -i "/^AR/s:ar:$(tc-getAR):" MCONFIG.in || die +} + +src_configure() { + local myconf=( + ac_cv_search_bsd_signal=no + $(use_with ipv6) + $(use_with tcpd tcpwrappers) + $(use_with readline) + ) + econf "${myconf[@]}" +} + +src_compile() { + emake version.h + emake -C lib + emake -C common + if use client; then + emake -C tftp + fi + if use server; then + emake -C tftpd + fi +} + +src_install() { + dodoc README* CHANGES tftpd/sample.rules + + if use client; then + emake INSTALLROOT="${D}" -C tftp install + fi + if use server; then + emake INSTALLROOT="${D}" -C tftpd install + + newconfd "${FILESDIR}"/in.tftpd.confd-0.44 in.tftpd + newinitd "${FILESDIR}"/in.tftpd.rc6 in.tftpd + + systemd_dounit "${FILESDIR}"/tftp.service + systemd_dounit "${FILESDIR}"/tftp.socket + + insinto /etc/xinetd.d + newins "${FILESDIR}"/tftp.xinetd tftp + fi +}