From b2ad14ffbef9ee223c4ce41235aa0af77d61053c Mon Sep 17 00:00:00 2001
From: James Meyer <jams@linhes.org>
Date: Mon, 13 Dec 2010 01:11:37 +0000
Subject: rpcbind: apply patch so that it registers as sunrpc in /etc/services

---
 abs/core/rpcbind/PKGBUILD             | 14 +++++++++-----
 abs/core/rpcbind/rpcbind-sunrpc.patch | 22 ++++++++++++++++++++++
 2 files changed, 31 insertions(+), 5 deletions(-)
 create mode 100644 abs/core/rpcbind/rpcbind-sunrpc.patch

diff --git a/abs/core/rpcbind/PKGBUILD b/abs/core/rpcbind/PKGBUILD
index 11d8a91..81d6254 100644
--- a/abs/core/rpcbind/PKGBUILD
+++ b/abs/core/rpcbind/PKGBUILD
@@ -1,24 +1,28 @@
-# $Id: PKGBUILD 54912 2009-10-11 20:12:23Z giovanni $
+# $Id: PKGBUILD 86473 2010-08-02 07:44:00Z tpowa $
 # Maintainer: Tobias Powalowski <tpowa@archlinux.org>
 pkgname=rpcbind
 pkgver=0.2.0
-pkgrel=1
+pkgrel=2
 pkgdesc="portmap replacement which supports RPC over various protocols"
 arch=(i686 x86_64)
 depends=('bash' 'glibc' 'libtirpc')
 url="http://rpcbind.sourceforge.net"
 license=('custom')
 replaces=('portmap')
