summaryrefslogtreecommitdiffstats
path: root/abs/core/nfs-utils
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2013-02-19 21:10:18 (GMT)
committerJames Meyer <james.meyer@operamail.com>2013-02-19 21:10:18 (GMT)
commit2648e999d277eac5c3d331a3609bcc73fafbea71 (patch)
tree40951fb8e7fdbe28a0baa324ae615055203f1e2e /abs/core/nfs-utils
parentc759b5e0c4aa6fc37412b4dee2cf9ad993fd376d (diff)
parent7e6f7ca174e1af67178dc5293a312a4a733eb095 (diff)
downloadlinhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.zip
linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.gz
linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.bz2
Merge branch 'testing'
# By James Meyer (1091) and others # Via James Meyer (5) and others * testing: (1148 commits) LinHES-config: during install don't kill off lirc. This keeps the remote active all the way to the finish Change version numbers to 8.0 to match the release number. LinHES-conifg LinHES-system mythdb-initial runit-scripts supplemental-web LinHES-conifig: mv_install.py for the last partition don't go all the way to the end. Gotta leave room for gpt tables. xf86-video-ati: xorg ati driver. LinHES-config: timezip.py add syncing up of parental lvl passwords and starting level with MBE. LinHES-system: correct the logic for breaking out of the wmctrl loop. As written it would break out of the inner loop..but not the 60 iteration loop. e16_theme_settings: remove slide-in prop for new windows. For whatever reason this was preventing mplayer from being positioned correctly for appletrailers. LinHES-config, mythinstall: change case of hd_pvr and serial to all lower refs #902 zilog-firmware: firmware for TX support of the hdpvr and pvr-150 In general I can't recommend anybody using these transmitters but including the firmware just in case someone really wants to linhes-udev-rules: added hdprv_lirc rule. All of these lirc rules are limited to exactly one device. If more then one device is present then only the last device in init will get the symlink runit-scripts: fix logging for igdeamon, add support to remote init script so that the blaster is always the first device in the chain. added support specificly for hd_pvr LinHES-system: add lh_system_restore and lh_system_backup. These scripts are called from the mythmenu. refs #900 iguanair: rebuild with python 2.7 LinHES-system: msg_daemon.py fix init and nasty bug related to timeout. In a nutshell timeout wouldn't work unless a msg without a timeout was called first. linhes-udev-rules: add rules for mce,streamzap,serial lirc devices. mythinstall: recompile for matching libs mythtv: latest .25-fixes and change mythbackup/restore call lh_system_$op to replace mythbackup/mythrestore. mythbackup no longer works correctly with the new windowmanager linhes-scripts: myth2mp3, myth2x264, myth2xvid: use mythutil to get cutlist LinHES-config, supplimental-web: Fix proxy numbering for Ceton infiniTV linhes-system: add additional stuff to the system backup and also introduced an exclude file. The exclude/include files are locate in /home/mythtv/backup_config/ ...
Diffstat (limited to 'abs/core/nfs-utils')
-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