commit: bb20ada2a4b5c07e33c736403a5324f3997f30e6 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> AuthorDate: Mon Mar 31 19:24:56 2025 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Mon Mar 31 19:24:56 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb20ada2
net-misc/inetutils: add 2.6 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> net-misc/inetutils/Manifest | 1 + net-misc/inetutils/inetutils-2.6.ebuild | 169 ++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+) diff --git a/net-misc/inetutils/Manifest b/net-misc/inetutils/Manifest index 9294329b8da4..8ebdd5d2c4aa 100644 --- a/net-misc/inetutils/Manifest +++ b/net-misc/inetutils/Manifest @@ -1 +1,2 @@ DIST inetutils-2.5.tar.xz 1670424 BLAKE2B 80ab4f4287328ceb75c33b8794ec21209ea95206a205ea60fbd8f1d7e7fa01eec228ea50d61c8bb37a88cd3144b58ecfecd0af440ba85d43d5ea19565d88a6d4 SHA512 dc11ad6eeb5ea2c85edddbfc77630b5b09e4e1ac643629edf13b0ac0828c13cdb0885275153c072ae13a798427c96bc461037822ad646f7210369192c35bb04c +DIST inetutils-2.6.tar.xz 1764528 BLAKE2B ab6de2d55c867cc718a1f2d2504d587774f8d5dd583b49131bcc1580116fe3dba60058b330fdf50f33f86394f9ebd03dbf77d3086e8b5f2e382132eb2f18cea5 SHA512 a85b0be4d49f89d34765a1206a6d94c123df3777a5d2ee4e08d11c872ac9816ab589b0cf6ef0b916d6c732da3bdb9bfe6f43925b513d065806e08b30cd1e98a5 diff --git a/net-misc/inetutils/inetutils-2.6.ebuild b/net-misc/inetutils/inetutils-2.6.ebuild new file mode 100644 index 000000000000..ed74c3efdbe5 --- /dev/null +++ b/net-misc/inetutils/inetutils-2.6.ebuild @@ -0,0 +1,169 @@ +# Copyright 2021-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pam systemd + +DESCRIPTION="Collection of common network programs" +HOMEPAGE="https://www.gnu.org/software/inetutils/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +SERVERS="ftpd inetd rexecd rlogind rshd syslogd talkd telnetd tftpd uucpd" +CLIENTS="ftp dnsdomainname hostname ping ping6 rcp rexec rlogin rsh logger telnet tftp whois ifconfig traceroute" +PROGRAMS="${SERVERS} ${CLIENTS}" +IUSE="idn kerberos pam tcpd ${PROGRAMS}" + +DEPEND=" + sys-libs/readline:0= + ftpd? ( virtual/libcrypt:0= ) + idn? ( net-dns/libidn2:= ) + kerberos? ( virtual/krb5 ) + pam? ( sys-libs/pam ) + tcpd? ( sys-apps/tcp-wrappers ) + uucpd? ( virtual/libcrypt:0= ) +" +RDEPEND="${DEPEND} + ftpd? ( net-ftp/ftpbase[pam?] ) + ftp? ( !net-ftp/ftp ) + dnsdomainname? ( !sys-apps/net-tools ) + hostname? ( !sys-apps/coreutils[hostname(-)] !sys-apps/net-tools[hostname(+)] ) + inetd? ( !sys-apps/netkit-base ) + ping? ( !net-misc/iputils ) + ping6? ( !net-misc/iputils[ipv6(+)] ) + rcp? ( !net-misc/netkit-rsh ) + rexec? ( !net-misc/netkit-rsh ) + rlogin? ( !net-misc/netkit-rsh ) + rsh? ( !net-misc/netkit-rsh ) + logger? ( !sys-apps/util-linux[logger(+)] ) + syslogd? ( !app-admin/sysklogd ) + talkd? ( !net-misc/netkit-talk ) + telnet? ( !net-misc/telnet-bsd !net-misc/netkit-telnetd ) + telnetd? ( !net-misc/telnet-bsd !net-misc/netkit-telnetd ) + tftp? ( !net-ftp/tftp-hpa[client(+)] ) + tftpd? ( !net-ftp/tftp-hpa[server(+)] ) + whois? ( !net-misc/whois ) + ifconfig? ( !sys-apps/net-tools ) + traceroute? ( !net-analyzer/traceroute ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( MIN static_assert alignof unreachable ) + +src_configure() { + local myconf=( + --localstatedir="${EPREFIX}/var" + --disable-clients + --disable-servers + $(use_with idn) + --without-krb4 + $(use_with kerberos krb5) + --without-shishi + $(use_with pam) + $(use_with tcpd wrap) + ) + + local prog + for prog in ${PROGRAMS}; do + myconf+=( $(use_enable "${prog}") ) + done + + econf "${myconf[@]}" +} + +iu_pamd() { + if use "$1"; then + pamd_mimic system-remote-login "$2" auth account password session + fi +} + +create_init() { + use "$1" || return + + newinitd - "$1" <<-EOF + #!${EPREFIX}/sbin/openrc-run + command="${EPREFIX}/usr/libexec/$1" + command_args="$2" + pidfile="${EPREFIX}/var/run/$1.pid" + EOF + + systemd_newunit - "$1.service" <<-EOF + [Service] + ExecStart="${EPREFIX}/usr/libexec/$1"${2:+ }$2 + PIDFile=${EPREFIX}/var/run/$1.pid + Type=forking + + [Install] + WantedBy=multi-user.target + EOF +} + +create_socket_stream() { + use "$1" || return + + systemd_newunit - "$1.socket" <<-EOF + [Socket] + ListenStream=$2 + Accept=yes + + [Install] + WantedBy=sockets.target + EOF + + systemd_newunit - "[email protected]" <<-EOF + [Unit] + CollectMode=inactive-or-failed + + [Service] + ExecStart="${EPREFIX}/usr/libexec/$1" + StandardInput=socket + StandardError=journal + EOF +} + +create_socket_datagram() { + use "$1" || return + + systemd_newunit - "$1.socket" <<-EOF + [Socket] + ListenDatagram=$2 + + [Install] + WantedBy=sockets.target + EOF + + systemd_newunit - "$1.service" <<-EOF + [Service] + ExecStart="${EPREFIX}/usr/libexec/$1" + StandardInput=socket + StandardError=journal + EOF +} + +src_install() { + default + iu_pamd rexecd rexec + iu_pamd rlogind rlogin + iu_pamd rshd rsh + if use kerberos; then + iu_pamd rlogind krlogin + iu_pamd rshd krsh + fi + + create_init ftpd --daemon + create_init inetd + create_init rlogind --daemon + create_init syslogd + + create_socket_stream ftpd 21 + create_socket_stream rexecd 512 + create_socket_stream rlogind 513 + create_socket_stream rshd 514 + create_socket_stream telnetd 23 + create_socket_stream uucpd 540 + + create_socket_datagram talkd 518 +}