-source=(http://downloads.sourceforge.net/sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2 
+source=(http://downloads.sourceforge.net/sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2
+        rpcbind-sunrpc.patch
         rpcbind)
 md5sums=('1a77ddb1aaea8099ab19c351eeb26316'
+         'c02ac36a98baac70b8a26190524b7b73'
          '78a963654f57cbb209e228884767836e')
 
 build() {
   cd $srcdir/$pkgname-$pkgver
+  # patch for iana services file
+  patch -Np1 -i ../rpcbind-sunrpc.patch
   ./configure --prefix=/usr
-  make || return 1
-  make DESTDIR=$pkgdir install || return 1
+  make
+  make DESTDIR=$pkgdir install
   # install daemon 
   install -D -m755 $srcdir/rpcbind $pkgdir/etc/rc.d/rpcbind
   # install license
diff --git a/abs/core/rpcbind/rpcbind-sunrpc.patch b/abs/core/rpcbind/rpcbind-sunrpc.patch
new file mode 100644
index 0000000..76cf54b
--- /dev/null
+++ b/abs/core/rpcbind/rpcbind-sunrpc.patch
@@ -0,0 +1,22 @@
+--- rpcbind-0.1.7/src/rpcbind.c.orig	2008-11-19 14:17:34.000000000 +0100
++++ rpcbind-0.1.7/src/rpcbind.c	2010-01-07 13:03:37.416632894 +0100
+@@ -114,7 +114,7 @@
+ char *udp_uaddr;	/* Universal UDP address */
+ char *tcp_uaddr;	/* Universal TCP address */
+ #endif
+-static char servname[] = "rpcbind";
++static char servname[] = "sunrpc";
+ static char superuser[] = "superuser";
+ 
+ int main __P((int, char *[]));
+--- rpcbind-0.1.7/src/rpcinfo.c~	2010-01-08 16:14:24.592156602 +0000
++++ rpcbind-0.1.7/src/rpcinfo.c	2010-01-08 16:14:31.578838609 +0000
+@@ -633,7 +633,7 @@
+ 	{
+ 	  memset (&hints, 0, sizeof hints);
+ 	  hints.ai_family = AF_INET;
+-	  if ((error = getaddrinfo (host, "rpcbind", &hints, &res)) != 0 &&
++	  if ((error = getaddrinfo (host, "sunrpc", &hints, &res)) != 0 &&
+               (error = getaddrinfo (host, "portmapper", &hints, &res)) != 0)
+ 	    {
+ 	      fprintf (stderr, "rpcinfo: %s: %s\n",
-- 
cgit v0.12


From d0c10b1079f1ad57c9c072e725687bf47d303a38 Mon Sep 17 00:00:00 2001
From: James Meyer <jams@linhes.org>
Date: Mon, 13 Dec 2010 01:13:21 +0000
Subject: runit-scripts: update scripts to use nfs4

refs #735
closes #735
---
 abs/core/runit-scripts/PKGBUILD                    |  2 +-
 .../runitscripts/services/nfs-common/finish        | 51 ++++++++++++++
 .../runitscripts/services/nfs-common/run           | 81 ++++++++++++++++++++++
 .../runit-scripts/runitscripts/services/nfsd/run   | 63 ++++++++++++++---
 .../runitscripts/services/rpcbind/run              |  7 ++
 5 files changed, 192 insertions(+), 12 deletions(-)
 create mode 100755 abs/core/runit-scripts/runitscripts/services/nfs-common/finish
 create mode 100755 abs/core/runit-scripts/runitscripts/services/nfs-common/run
 create mode 100755 abs/core/runit-scripts/runitscripts/services/rpcbind/run

diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index 0c914f5..38adc5c 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=runit-scripts
 pkgver=2.1.1
-pkgrel=6
+pkgrel=7
 pkgdesc="collection of startup scripts for runit"
 url="http://smarden.org/runit/"
 license="BSD"
diff --git a/abs/core/runit-scripts/runitscripts/services/nfs-common/finish b/abs/core/runit-scripts/runitscripts/services/nfs-common/finish
new file mode 100755
index 0000000..531192d
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/nfs-common/finish
@@ -0,0 +1,51 @@
+#!/bin/bash
+exec 2>&1
+export TERM=linux
+daemon_name=nfs-common
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+                                    
+
+# rpc.statd daemon & binary location
+STATD_DAEMON_NAME=rpc.statd
+STATD="/usr/sbin/rpc.statd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.gssd daemon & binary location
+GSSD_DAEMON_NAME=rpc.gssd
+GSSD="/usr/sbin/rpc.gssd"
+
+do_umount() {
+    if mountpoint -q "$1" ; then
+      umount "$1"
+    fi
+    return 0
+}
+
+get_pid() {
+        pidof -o %PPID "$1"
+}
+        
+
+stat_runit "Stopping $GSSD_DAEMON_NAME daemon"
+PID=$(get_pid $GSSD)
+[ ! -z "$PID" ] && kill $PID &> /dev/null
+rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
+
+stat_runit "Stopping $IDMAPD_DAEMON_NAME daemon"
+PID=$(get_pid $IDMAPD)
+# KILL
+[ ! -z "$PID" ] && kill $PID &> /dev/null
+ rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
+do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
+
+stat_runit "Stopping $STATD_DAEMON_NAME daemon"
+PID=$(get_pid $STATD)
+# KILL
+[ ! -z "$PID" ] && kill $PID &> /dev/null
+rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
+
diff --git a/abs/core/runit-scripts/runitscripts/services/nfs-common/run b/abs/core/runit-scripts/runitscripts/services/nfs-common/run
new file mode 100755
index 0000000..bf6c2a1
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/nfs-common/run
@@ -0,0 +1,81 @@
+#!/bin/bash
+exec 2>&1
+export TERM=linux
+daemon_name=nfs-common
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+
+# rpc.statd daemon & binary location
+STATD_DAEMON_NAME=rpc.statd
+STATD="/usr/sbin/rpc.statd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.gssd daemon & binary location
+GSSD_DAEMON_NAME=rpc.gssd
+GSSD="/usr/sbin/rpc.gssd"
+
+
+# Default mountpoint and options for rpc_pipefs filesystem
+[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
+[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
+
+
+
+do_modprobe() {
+    if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+      modprobe -q "$1" || true
+    fi
+}
+
+do_mount() {
+    if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+      return 1
+    fi
+    
+    if grep -vw "$1" /proc/mounts &> /dev/null ; then
+      if ! mountpoint -q "$2" ; then
+	mount -t "$1" "$1" "$2" -o "$3"
+	return
+      fi
+    fi
+    return 0
+}
+
+do_umount() {
+    if mountpoint -q "$1" ; then
+      umount "$1"
+    fi
+    return 0
+}
+
+get_pid() {
+	pidof -o %PPID "$1"
+}
+
+
+
+
+
+
+stat_runit "Starting $daemon_name"
+svwaitup rpcbind  >/dev/null 2>/dev/null   
+/usr/sbin/sm-notify $SMNOTIFY_OPTS
+do_modprobe sunrpc
+do_modprobe nfs
+do_modprobe nfsd
+do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS" 
+
+
+stat_runit "Starting $IDMAPD_DAEMON_NAME"
+$IDMAPD
+
+stat_runit "Starting $GSSD_DAEMON_NAME"
+do_modprobe rpcsec_gss_krb5
+$GSSD
+
+$STATD -F
diff --git a/abs/core/runit-scripts/runitscripts/services/nfsd/run b/abs/core/runit-scripts/runitscripts/services/nfsd/run
index 207d7cd..f043143 100755
--- a/abs/core/runit-scripts/runitscripts/services/nfsd/run
+++ b/abs/core/runit-scripts/runitscripts/services/nfsd/run
@@ -7,23 +7,64 @@ stat_runit "Starting NFSD"
 
 # Make sure the statd daemon is up
 # (the statd service must ensure portmap is running first)
-svwaitup /var/service/nfslock >/dev/null 2>/dev/null
+svwaitup /var/service/nfs-common >/dev/null 2>/dev/null
+
+source /etc/conf.d/nfs-server.conf
+
+NFSD="/usr/sbin/rpc.nfsd"
+
+
+
+# Default number of nfsd servers
+[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
+
+# Default mountpoint and options for nfsd filesystem
+[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
+[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
+
+do_modprobe() {
+    if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+      modprobe -q "$1" || true
+    fi
+}
+
+
+
+do_mount() {
+    if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+      return 1
+    fi
+
+    if grep -vw "$1" /proc/mounts &> /dev/null ; then
+      if ! mountpoint -q "$2" ; then
+        mount -t "$1" "$1" "$2" -o "$3"
+        return
+      fi
+    fi
+    return 0
+}
+
+do_umount() {
+    if mountpoint -q "$1" ; then
+      umount "$1"
+    fi
+    return 0
+}
+
 
-source /etc/conf.d/nfs
 
-# Re-export all directories in /etc/exports
-/usr/sbin/exportfs -ra > /dev/null 2>/dev/null
 
 # start some nfsd threads
 printhl "	Using ${NFSD_OPTS} "
-/usr/sbin/rpc.nfsd ${NFSD_OPTS} >/dev/null 2>/dev/null  
+do_modprobe nfsd
+do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
+
+# Re-export all directories in /etc/exports
+/usr/sbin/exportfs -ra > /dev/null 2>/dev/null
 
-# since we are running kernel 2.6 we should also
-# mount the nfsd virtual filesystem
-printhl "	mount nfsd"
-/bin/mount -t nfsd none /proc/fs/nfsd >/dev/null 2>/dev/null
+ $NFSD $NFSD_OPTS $NFSD_COUNT
 
-# Start the rpc.mountd daemon
 
-exec /usr/sbin/rpc.mountd --foreground  >/dev/null 2>/dev/null   
+# 
+exec /usr/sbin/rpc.mountd --foreground  >/dev/null 2>/dev/null  
 
diff --git a/abs/core/runit-scripts/runitscripts/services/rpcbind/run b/abs/core/runit-scripts/runitscripts/services/rpcbind/run
new file mode 100755
index 0000000..86a961b
--- /dev/null
+++ b/abs/core/runit-scripts/runitscripts/services/rpcbind/run
@@ -0,0 +1,7 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/rc.conf
+. /etc/rc.d/functions
+stat_runit "Starting rpc.bind"
+exec /usr/bin/rpcbind -d
-- 
cgit v0.12


From a3823515f7d144339c81b2454033ed7a0696e55c Mon Sep 17 00:00:00 2001
From: James Meyer <jams@linhes.org>
Date: Mon, 13 Dec 2010 01:15:23 +0000
Subject: linhes-config: update hostype to nfs4 pkg's

---
 abs/core/LinHES-config/PKGBUILD      | 37 +++++++++++++++++++++++++++++++++++-
 abs/core/LinHES-config/mv_hostype.py | 16 ++++++++--------
 2 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 11e2b17..9d6f05c 100644
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=LinHES-config
 pkgver=2.2
-pkgrel=13
+pkgrel=14
 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
 pkgdesc="Install and configure your system"
 depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
@@ -206,3 +206,38 @@ md5sums=('0f2d8f75fa96f9a1acbdca582560e889'
          '2f3de6bf907a04dcdcfe4f1418721b60'
          '2596460462cf6c889cf8f95485537b20'
          'a63ff9ef5250965aeabc74bfa8e43981')
+md5sums=('0f2d8f75fa96f9a1acbdca582560e889'
+         '1a4694fcd694b362c339bda781ed0f3e'
+         'e36da536dd651ef182e7642337889e77'
+         '985891a43f7c4c983eb2a362162f1a0f'
+         'd7a8cd4a0060399ae22e69f74e04eb07'
+         '7a45287a07145fde5aa664583d4f6fba'
+         'f88d2fb88339a4bf8ec9217a3fbcdef7'
+         '8ac1cfd2eca0f641737da0d0aca416a7'
+         '9ae8d79f620c6d19973c55c32a921874'
+         '4620f6f498ef4523398635cb0bd59425'
+         'bf32873c56d04c45ff0682f4e345e517'
+         'e459ed069317bccb20351f037a9df3d2'
+         '22c5e24bf87ad94ee2244d9016a0eea2'
+         '6aff504ed5e860adc1b7317cd0780900'
+         '55fccb1da0417a896b724f7cfc32dd5a'
+         'ab2aa42c2947148c2b1cac0ade6d1d55'
+         'd429b59d3cfb37b0624c6a4a71a7c2c0'
+         'a225143e3df6f56d451c2875e54ddbae'
+         '9151c74fcaf18ec4cf5e757cfdbc7017'
+         '3d1e4a119f38cff0498bf8a67e94e4b3'
+         '5b41cfc6f4ad5cdbcd28cf980110f135'
+         'ee7c8e1f025ce1527ecfffabafb26806'
+         '41b03fb1e0a9d9ae7588e3b813212772'
+         'a9ffe72c3ede99d505fdc97572a7c256'
+         'df43bce1712320508d4eef8449c5d223'
+         '65d93f15ac85adf8299552581789a731'
+         '4badc3c664c55f87396a473e6c14d4bc'
+         '36f5953944f98c50c0212a584996028e'
+         'fe5e31b833cc6707209e9d656b6eb53c'
+         'f0988a801216b44c96bf17e24a23e3a9'
+         '23d0e12b7ca1cc6ea6b993c1d7ff20b9'
+         '40d1ffb2ae8b14f242063e4121950d80'
+         '2f3de6bf907a04dcdcfe4f1418721b60'
+         '2596460462cf6c889cf8f95485537b20'
+         'a63ff9ef5250965aeabc74bfa8e43981')
diff --git a/abs/core/LinHES-config/mv_hostype.py b/abs/core/LinHES-config/mv_hostype.py
index 4eade73..1a108af 100755
--- a/abs/core/LinHES-config/mv_hostype.py
+++ b/abs/core/LinHES-config/mv_hostype.py
@@ -143,8 +143,8 @@ def hostypeprint(systemconfig):
         run_mysqlnetwork = True
         if systemconfig["hostypec"]:
             setup_db()
-        install_list=["mysql", "mythdb-initial", "avahi", "portmap", "nfs-utils", "local-website", "myth2ipod", "mythtv-status"]
-        daemon_list=["mysql", "mythbackend", "avahi", "portmap", "nfs-utils", "netfs", "lighttpd"]
+        install_list=["mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "local-website", "myth2ipod", "mythtv-status"]
+        daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd"]
         if data_config.SYSTEMTYPE == "MythVantage":
           install_list.append('ghosd')
 
@@ -152,8 +152,8 @@ def hostypeprint(systemconfig):
         logging.info("Master backend system being configured")
         setup_ntp(False,"null")
         setup_avahi(systemconfig["TEMPLATES"])
-        install_list=["mysql", "mythdb-initial", "avahi", "portmap", "nfs-utils", "local-website", "myth2ipod", "mythtv-status"]
-        daemon_list=["mysql", "mythbackend", "avahi", "portmap", "nfs-utils", "netfs", "lighttpd"]
+        install_list=["mysql", "mythdb-initial", "avahi", "rpcbind", "nfs-utils", "local-website", "myth2ipod", "mythtv-status"]
+        daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd"]
         EnableNetwork = True
         run_mysqlnetwork = True
         if data_config.SYSTEMTYPE == "MythVantage":
@@ -169,8 +169,8 @@ def hostypeprint(systemconfig):
         remove_avahi_service()
         if systemconfig["hostypec"]:
             setup_db()
-        install_list = ["portmap", "nfs-utils", "local-website", "avahi", "libmysqlclient" ]
-        daemon_list = ["mythbackend", "portmap", "nfs-utils", "netfs", "lighttpd", "avahi" ]
+        install_list = ["rpcbind", "nfs-utils", "local-website", "avahi", "libmysqlclient" ]
+        daemon_list = ["mythbackend", "rpcbind", "nfs-common", "netfs", "lighttpd", "avahi" ]
         daemon_remove_list=('mysql')
         if data_config.SYSTEMTYPE == "MythVantage":
             install_list.remove("local-website")
@@ -185,9 +185,9 @@ def hostypeprint(systemconfig):
         logging.info("Frontend only system being configured")
         setup_ntp(True,systemconfig["dbhost"])
         remove_avahi_service()
-        install_list=["mysql-clients", "libmysqlclient",  "avahi", "portmap", "nfs-utils", "local-website"]
+        install_list=["mysql-clients", "libmysqlclient",  "avahi", "rpcbind", "nfs-utils", "local-website"]
         remove_list=["mysql"]
-        daemon_list=["mysql", "mythbackend", "avahi", "portmap", "nfs-utils", "netfs", "lighttpd"]
+        daemon_list=["mysql", "mythbackend", "avahi", "rpcbind", "nfs-common", "netfs", "lighttpd"]
         daemon_remove_list=("mysql", "mythbackend")
         if data_config.SYSTEMTYPE == "MythVantage":
             install_list.remove("local-website")
-- 
cgit v0.12

