summaryrefslogtreecommitdiffstats
path: root/abs/core
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core')
-rw-r--r--abs/core/nfs-utils/PKGBUILD98
-rw-r--r--abs/core/nfs-utils/blkmapd.service11
-rw-r--r--abs/core/nfs-utils/nfs40
-rw-r--r--abs/core/nfs-utils/nfs-common10
-rw-r--r--abs/core/nfs-utils/nfs-server6
-rw-r--r--abs/core/nfs-utils/nfs-server.conf2
-rw-r--r--abs/core/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch138
-rw-r--r--abs/core/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch69
-rw-r--r--abs/core/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch57
-rw-r--r--abs/core/nfs-utils/nfs-utils.conf1
-rw-r--r--abs/core/nfs-utils/nfsd.service16
-rw-r--r--abs/core/nfs-utils/proc-fs-nfsd.mount8
-rw-r--r--abs/core/nfs-utils/rpc-gssd.service12
-rw-r--r--abs/core/nfs-utils/rpc-idmapd.service12
-rw-r--r--abs/core/nfs-utils/rpc-mountd.service12
-rw-r--r--abs/core/nfs-utils/rpc-statd.service12
-rw-r--r--abs/core/nfs-utils/rpc-svcgssd.service12
-rw-r--r--abs/core/nfs-utils/start-statd.patch4
-rw-r--r--abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount7
19 files changed, 209 insertions, 318 deletions
diff --git a/abs/core/nfs-utils/PKGBUILD b/abs/core/nfs-utils/PKGBUILD
index edc688b..a6ac7ff 100644
--- a/abs/core/nfs-utils/PKGBUILD
+++ b/abs/core/nfs-utils/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 97759 2010-11-01 20:06:42Z tpowa $
+# $Id: PKGBUILD 160027 2012-05-28 10:26:22Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
@@ -6,14 +6,14 @@
# Contributor: Marco Lima <cipparello gmail com>
pkgname=nfs-utils
-pkgver=1.2.2
-pkgrel=6
+pkgver=1.2.6
+pkgrel=1
pkgdesc="Support programs for Network File Systems"
arch=('i686' 'x86_64')
url='http://nfs.sourceforge.net'
license=('GPL')
-backup=(etc/{exports,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
-depends=('glibc' 'tcp_wrappers' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=1.3e' 'libgssglue')
+backup=(etc/{exports,idmapd.conf,nfsmount.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
+depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue' 'device-mapper')
makedepends=('pkgconfig' 'autoconf' 'automake')
source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
nfs-common
@@ -23,42 +23,65 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn
exports
idmapd.conf
start-statd.patch
- nfs-utils-1.1.2-kerberos-ac.patch
- nfs-utils-1.1.6-no_libgssapi.patch
- nfs-utils-1.1.6-heimdal_functions.patch
+ nfs
nfs-utils-1.1.4-mtab-sym.patch
- nfs-utils-1.1.4-no-exec.patch)
+ nfs-utils-1.1.4-no-exec.patch
+ rpc-gssd.service
+ rpc-mountd.service
+ rpc-svcgssd.service
+ rpc-idmapd.service
+ rpc-statd.service
+ nfsd.service
+ var-lib-nfs-rpc_pipefs.mount
+ proc-fs-nfsd.mount
+ blkmapd.service
+ nfs-utils.conf)
install=nfs-utils.install
+md5sums=('8be543ca270c2234ff18f8c8d35e0d37'
+ 'dd0d65fc6e8f422fa12520813098264b'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ 'e619f18354ff958ed624d05d08853d8f'
+ '9cef69bc686cc5dcac23fbb51450747d'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'e9144277a89a620d9bc80413158a7d27'
+ 'f5e7bba09a46c5c5d7007cac6eff9df5'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2'
+ '38855936dc55a5afe37d84edc0f11066'
+ '965311784d49a7d126d512cadbe91deb'
+ 'e05705d9ccccaeaeb1ecaee20adc05bc'
+ 'd7df7bc311fd95c5b80017dd1741570d'
+ '2e72ee082cba5d3ec6f51d2a105664da'
+ '5d33d2e754fd37280365b287603bac90'
+ '1cd65909fa0983047f3f06a3ab352401'
+ '02a34835aa077146a90eb7d191e612d0'
+ '8ffc2ebe932d29efe17d6f3f23d5b975'
+ '8ac484023d786766d287ccbe878ae4ba')
build() {
cd $srcdir/${pkgname}-${pkgver}
- # Patches from gentoo for heimdal compatibility Bug 231396
- # http://bugs.gentoo.org/show_bug.cgi?id=231396
- patch -Np1 -i ../nfs-utils-1.1.2-kerberos-ac.patch
- patch -Np1 -i ../nfs-utils-1.1.6-no_libgssapi.patch
- patch -Np0 -i ../nfs-utils-1.1.6-heimdal_functions.patch
patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
- patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
-
+ #patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
# arch specific patch
patch -Np0 -i $srcdir/start-statd.patch
- rm -f config.guess config.sub ltmain.sh
- autoreconf -i
-
- export GSSGLUE_CFLAGS='-I/usr/include/gssapi'
- export GSSGLUE_LIBS='-lgssapi -ldl'
+ ./configure --prefix=/usr --enable-nfsv4 --enable-nfsv41 --enable-gss \
+ --without-tcp-wrappers --with-statedir=/var/lib/nfs \
+ --enable-ipv6 --sysconfdir=/etc --enable-libmount-mount \
+ --enable-mountconfig
- ./configure --prefix=/usr --enable-nfsv3 --enable-nfsv4 --enable-gss \
- --with-tcp-wrappers --with-statedir=/var/lib/nfs --enable-ipv6 --sysconfdir=/etc
-
- unset LDFLAGS
- make || return 1
+ make
}
package() {
cd $srcdir/${pkgname}-${pkgver}
- make DESTDIR=$pkgdir install || return 1
+ # fix make install
+ mkdir -p $pkgdir/sbin
+ make DESTDIR=$pkgdir install
+
+ # support python2 (FS#25120)
+ sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats}
# NFS & NFSv4 init scripts
install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
@@ -68,20 +91,15 @@ package() {
install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
+ install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs
+ install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf
+ # systemd files
+ for i in ${srcdir}/*.{service,mount}; do
+ install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}"
+ done
+ install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf
# directories
+ mkdir "$pkgdir/"etc/exports.d
mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
mkdir "$pkgdir/"var/lib/nfs/v4recovery
}
-md5sums=('dad92f64db3266c7757f71bb53ee8f35'
- '1beda3420086f1801a7228c06d80fb4e'
- 'f73f197a16b02c3e248488ec35c4cf43'
- '5ae080f6117cef3140f02bc162bdc755'
- 'b9b334414baec31b97f0431d9ecdcfb9'
- 'ff585faf410a62c4333a027c50b56bae'
- 'eb4f4027fab6fc1201f1ca04f5954c76'
- 'e24f81a8c8657672e262c61235d34b4a'
- 'f3be115d392d9f9bb0f056e8d4341a14'
- '20c6fae1c771b9d8e91c4973f16372e3'
- 'e6fd3a8acfe97970a53db1b902c34f45'
- '7674106eaaa4c149bccd4f05fe3604e9'
- '4f4827dfc93008dfadd0a530ad0872b2')
diff --git a/abs/core/nfs-utils/blkmapd.service b/abs/core/nfs-utils/blkmapd.service
new file mode 100644
index 0000000..16cb68b
--- /dev/null
+++ b/abs/core/nfs-utils/blkmapd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=pNFS block layout mapping daemon
+After=var-lib-nfs-rpc_pipefs.mount nfsd.service
+Requires=var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/blkmapd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/nfs b/abs/core/nfs-utils/nfs
new file mode 100644
index 0000000..2d33cf3
--- /dev/null
+++ b/abs/core/nfs-utils/nfs
@@ -0,0 +1,40 @@
+#
+# Optinal options passed to rquotad
+RPCRQUOTADOPTS=""
+#
+# Optional arguments passed to in-kernel lockd
+#LOCKDARG=
+# TCP port rpc.lockd should listen on.
+#LOCKD_TCPPORT=32803
+# UDP port rpc.lockd should listen on.
+#LOCKD_UDPPORT=32769
+#
+# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
+RPCNFSDARGS=""
+# Number of nfs server processes to be started.
+# The default is 8.
+RPCNFSDCOUNT=8
+# Set V4 grace period in seconds
+#NFSD_V4_GRACE=90
+#
+# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
+RPCMOUNTDOPTS=""
+#
+# Optional arguments passed to rpc.statd. See rpc.statd(8)
+STATDARG=""
+#
+# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
+RPCIDMAPDARGS=""
+#
+# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
+RPCGSSDARGS=""
+#
+# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
+RPCSVCGSSDARGS=""
+#
+# To enable RDMA support on the server by setting this to
+# the port the server should listen on
+#RDMA_PORT=20049
+#
+# Optional arguments passed to blkmapd. See blkmapd(8)
+BLKMAPDARGS=""
diff --git a/abs/core/nfs-utils/nfs-common b/abs/core/nfs-utils/nfs-common
index 9902ec4..7b16b4b 100644
--- a/abs/core/nfs-utils/nfs-common
+++ b/abs/core/nfs-utils/nfs-common
@@ -2,9 +2,6 @@
daemon_name=nfs-common
-# daemon dependencies
-DAEMON_DEPENDS=('rpcbind')
-
NEED_STATD=
STATD_OPTS=
NEED_IDMAPD=
@@ -124,8 +121,7 @@ get_pid() {
case "$1" in
start)
- ck_depends ${DAEMON_DEPENDS[@]}
-
+ ck_daemon rpcbind && { echo -n "Start rpcbind first." >&2; stat_die; }
rc=0
if [ "$NEED_STATD" = yes ]; then
stat_busy "Starting $STATD_DAEMON_NAME daemon"
@@ -161,6 +157,8 @@ case "$1" in
if [ $rc -gt 0 ]; then
stat_fail
exit $rc
+ else
+ stat_done
fi
if [ "$NEED_IDMAPD" = yes ]; then
@@ -314,4 +312,4 @@ case "$1" in
echo "usage: $0 {start|stop|status|restart}"
esac
exit 0
- \ No newline at end of file
+
diff --git a/abs/core/nfs-utils/nfs-server b/abs/core/nfs-utils/nfs-server
index 9574cbc..6aa609d 100644
--- a/abs/core/nfs-utils/nfs-server
+++ b/abs/core/nfs-utils/nfs-server
@@ -2,9 +2,6 @@
daemon_name=nfs-server
-# daemon dependencies
-DAEMON_DEPENDS=('nfs-common')
-
NFSD_COUNT=
NFSD_OPTS=
NEED_SVCGSSD=
@@ -85,8 +82,7 @@ get_pid() {
case "$1" in
start)
- ck_depends ${DAEMON_DEPENDS[@]}
-
+ ck_daemon nfs-common && { echo -n "Start nfs-common first." >&2; stat_die; }
rc=0
stat_busy "Mounting nfsd filesystem"
do_modprobe nfsd
diff --git a/abs/core/nfs-utils/nfs-server.conf b/abs/core/nfs-utils/nfs-server.conf
index cf75fb6..581e263 100644
--- a/abs/core/nfs-utils/nfs-server.conf
+++ b/abs/core/nfs-utils/nfs-server.conf
@@ -18,7 +18,7 @@ PROCNFSD_MOUNTOPTS=""
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option.
# See rpc.mountd(8) for more details.
-MOUNTD_OPTS="--no-nfs-version 1 --no-nfs-version 2"
+MOUNTD_OPTS=""
# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
diff --git a/abs/core/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch b/abs/core/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
deleted file mode 100644
index 4a5a138..0000000
--- a/abs/core/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
---- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
-+++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
-@@ -1,112 +1,48 @@
--dnl Checks for Kerberos
--dnl NOTE: while we intend to do generic gss-api, currently we
--dnl have a requirement to get an initial Kerberos machine
--dnl credential. Thus, the requirement for Kerberos.
--dnl The Kerberos gssapi library will be dynamically loaded?
- AC_DEFUN([AC_KERBEROS_V5],[
-+ K5CONFIG="krb5-config"
- AC_MSG_CHECKING(for Kerberos v5)
-- AC_ARG_WITH(krb5,
-- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
-+ AC_ARG_WITH(krb5-config,
-+ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
- [ case "$withval" in
- yes|no)
-- krb5_with=""
-+ K5CONFIG="krb5-config"
- ;;
- *)
-- krb5_with="$withval"
-+ K5CONFIG="$withval"
- ;;
- esac ]
- )
-
-- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
-- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
-- dnl This ugly hack brought on by the split installation of
-- dnl MIT Kerberos on Fedora Core 1
-- K5CONFIG=""
-- if test -f $dir/bin/krb5-config; then
-- K5CONFIG=$dir/bin/krb5-config
-- elif test -f "/usr/kerberos/bin/krb5-config"; then
-- K5CONFIG="/usr/kerberos/bin/krb5-config"
-- elif test -f "/usr/lib/mit/bin/krb5-config"; then
-- K5CONFIG="/usr/lib/mit/bin/krb5-config"
-- fi
- if test "$K5CONFIG" != ""; then
- KRBCFLAGS=`$K5CONFIG --cflags`
- KRBLIBS=`$K5CONFIG --libs gssapi`
-- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
-- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
-- if test -f $dir/include/gssapi/gssapi_krb5.h -a \
-- \( -f $dir/lib/libgssapi_krb5.a -o \
-- -f $dir/lib64/libgssapi_krb5.a -o \
-- -f $dir/lib64/libgssapi_krb5.so -o \
-- -f $dir/lib/libgssapi_krb5.so \) ; then
-+ if $K5CONFIG --version | grep -q -e heimdal; then
-+ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
-+ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
-+ gssapi_lib=gssapi
-+ KRBIMPL="heimdal"
-+ elif $K5CONFIG --version | grep -q -e mit; then
-+ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
- AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
-- KRBDIR="$dir"
-- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
-- dnl private function (gss_krb5_ccache_name) to get correct
-- dnl behavior of changing the ccache used by gssapi.
-- dnl Starting in 1.3.2, we *DO NOT* want to use
-- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
-- dnl to get gssapi to use a different ccache
- if test $K5VERS -le 131; then
- AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
- fi
- gssapi_lib=gssapi_krb5
-- break
-- dnl The following ugly hack brought on by the split installation
-- dnl of Heimdal Kerberos on SuSe
-- elif test \( -f $dir/include/heim_err.h -o\
-- -f $dir/include/heimdal/heim_err.h \) -a \
-- -f $dir/lib/libroken.a; then
-- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
-- KRBDIR="$dir"
-- gssapi_lib=gssapi
-- break
-- fi
-- fi
-- done
-- dnl We didn't find a usable Kerberos environment
-- if test "x$KRBDIR" = "x"; then
-- if test "x$krb5_with" = "x"; then
-- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
-+ KRBIMPL="mit-krb5"
- else
-- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
-- fi
-+ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
-+ KRBIMPL="unknown"
- fi
-- AC_MSG_RESULT($KRBDIR)
--
-- dnl Check if -rpath=$(KRBDIR)/lib is needed
-- echo "The current KRBDIR is $KRBDIR"
-- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
-- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
-- KRBLDFLAGS="";
-- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
-- KRBLDFLAGS="";
-- else
-- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
-+ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
- fi
-+ AC_MSG_RESULT($KRBIMPL)
-
-- dnl Now check for functions within gssapi library
-- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
-- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
-- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
-- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
-- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
-- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
--
-- dnl Check for newer error message facility
-- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
-- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
-+ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
-+ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
-+ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
-+ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
-+ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
-
-- dnl Check for function to specify addressless tickets
-- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
-- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
--
-- dnl If they specified a directory and it didn't work, give them a warning
-- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
-- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
-- fi
--
-- AC_SUBST([KRBDIR])
- AC_SUBST([KRBLIBS])
- AC_SUBST([KRBCFLAGS])
- AC_SUBST([KRBLDFLAGS])
diff --git a/abs/core/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch b/abs/core/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
deleted file mode 100644
index 7f6c7a7..0000000
--- a/abs/core/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-diff -Naur nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c nfs-utils-1.1.6/utils/gssd/krb5_util.c
---- utils/gssd/krb5_util.c 2009-04-20 19:32:50.000000000 +0200
-+++ utils/gssd/krb5_util.c 2009-04-20 20:57:31.000000000 +0200
-@@ -940,9 +940,37 @@
- {
- krb5_error_code ret;
- krb5_creds creds;
-- krb5_cc_cursor cur;
- int found = 0;
-
-+#ifdef HAVE_HEIMDAL
-+ krb5_creds pattern;
-+ krb5_realm *client_realm;
-+
-+ krb5_cc_clear_mcred(&pattern);
-+
-+ client_realm = krb5_princ_realm (context, principal);
-+
-+ ret = krb5_make_principal (context, &pattern.server,
-+ *client_realm, KRB5_TGS_NAME, *client_realm,
-+ NULL);
-+ if (ret)
-+ krb5_err (context, 1, ret, "krb5_make_principal");
-+ pattern.client = principal;
-+
-+ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
-+ krb5_free_principal (context, pattern.server);
-+ if (ret) {
-+ if (ret == KRB5_CC_END)
-+ return 1;
-+ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
-+ }
-+
-+ found = creds.times.endtime > time(NULL);
-+
-+ krb5_free_cred_contents (context, &creds);
-+#else
-+ krb5_cc_cursor cur;
-+
- ret = krb5_cc_start_seq_get(context, ccache, &cur);
- if (ret)
- return 0;
-@@ -962,6 +990,7 @@
- krb5_free_cred_contents(context, &creds);
- }
- krb5_cc_end_seq_get(context, ccache, &cur);
-+#endif
-
- return found;
- }
-@@ -1008,6 +1037,9 @@
- }
- krb5_free_principal(context, principal);
- err_princ:
-+#ifdef HAVE_HEIMDAL
-+#define KRB5_TC_OPENCLOSE 0x00000001
-+#endif
- krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
- krb5_cc_close(context, ccache);
- err_cache:
-@@ -1262,7 +1294,7 @@
- if (context != NULL) {
- origmsg = krb5_get_error_message(context, code);
- msg = strdup(origmsg);
-- krb5_free_error_message(context, origmsg);
-+ krb5_free_error_string(context, origmsg);
- }
- #endif
- if (msg != NULL)
diff --git a/abs/core/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch b/abs/core/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
deleted file mode 100644
index 917136a..0000000
--- a/abs/core/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Index: nfs-utils-1.1.6/utils/gssd/context_lucid.c
-===================================================================
---- nfs-utils-1.1.6.orig/utils/gssd/context_lucid.c
-+++ nfs-utils-1.1.6/utils/gssd/context_lucid.c
-@@ -51,8 +51,10 @@
- #include "context.h"
-
- #ifndef OM_uint64
-+#ifndef GSSAPI_GSSAPI_H_
- typedef uint64_t OM_uint64;
- #endif
-+#endif
-
- static int
- write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key)
-@@ -177,10 +179,10 @@
- int retcode = 0;
-
- printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
-- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
-+ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
- 1, &return_ctx);
- if (maj_stat != GSS_S_COMPLETE) {
-- pgsserr("gss_export_lucid_sec_context",
-+ pgsserr("gss_krb5_export_lucid_sec_context",
- maj_stat, min_stat, &krb5oid);
- goto out_err;
- }
-@@ -204,9 +206,9 @@
- else
- retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf, endtime);
-
-- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
-+ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
- if (maj_stat != GSS_S_COMPLETE) {
-- pgsserr("gss_export_lucid_sec_context",
-+ pgsserr("gss_krb5_export_lucid_sec_context",
- maj_stat, min_stat, &krb5oid);
- printerr(0, "WARN: failed to free lucid sec context\n");
- }
-Index: nfs-utils-1.1.6/utils/gssd/krb5_util.c
-===================================================================
---- nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c
-+++ nfs-utils-1.1.6/utils/gssd/krb5_util.c
-@@ -332,10 +332,10 @@
- return -1;
- }
-
-- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
-+ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
- num_enctypes, &enctypes);
- if (maj_stat != GSS_S_COMPLETE) {
-- pgsserr("gss_set_allowable_enctypes",
-+ pgsserr("gss_krb5_set_allowable_enctypes",
- maj_stat, min_stat, &krb5oid);
- gss_release_cred(&min_stat, &credh);
- return -1;
diff --git a/abs/core/nfs-utils/nfs-utils.conf b/abs/core/nfs-utils/nfs-utils.conf
new file mode 100644
index 0000000..33c97b8
--- /dev/null
+++ b/abs/core/nfs-utils/nfs-utils.conf
@@ -0,0 +1 @@
+nfs
diff --git a/abs/core/nfs-utils/nfsd.service b/abs/core/nfs-utils/nfsd.service
new file mode 100644
index 0000000..e5481c3
--- /dev/null
+++ b/abs/core/nfs-utils/nfsd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=NFS server
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=oneshot
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
+ExecStartPost=/usr/sbin/exportfs -a
+ExecStop=/usr/sbin/rpc.nfsd 0
+ExecStopPost=/usr/sbin/exportfs -a -u
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/proc-fs-nfsd.mount b/abs/core/nfs-utils/proc-fs-nfsd.mount
new file mode 100644
index 0000000..f8664a8
--- /dev/null
+++ b/abs/core/nfs-utils/proc-fs-nfsd.mount
@@ -0,0 +1,8 @@
+[Unit]
+Description=RPC Pipe File System
+DefaultDependencies=no
+
+[Mount]
+What=sunrpc
+Where=/proc/fs/nfsd
+Type=rpc_pipefs
diff --git a/abs/core/nfs-utils/rpc-gssd.service b/abs/core/nfs-utils/rpc-gssd.service
new file mode 100644
index 0000000..446864d
--- /dev/null
+++ b/abs/core/nfs-utils/rpc-gssd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RPC GSS-API client-side daemon
+After=rpcbind.service var-lib-nfs-rpc_pipefs.mount
+Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.gssd $GSSD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-idmapd.service b/abs/core/nfs-utils/rpc-idmapd.service
new file mode 100644
index 0000000..72cd26a
--- /dev/null
+++ b/abs/core/nfs-utils/rpc-idmapd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFSv4 ID-name mapping daemon
+After=var-lib-nfs-rpc_pipefs.mount nfsd.service
+Requires=var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.idmapd $IDMAPD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-mountd.service b/abs/core/nfs-utils/rpc-mountd.service
new file mode 100644
index 0000000..edd8c85
--- /dev/null
+++ b/abs/core/nfs-utils/rpc-mountd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFS Mount Daemon
+After=rpcbind.service nfsd.service
+Requires=rpcbind.service nfsd.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.mountd $MOUNTD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-statd.service b/abs/core/nfs-utils/rpc-statd.service
new file mode 100644
index 0000000..983b404
--- /dev/null
+++ b/abs/core/nfs-utils/rpc-statd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFSv2/3 Network Status Monitor Daemon
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.statd $STATD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-svcgssd.service b/abs/core/nfs-utils/rpc-svcgssd.service
new file mode 100644
index 0000000..8152e83
--- /dev/null
+++ b/abs/core/nfs-utils/rpc-svcgssd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RPC GSS-API server-side daemon
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.svcgssd $SVCGSSD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/start-statd.patch b/abs/core/nfs-utils/start-statd.patch
index 38c60a7..5d73b6e 100644
--- a/abs/core/nfs-utils/start-statd.patch
+++ b/abs/core/nfs-utils/start-statd.patch
@@ -1,7 +1,7 @@
--- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100
+++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100
@@ -1,9 +1,16 @@
--#!/bin/sh -p
+-#!/bin/bash -p
+#!/bin/sh
+
+# Original script provided by the NFS project
@@ -10,7 +10,7 @@
# nfsmount calls this script when mounting a filesystem with locking
# enabled, but when statd does not seem to be running (based on
# /var/run/rpc.statd.pid).
- # It should run run statd with whatever flags are apropriate for this
+ # It should run statd with whatever flags are apropriate for this
# site.
-PATH=/sbin:/usr/sbin
-exec rpc.statd --no-notify
diff --git a/abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount
new file mode 100644
index 0000000..4bd440f
--- /dev/null
+++ b/abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount
@@ -0,0 +1,7 @@
+[Unit]
+Description=RPC pipe filesystem
+
+[Mount]
+What=rpc_pipefs
+Where=/var/lib/nfs/rpc_pipefs
+Type=rpc_pipefs