tnet-misc/telnet-bsd: Add 1.2-r99 with musl-libc support. - parlay - yet another gentoo overlay HTML git clone https://git.parazyd.org/parlay DIR Log DIR Files DIR Refs DIR README --- DIR commit 1d3cab4d99ea40e92673d560097eb151d7dcec46 DIR parent 945979a011e8035ffdff04dde6c4e08983df9ecd HTML Author: parazyd <parazyd@dyne.org> Date: Thu, 6 Oct 2016 17:02:08 +0200 net-misc/telnet-bsd: Add 1.2-r99 with musl-libc support. Diffstat: A net-misc/telnet-bsd/Manifest | 1 + A net-misc/telnet-bsd/files/fix-musl… | 23 +++++++++++++++++++++++ A net-misc/telnet-bsd/files/telnet-b… | 105 +++++++++++++++++++++++++++++++ A net-misc/telnet-bsd/files/telnetd.… | 10 ++++++++++ A net-misc/telnet-bsd/telnet-bsd-1.2… | 49 +++++++++++++++++++++++++++++++ 5 files changed, 188 insertions(+), 0 deletions(-) --- DIR diff --git a/net-misc/telnet-bsd/Manifest b/net-misc/telnet-bsd/Manifest t@@ -0,0 +1 @@ +DIST telnet-bsd-1.2.tar.bz2 194518 SHA256 d6a9d26740ef75565cb1ed8ff11e327d240e6734748b2d1d2e96c126849e4733 SHA512 e3867362e1a2bc46779bcbc7631ccf08a0bfae84b71653e39099dc2db42995e5fcd39a978595006053e688430445db7ebb7a7bfbbb02a8e4dba209acbf66a69d WHIRLPOOL 673a5178f7c2305c9ad1ece9151d8d6c874ace147640f2d0e02a39f2641935af02fe42861c9ccc17b9f84e328c7e821f93ecf37dc3a86a9d1cf49700e7527f20 DIR diff --git a/net-misc/telnet-bsd/files/fix-musl-build.patch b/net-misc/telnet-bsd/files/fix-musl-build.patch t@@ -0,0 +1,23 @@ +diff --git a/telnet/misc-proto.h b/telnet/misc-proto.h +index 5845751..a4af2e1 100644 +--- a/telnet/misc-proto.h ++++ b/telnet/misc-proto.h +@@ -63,7 +63,6 @@ + #ifndef __MISC_PROTO__ + #define __MISC_PROTO__ + +-#include <sys/cdefs.h> + + void auth_encrypt_init __P((char *, char *, char *, int)); + void auth_encrypt_user __P((char *)); +diff --git a/telnet/ring.h b/telnet/ring.h +index 9ef8fb8..a53fe39 100644 +--- a/telnet/ring.h ++++ b/telnet/ring.h +@@ -28,7 +28,6 @@ + * + */ + +-#include <sys/cdefs.h> + #include <sys/types.h> + #define P __P DIR diff --git a/net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch b/net-misc/telnet-bsd/files/telnet-bsd-1.2-fbsd.patch t@@ -0,0 +1,105 @@ +diff --git a/configure.in b/configure.in +index 1547e9b..eda5fb1 100644 +--- a/configure.in ++++ b/configure.in +@@ -12,6 +12,8 @@ ALL_LINGUAS="de" + AC_SUBST(PACKAGE) + AC_SUBST(VERSION) + ++AC_CHECK_HEADERS([pty.h utmp.h]) ++ + if test x"$ac_default_prefix" = x"/usr" + then + if test x"${mandir}" = x'${prefix}/man' +diff --git a/telnet/commands.c b/telnet/commands.c +index c0d349c..fa2cf8a 100644 +--- a/telnet/commands.c ++++ b/telnet/commands.c +@@ -29,11 +29,13 @@ + + #include "telnet_locl.h" + #include <err.h> ++#include <unistd.h> + + #if defined(IPPROTO_IP) && defined(IP_TOS) + int tos = -1; + #endif /* defined(IPPROTO_IP) && defined(IP_TOS) */ + ++extern char **environ; + char *hostname; + + typedef int (*intrtn_t) __P ((int, char **)); +diff --git a/telnet/ring.h b/telnet/ring.h +index 66f7191..9ef8fb8 100644 +--- a/telnet/ring.h ++++ b/telnet/ring.h +@@ -29,6 +29,7 @@ + */ + + #include <sys/cdefs.h> ++#include <sys/types.h> + #define P __P + + /* +diff --git a/telnetd/setproctitle.c b/telnetd/setproctitle.c +index f332277..b2adc92 100644 +--- a/telnetd/setproctitle.c ++++ b/telnetd/setproctitle.c +@@ -72,6 +72,7 @@ char setproctitle_rcsid[] = + static char **Argv = NULL; /* pointer to argument vector */ + static char *LastArgv = NULL; /* end of argv */ + static char Argv0[128]; /* program name */ ++extern char **environ; + + void + initsetproctitle(int argc, char **argv, char **envp) +@@ -86,10 +87,10 @@ initsetproctitle(int argc, char **argv, char **envp) + + for (i = 0; envp[i] != NULL; i++) + continue; +- __environ = (char **) malloc(sizeof (char *) * (i + 1)); ++ environ = (char **) malloc(sizeof (char *) * (i + 1)); + for (i = 0; envp[i] != NULL; i++) +- __environ[i] = strdup(envp[i]); +- __environ[i] = NULL; ++ environ[i] = strdup(envp[i]); ++ environ[i] = NULL; + + /* + ** Save start and extent of argv for setproctitle. +diff --git a/telnetd/sys_term.c b/telnetd/sys_term.c +index 1235428..6fcc601 100644 +--- a/telnetd/sys_term.c ++++ b/telnetd/sys_term.c +@@ -27,8 +27,15 @@ + * SUCH DAMAGE. + */ + ++#include <config.h> ++ ++#include <sys/types.h> ++#ifdef HAVE_UTMP_H + #include <utmp.h> ++#endif ++#ifdef HAVE_PTY_H + #include <pty.h> ++#endif + + #include "telnetd.h" + #include "pathnames.h" +@@ -820,6 +827,7 @@ addarg (struct argv_stuff *avs, const char *val) + void + cleanup (int sig) + { ++#if !defined(__FreeBSD__) || __FreeBSD__ < 9 + sigset_t sigset; + char *p; + (void) sig; +@@ -847,6 +855,7 @@ cleanup (int sig) + *p = 'p'; + chmod (line, 0666); + chown (line, 0, 0); ++#endif + shutdown (net, 2); + exit (1); + } DIR diff --git a/net-misc/telnet-bsd/files/telnetd.xinetd b/net-misc/telnet-bsd/files/telnetd.xinetd t@@ -0,0 +1,10 @@ +service telnet +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/sbin/in.telnetd + log_on_failure += USERID + disable = yes +} DIR diff --git a/net-misc/telnet-bsd/telnet-bsd-1.2-r99.ebuild b/net-misc/telnet-bsd/telnet-bsd-1.2-r99.ebuild t@@ -0,0 +1,49 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils autotools toolchain-funcs + +DESCRIPTION="Telnet and telnetd ported from OpenBSD with IPv6 support" +HOMEPAGE="ftp://ftp.suse.com/pub/people/kukuk/ipv6/" +SRC_URI="ftp://ftp.suse.com/pub/people/kukuk/ipv6/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="nls xinetd" + +RDEPEND="sys-libs/ncurses:=" +DEPEND="${RDEPEND} + !net-misc/netkit-telnetd + xinetd? ( sys-apps/xinetd ) + virtual/pkgconfig" + +src_prepare() { + epatch "${FILESDIR}"/${P}-fbsd.patch + epatch "${FILESDIR}"/fix-musl-build.patch + eaclocal + eautoreconf +} + +src_configure() { + # FreeBSD doesn't seem to support PIE neither does hppa + if use kernel_FreeBSD; then + export libc_cv_fpie="no" + fi + + econf + emake LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)" +} + +src_install() { + emake DESTDIR="${D}" install + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/telnetd.xinetd telnetd + fi + + dodoc README THANKS NEWS AUTHORS ChangeLog INSTALL +}