# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Eric Bélanger <eric@archlinux.org>

pkgname=inetutils
pkgver=2.6
pkgrel=1
pkgdesc="A collection of common network programs"
arch=('x86_64' 'aarch64')
url="https://www.gnu.org/software/inetutils/"
license=('GPL-3.0-or-later')
depends=('glibc' 'pam' 'libcap' 'readline' 'ncurses' 'libxcrypt'
	     libpam.so libcrypt.so libreadline.so libncursesw.so)
makedepends=('git' 'help2man' 'python')
backup=('etc/pam.d/rlogin' 'etc/pam.d/rsh')
options=('!emptydirs')
install=inetutils.install
source=("git+https://https.git.savannah.gnu.org/git/inetutils.git?#tag=v${pkgver}?signed"
        "git+https://https.git.savannah.gnu.org/git/gnulib.git"
        'inetutils.sysusers'
        'ftpd.service' 'rlogin.pam' 'rlogin@.service' 'rlogin.socket'
        'rsh.pam' 'rsh@.service' 'rsh.socket' 'talk.service' 'talk.socket'
        'telnet@.service' 'telnet.socket')
sha512sums=('59a65642f1883cb7315abe602eb92bb4c0639cde616323449e81e44dbdcb4d41b01e2332b5822a92fb08890feda6ef98a17cf8507fa3dce600c2af5b2d917fb4'
            'SKIP'
            '00a6ff36efe63612990181f7cb37ea7d43ee7f2b6bda6b1fc23ccb2f3b19da54aabad041c2412936561dcd997f9613bd8144a96f5e04f30135a36f9ac98d8056'
            'df5b37c9fc072e012f0e67d849db7e535a62ddb17a37e865acb157f2bc16ffd72d84f24fef1e788dacbbe7e5675e87e141fbd36e53339cc7810dde1b9c54a3b8'
            '432a45af5cd4f9f2dee4b631b45745b734e47cf631553e79db31905fa0839988914bcfed1dfcdd00d2ea6e4029b0674d46623c33ce0bd0678c2628fbaa0d1b25'
            '5c2d1040484f4053cc6e114d38e3a671792c6f196f666a6f6529276d55589870fa9040ac32ac9b521c80c14931b03c97738d2a6ffb50d3a658363a5123ea9e6e'
            '8857dd03794a0ed48b87e6a876c4e17246f3bb4083dc2a9593d8c05d831b03d944d133ae8dc44bc23d1b9d7fe82dd7ab166cb87f53b859a62fc1479e9a49a1de'
            'c957708315ea2d873da55691bb0d0997ee3e2dcb40fb47cef19fd60c25379f1660d0605edd8fb0a477252c5af3e422b44b5e0aaa5b76220dadc90791dd526801'
            'b71e7c25bb1fe3e35420ea3d7eda9b44ed61423ec54973a42a0b5bdac01e8d131aa9656a1e050d74f27723a976fe058a79a04bb34ed70dc5eeb7c49b9be078b4'
            '9fc711b8260f4340188b8f6bc5ac944958d1609a1a506d76b3be917a01caa4493edae89da3c1eaa55294bbddaa6744c68ecb1cd322bb2d74e284d2d6fcd0d2c8'
            '0024798b019c8720a52d5003730085de4fb091826c50605d7eeb4506a2fe189740535106e6e8a7afc61edbbd2c5f689358a4009cd466f1a7dcb3a9e8a8c8425a'
            '502ca66fb2c0a2df0ea8827c820c199c29a91ab5ccff26866e02a4219007ee7fa36ed4b6001207212db332047a574edc70744e6fcc130d62aab02faa3c9566f7'
            '6b1f170c1c680bfa2186e0cb3bf555124048c46669bee0265948d22723493b5a23a735f52a8a72304e6cd020dbf2c9991d6cbc4e006bf38dc3b7d6c1addcf1e8'
            '218f2b5686ca0321a9f7a5a991c69b289aa297b7a295e654020636d38fbb5a37d09e720c1e2f950ba14616b0e7dafc2cb6a5e325e3b117dfe0ab3c733b98e5eb')
# GNU Keyring: https://ftpmirror.gnu.org/gnu/gnu-keyring.gpg
validpgpkeys=(
  '4FBD67621082C4C502448E3B180551BAD95A3C35' # Alfred M. Szmidt <ams@gnu.org>
  '9AA9BDB11BB1B99A21285A330664A76954265E8C' # Simon Josefsson <simon@josefsson.org>
  'B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE' # simon@josefsson.org
)

prepare() {
  cd ${pkgname}

  # The inetutils does not have a submodule, that is added on the fly.
  # Giving the path like this should work anyway...
  GNULIB_REFDIR="${srcdir}/gnulib"
  export GNULIB_REFDIR

  sh bootstrap
  autoreconf -fiv
}

build() {
  cd ${pkgname}
  ./configure \
    --prefix=/usr \
    --libexec=/usr/bin \
    --localstatedir=/var \
    --sysconfdir=/etc \
    --without-wrap \
    --with-pam \
    --enable-ftp \
    --enable-ftpd \
    --enable-telnet \
    --enable-telnetd \
    --enable-talk \
    --enable-talkd \
    --enable-rlogin \
    --enable-rlogind \
    --enable-rsh \
    --enable-rshd \
    --enable-rcp \
    --enable-hostname \
    --enable-dnsdomainname \
    --disable-rexec \
    --disable-rexecd \
    --disable-tftp \
    --disable-tftpd \
    --disable-ping \
    --disable-ping6 \
    --disable-logger \
    --disable-syslogd \
    --disable-inetd \
    --disable-whois \
    --disable-uucpd \
    --disable-ifconfig \
    --disable-traceroute

  # fix tgetent from curses...
  sed -i '/HAVE_CURSES_TGETENT/c #define HAVE_CURSES_TGETENT 1' config.h
  sed -i '/# include <curses.h>/a # include <term.h>' telnet/telnet.c telnetd/utility.c

  make
}

check() {
  cd ${pkgname}
  make check
}

package() {
  cd ${pkgname}
  make DESTDIR="${pkgdir}" install

  chmod -s "${pkgdir}"/usr/bin/{rcp,rlogin,rsh}

  install -D -m644 "${srcdir}/rlogin.pam" "${pkgdir}/etc/pam.d/rlogin"
  install -D -m644 "${srcdir}/rsh.pam" "${pkgdir}/etc/pam.d/rsh"

  install -D -m644 "${srcdir}/ftpd.service" "${pkgdir}/usr/lib/systemd/system/ftpd.service"
  install -D -m644 "${srcdir}/rlogin@.service" "${pkgdir}/usr/lib/systemd/system/rlogin@.service"
  install -D -m644 "${srcdir}/rlogin.socket" "${pkgdir}/usr/lib/systemd/system/rlogin.socket"
  install -D -m644 "${srcdir}/rsh@.service" "${pkgdir}/usr/lib/systemd/system/rsh@.service"
  install -D -m644 "${srcdir}/rsh.socket" "${pkgdir}/usr/lib/systemd/system/rsh.socket"
  install -D -m644 "${srcdir}/talk.service" "${pkgdir}/usr/lib/systemd/system/talk.service"
  install -D -m644 "${srcdir}/talk.socket" "${pkgdir}/usr/lib/systemd/system/talk.socket"
  install -D -m644 "${srcdir}/telnet@.service" "${pkgdir}/usr/lib/systemd/system/telnet@.service"
  install -D -m644 "${srcdir}/telnet.socket" "${pkgdir}/usr/lib/systemd/system/telnet.socket" 

  install -vDm 644 ../$pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
}
