3e854219e5
Fixes issue 18445: https://github.com/void-linux/void-packages/issues/18445 inetutils-whois consults the /etc/services provided by IANA to determine the port number for the "whois" service. However, the "whois" service is not listed in that file and when you run whois you will end up with the following error: > whois 4.2.2.4 getaddrinfo: Servname not supported for ai_socktype This patch makes use of "nicname" port which is the same number (43) as a "whois" port and is listed in /etc/services. Moreover, changing the whois/whois.c leads to invocation of help2man. This is unnecessary, because no option has changed and launching help2man during the cross compilation fails. This fix wouldn't be possible without the help of great folks at #voidlinux.
244 lines
6.8 KiB
Bash
244 lines
6.8 KiB
Bash
# Template file for 'inetutils'
|
|
pkgname=inetutils
|
|
version=1.9.4
|
|
revision=11
|
|
build_style=gnu-configure
|
|
configure_args="--without-wrap --with-pam"
|
|
makedepends="pam-devel readline-devel"
|
|
short_desc="GNU network utilities"
|
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
|
license="GPL-3.0-or-later"
|
|
homepage="http://www.gnu.org/software/inetutils"
|
|
distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.xz"
|
|
checksum=849d96f136effdef69548a940e3e0ec0624fc0c81265296987986a0dd36ded37
|
|
|
|
subpackages="inetutils-dnsdomainname inetutils-ftp inetutils-hostname
|
|
inetutils-ifconfig inetutils-inetd inetutils-ping inetutils-rexec
|
|
inetutils-syslog inetutils-telnet inetutils-tftp inetutils-traceroute
|
|
inetutils-uucpd inetutils-whois"
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
*-musl)
|
|
# Some packages don't build on musl, so explicitly disable them
|
|
configure_args+=" --disable-rcp --disable-rlogin --disable-rlogind --disable-rsh --disable-rshd --disable-talk --disable-talkd"
|
|
;;
|
|
*)
|
|
subpackages+=" inetutils-rcp inetutils-rlogin inetutils-rsh inetutils-talk"
|
|
;;
|
|
esac
|
|
depends="${subpackages}"
|
|
|
|
pre_configure() {
|
|
vsed -i 's|_GL_WARN_ON_USE (gets|//_GL_WARN_ON_USE (gets|' lib/stdio.in.h
|
|
# Create a definition to allow the ifconfig program to build properly
|
|
echo '#define PATH_PROCNET_DEV "/proc/net/dev"' >> ifconfig/system/linux.h
|
|
# Use the standard name ("nicname") for the "whois" service.
|
|
vsed -i 's|port : "whois"|port : "nicname"|' whois/whois.c
|
|
# Changing the whois/whois.c triggers help2man invocation. This is not
|
|
# necessary because no option has changed. Moreover, launching help2man
|
|
# fails for the cross compilations. Let's make sure the build process
|
|
# is not triggered to run it then.
|
|
touch man/whois.1
|
|
}
|
|
post_install() {
|
|
# Keep just usr/share/info/inetutils.info.gz
|
|
rm -r ${DESTDIR}/usr/bin
|
|
rm -r ${DESTDIR}/usr/share/man
|
|
rm -r ${DESTDIR}/usr/libexec
|
|
}
|
|
|
|
inetutils-dnsdomainname_package() {
|
|
short_desc+=" - dnsdomainname tool"
|
|
pkg_install() {
|
|
vbin src/dnsdomainname
|
|
vman man/dnsdomainname.1
|
|
}
|
|
}
|
|
inetutils-hostname_package() {
|
|
short_desc+=" - hostname tool"
|
|
alternatives="
|
|
hostname:hostname:/usr/bin/${pkgname}
|
|
hostname:hostname.1:/usr/share/man/man1/${pkgname}.1
|
|
"
|
|
pkg_install() {
|
|
vbin src/hostname ${pkgname}
|
|
vman man/hostname.1 ${pkgname}.1
|
|
}
|
|
}
|
|
inetutils-ifconfig_package() {
|
|
short_desc+=" - ifconfig tool"
|
|
alternatives="
|
|
ifconfig:ifconfig:/usr/bin/${pkgname}
|
|
ifconfig:ifconfig.1:/usr/share/man/man1/${pkgname}.1
|
|
"
|
|
pkg_install() {
|
|
vbin ifconfig/ifconfig ${pkgname}
|
|
vman man/ifconfig.1 ${pkgname}.1
|
|
}
|
|
}
|
|
inetutils-ftp_package() {
|
|
short_desc+=" - ftp client and server (file transfer protocol)"
|
|
alternatives="
|
|
ftp:ftp:/usr/bin/${pkgname}
|
|
ftp:ftp.1:/usr/share/man/man1/${pkgname}.1
|
|
"
|
|
pkg_install() {
|
|
vbin ftp/ftp ${pkgname}
|
|
vman man/ftp.1 ${pkgname}.1
|
|
vbin ftpd/ftpd
|
|
vman man/ftpd.8
|
|
# TODO: write etc/inet.d/ftp.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-ping_package() {
|
|
short_desc+=" - ping tool (IPv4 and IPv6)"
|
|
alternatives="
|
|
ping:ping:/usr/bin/${pkgname}
|
|
ping:ping.1:/usr/share/man/man1/${pkgname}.1
|
|
ping6:ping6:/usr/bin/${pkgname}6
|
|
ping6:ping6.1:/usr/share/man/man1/${pkgname}6.1
|
|
"
|
|
pkg_install() {
|
|
vbin ping/ping ${pkgname}
|
|
vman man/ping.1 ${pkgname}.1
|
|
vbin ping/ping6 ${pkgname}6
|
|
vman man/ping6.1 ${pkgname}6.1
|
|
}
|
|
}
|
|
inetutils-rcp_package() {
|
|
short_desc+=" - rcp client (remote copy)"
|
|
pkg_install() {
|
|
vbin src/rcp
|
|
vman man/rcp.1
|
|
}
|
|
}
|
|
inetutils-rexec_package() {
|
|
short_desc+=" - rexec client and server (remote exec)"
|
|
conf_files="/etc/xinetd.d/rexec"
|
|
pkg_install() {
|
|
vbin src/rexec
|
|
vman man/rexec.1
|
|
vbin src/rexecd
|
|
vman man/rexecd.8
|
|
vinstall ${FILESDIR}/rexec.xinetd 644 etc/xinetd.d rexec
|
|
# TODO: write etc/inet.d/rexec.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-rlogin_package() {
|
|
short_desc+=" - rlogin client and server (remote login)"
|
|
conf_files="/etc/xinetd.d/rlogin"
|
|
pkg_install() {
|
|
vbin src/rlogin
|
|
vman man/rlogin.1
|
|
vbin src/rlogind
|
|
vman man/rlogind.8
|
|
vinstall ${FILESDIR}/rlogin.xinetd 644 etc/xinetd.d rlogin
|
|
# TODO: write etc/inet.d/rlogin.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-rsh_package() {
|
|
short_desc+=" - rsh client and server (remote shell)"
|
|
conf_files="/etc/xinetd.d/rsh"
|
|
pkg_install() {
|
|
vbin src/rsh
|
|
vman man/rsh.1
|
|
vbin src/rshd
|
|
vman man/rshd.8
|
|
vinstall ${FILESDIR}/rsh.xinetd 644 etc/xinetd.d rsh
|
|
# TODO: write etc/inet.d/rsh.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-talk_package() {
|
|
short_desc+=" - talk client and server"
|
|
conf_files="/etc/xinetd.d/talk"
|
|
pkg_install() {
|
|
vbin talk/talk
|
|
vman man/talk.1
|
|
vbin talkd/talkd
|
|
vman man/talkd.8
|
|
vinstall ${FILESDIR}/talk.xinetd 644 etc/xinetd.d talk
|
|
# TODO: write etc/inet.d/talk.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-telnet_package() {
|
|
short_desc+=" - telnet client and server"
|
|
conf_files="/etc/xinetd.d/telnet"
|
|
pkg_install() {
|
|
vbin telnet/telnet
|
|
vman man/telnet.1
|
|
vbin telnetd/telnetd
|
|
vman man/telnetd.8
|
|
vinstall ${FILESDIR}/telnet.xinetd 644 etc/xinetd.d telnet
|
|
# TODO: write etc/inet.d/telnet.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-tftp_package() {
|
|
short_desc+=" - tftp client and server (trivial file transfer protocol)"
|
|
conf_files="/etc/xinetd.d/tftp"
|
|
alternatives="
|
|
tftp:tftp:/usr/bin/${pkgname}
|
|
tftp:tftp.1:/usr/share/man/man1/${pkgname}.1
|
|
"
|
|
pkg_install() {
|
|
vbin src/tftp ${pkgname}
|
|
vman man/tftp.1 ${pkgname}.1
|
|
vbin src/tftpd
|
|
vman man/tftpd.8
|
|
vinstall ${FILESDIR}/tftp.xinetd 644 etc/xinetd.d tftp
|
|
# TODO: write etc/inet.d/tftp.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|
|
inetutils-traceroute_package() {
|
|
short_desc+=" - traceroute tool"
|
|
alternatives="
|
|
traceroute:traceroute:/usr/bin/${pkgname}
|
|
traceroute:traceroute.1:/usr/share/man/man1/${pkgname}.1
|
|
"
|
|
pkg_install() {
|
|
vbin src/traceroute ${pkgname}
|
|
vman man/traceroute.1 ${pkgname}.1
|
|
}
|
|
}
|
|
inetutils-whois_package() {
|
|
short_desc+=" - whois tool"
|
|
alternatives="
|
|
whois:whois:/usr/bin/${pkgname}
|
|
whois:whois.1:/usr/share/man/man1/${pkgname}.1
|
|
"
|
|
pkg_install() {
|
|
vbin whois/whois ${pkgname}
|
|
vman man/whois.1 ${pkgname}.1
|
|
}
|
|
}
|
|
inetutils-inetd_package() {
|
|
short_desc+=" - inet daemon"
|
|
pkg_install() {
|
|
vbin src/inetd
|
|
vman man/inetd.8
|
|
# TODO: Install default config files with all services disabled?
|
|
# Add config_files="/etc/inetd.conf /etc/hosts.deny /etc/hosts.allow"
|
|
}
|
|
}
|
|
inetutils-syslog_package() {
|
|
short_desc+=" - logger tool and syslog daemon"
|
|
alternatives="
|
|
logger:logger:/usr/bin/inetutils-logger
|
|
logger:logger.1:/usr/share/man/man1/inetutils-logger.1
|
|
"
|
|
pkg_install() {
|
|
vbin src/logger inetutils-logger
|
|
vman man/logger.1 inetutils-logger.1
|
|
vbin src/syslogd
|
|
vman man/syslogd.8
|
|
}
|
|
}
|
|
inetutils-uucpd_package() {
|
|
short_desc+=" - uucpd daemon (unix to unix copy)"
|
|
conf_files="/etc/xinetd.d/uucp"
|
|
pkg_install() {
|
|
vbin src/uucpd
|
|
vman man/uucpd.8
|
|
vinstall ${FILESDIR}/uucp.xinetd 644 etc/xinetd.d uucp
|
|
# TODO: write etc/inet.d/uucp.conf or add an etc/inetd.conf line
|
|
}
|
|
}
|