pkgname=rpcbind pkgver=0.2.4 pkgrel=1 pkgdesc="portmap replacement which supports RPC over various protocols" arch=('x86_64') backup=('etc/conf.d/rpcbind') depends=('bash' 'glibc' 'libtirpc' 'systemd') url="http://rpcbind.sourceforge.net" license=('custom') replaces=('portmap') # see also http://git.infradead.org/users/steved/rpcbind.git source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 rpcbind-sunrpc.patch rpcbind.conf CVE-2017-8779.diff) install=rpcbind.install sha1sums=('8a6045dd3397e9f71bf3a7c9d269e255cca537bd' '1b997ce76f9727efc8c72fc5f97189591c9a60e2' '08246ff18d12cee01e5c9391c6ba8f5597cac936' '38044ce8f3376a0b69da8e078e988fd1645bd435') prepare() { cd $pkgname-$pkgver # patch for iana services file # FS#20273 patch -Np1 -i ../rpcbind-sunrpc.patch # http://seclists.org/oss-sec/2017/q2/209 patch -Np1 -i ../CVE-2017-8779.diff } build() { cd $pkgname-$pkgver ./configure \ --prefix=/usr \ --with-rpcuser=rpc \ --enable-warmstarts \ --with-statedir=/var/lib/rpcbind make } package() { cd $pkgname-$pkgver make DESTDIR=$pkgdir install # install rpcbind config file install -D -m644 ../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/ # add symlinks # mkdir $pkgdir/usr/lib/systemd/system/sockets.target.wants # mkdir $pkgdir/usr/lib/systemd/system/multi-user.target.wants # ln -sf ../rpcbind.socket $pkgdir/usr/lib/systemd/system/sockets.target.wants/rpcbind.socket # ln -sf ../rpcbind.service $pkgdir/usr/lib/systemd/system/multi-user.target.wants/rpcbind.service # add state directory install -d -m 700 -o 32 -g 32 $pkgdir/var/lib/rpcbind # install license install -D -m644 COPYING $pkgdir/usr/share/licenses/rpcbind/COPYING # add EnvironmentFile to systemd service sed -i '14i EnvironmentFile=/etc/conf.d/rpcbind' $pkgdir/usr/lib/systemd/system/rpcbind.service }