#!/usr/bin/bash
# JOBoRun		: Jwm OpenBox Obarun RUNit
# Maintainer		: Joe Bo Run <joborun@disroot.org>
# PkgSource		: url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
#-----------------------------------------| DESCRIPTION |---------------------------------------

pkgbase=nfs-utils
pkgdesc="Support programs for Network File Systems - w/o ipv6 gssproxy & systemd "
pkgname=('nfs-utils' 'nfsidmap')
pkgver=2.6.2
pkgrel=01
arch=('x86_64')
url='http://nfs.sourceforge.net'
makedepends=('libevent' 'sqlite' 'rpcsvc-proto' 'device-mapper')
# http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=summary
#options=('debug')  ###  uncomment this to have the debug pkg produced
source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.{xz,sign}
        exports
        sysusers.d)
# https://www.kernel.org/pub/linux/utils/nfs-utils/2.5.4/sha256sums.asc

##
## Note from Joborun: gssproxy since 0.9.0 has become next to impossible to build without systemd-aemon
## So since this is the only pkg dependent on it we opted in rebuilding nfs-utils without gssproxy
##

prepare() {
  cd "${pkgbase}"-${pkgver}
 
  # fix hardcoded sbin/libexec path to our needs
  sed -i "s|sbindir = /sbin|sbindir = /usr/bin|g" utils/*/Makefile.am
  sed -i "s|sbin|bin|" utils/nfsidmap/id_resolver.conf
  sed -i "s|libexec|bin|" tools/nfsrahead/99-nfs.rules
  autoreconf -vfi
}

build() {
  cd "${pkgbase}"-${pkgver}
  ./configure --prefix=/usr \
    --sbindir=/usr/bin \
    --sysconfdir=/etc \
    --libexecdir=/usr/bin \
    --with-statedir=/var/lib/nfs \
    --with-statdpath=/var/lib/nfs/statd \
    --with-start-statd=/usr/bin/start-statd \
    --enable-nfsv4server \
    --disable-gss \
    --without-tcp-wrappers \
    --disable-ipv6 \
    --enable-libmount-mount \
    --enable-mountconfig \
    --without-systemd
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

check() {
  cd "${pkgbase}"-${pkgver}
#  make -k check || /bin/true
  make check
}

package_nfs-utils() {

  pkgdesc="Support programs for Network File Systems - w/o ipv6 & systemd"
  license=('GPL2')

  backup=(etc/{exports,nfs.conf,nfsmount.conf}
          var/lib/nfs/{etab,rmtab})
  depends=('rpcbind' 'nfsidmap' 'libevent' 'device-mapper')
  optdepends=('sqlite: for nfsdcltrack usage'
              'python: for rpcctl, nfsiostat, nfsdclnts and mountstats usage')

  cd "${pkgbase}"-${pkgver}
  make DESTDIR="$pkgdir" install
 
  install -D -m 644 utils/mount/nfsmount.conf "$pkgdir"/etc/nfsmount.conf
  install -D -m 644 nfs.conf "$pkgdir"/etc/nfs.conf
  
  install -d -m 755 "$pkgdir"/usr/share/doc/$pkgname
  
  # docs
  install -m 644 {NEWS,README} "$pkgdir"/usr/share/doc/$pkgname/

  # empty exports file  
  install -D -m 644 ../exports "$pkgdir"/etc/exports

  # config file for idmappers in newer kernels
  install -D -m 644 utils/nfsidmap/id_resolver.conf "$pkgdir"/etc/request-key.d/id_resolver.conf

  mkdir "$pkgdir"/etc/exports.d
  mkdir -m 555 "$pkgdir"/var/lib/nfs/rpc_pipefs
  mkdir "$pkgdir"/var/lib/nfs/v4recovery

  # systemd sysusers - FS#75536
  install -D -m 644 ../sysusers.d "${pkgdir}"/usr/lib/sysusers.d/rpcuser.conf
  chown -Rv 34:34 "${pkgdir}"/var/lib/nfs/statd
  chmod -R 700 "${pkgdir}"/var/lib/nfs/statd
  chmod 644 "${pkgdir}"/var/lib/nfs/statd/state

  # nfsidmap cleanup
  rm -vrf "$pkgdir"/usr/include #/nfsid*
  rm -vrf "$pkgdir"/usr/lib/libnfsidmap*
  rm -vrf "$pkgdir"/usr/lib/pkgconfig #/libnfsidmap.pc
  rm -v "$pkgdir"/usr/share/man/{man3/nfs4_uid_to_name*,man5/idmapd.conf*}
  rm -vrf "$pkgdir"/usr/share/man/man3
}

package_nfsidmap() {

  pkgdesc="Library to help mapping IDs, mainly for NFSv4 - w/o ipv6 & systemd"
  license=('GPL2')
  backup=(etc/idmapd.conf)
  depends=('libldap' 'krb5')

  cd "${pkgbase}"-${pkgver}
  make -C support  DESTDIR="$pkgdir" install
  # config file  
  install -D -m 644 support/nfsidmap/idmapd.conf "$pkgdir"/etc/idmapd.conf
  # license
  install -Dm644 support/nfsidmap/COPYING $pkgdir/usr/share/licenses/nfsidmap/LICENSE
}

#---- license gpg-key sha256sums ----

license=('GPL2')

validpgpkeys=('E1B71E339E20A10A676F7CB69AFB1D681A125177') # Steve Dickson <steved@redhat.com>

sha256sums=(5200873e81c4d610e2462fc262fe18135f2dbe78b7979f95accd159ae64d5011 # nfs-utils-2.6.2.tar.xz
	65da9d48c41e5b004289fb7941060936f1366e8c34805ce4edaf570e255d9f19 # nfs-utils-2.6.2.tar.sign
	b8238b74179f7e1626db2b637671ddc17288a1c5b7692954ae6d2fbb1be3788d # exports
	8e1b6aa59cf5539b9da13cfec217b3ca7b6c32e08df3b0a204901ed2891b2ded) # sysusers.d

