# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>

pkgname=rpcbind
pkgver=1.2.8
pkgrel=1
pkgdesc="portmap replacement which supports RPC over various protocols"
arch=(x86_64 aarch64)
url="http://rpcbind.sourceforge.net"
license=('BSD-3-Clause')
backup=('etc/conf.d/rpcbind')
depends=('glibc' 'libtirpc' 'systemd-libs')
makedepends=('systemd')
replaces=('portmap')
# see also http://git.linux-nfs.org/?p=steved/rpcbind.git;a=summary
source=(https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
        rpcbind-sunrpc.patch
        rpcbind.conf
        systemd_service.diff
        tmpfiles.d
        sysusers.d
        CVE-2017-8779.diff)
sha1sums=('2f733aba26075ca91fda3787890232da3d07c06e'
          '1b997ce76f9727efc8c72fc5f97189591c9a60e2'
          'ce58b8fccf0440aa81eeb21c99ef7dd654f03b7f'
          '8f6615f023fcfa5c91922a9630e858d22816575b'
          'eb8b7375a4ca31b3f61fa726f387884d5e4ca7a3'
          'b81b2d3798fc88359aaa0f08b2d3c2f809a19fc1'
          '38044ce8f3376a0b69da8e078e988fd1645bd435')
sha256sums=('964132c389918e8964d7334936b6dd10ef025b300c6b29e693ba0f29550e3de5'
            '7a32111c74e708ad431b7114580c60d7405c591273e6cc00baf5baff05952573'
            '7d13186a6dfdc855cf9c6d41de56aa1efd04bd4a6bd7ab36f81bb29e4699a976'
            '6d06cba0775570ab031b9c5f747f7bf130c5cc9a4839323c8c915a3d92be88e9'
            '08b04f4da12b34d66cc8fefa0a6dcac239019b0de0090e08d61cb18cc36a6045'
            '392ee0af235f58b48bca068ea71a29aad912001e57d68184a03bf6c15bc2587e'
            'bfb7f022b44ca83309dec6dfcb1ff4a5e0b0a40078e3688a2c7ceaaaa19a9686')

prepare() {
  cd $pkgname-$pkgver
  # patch for iana services file # FS#20273
  patch -Np1 -i ../rpcbind-sunrpc.patch
  # use distro config file; FS#52058
  patch -Np1 -i ../systemd_service.diff
  # http://seclists.org/oss-sec/2017/q2/209
  patch -Np1 -i ../CVE-2017-8779.diff
}

build() {
  cd $pkgname-$pkgver
  ./configure --prefix=/usr --sbindir=/usr/bin \
    --with-rpcuser=rpc \
    --enable-warmstarts \
    --with-statedir=/var/lib/rpcbind \
    --enable-rmtcalls
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  # install rpcbind config file
  install -D -m644 "$srcdir"/rpcbind.conf "$pkgdir"/etc/conf.d/rpcbind
  # install missing man page - https://bugs.archlinux.org/task/21271
  install -m644 man/rpcinfo.8 "$pkgdir"/usr/share/man/man8/
  # systemd sysusers/tempfile
  install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/rpcbind.conf
  install -Dm644 ../sysusers.d "${pkgdir}"/usr/lib/sysusers.d/rpcbind.conf
  # install license
  install -D -m644 COPYING "$pkgdir"/usr/share/licenses/rpcbind/COPYING
}
