summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/nfs-utils/nfs-utils
diff options
context:
space:
mode:
authorZhang Xiao <xiao.zhang@windriver.com>2013-11-21 16:07:24 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-09 18:01:44 +0000
commitc0e048d33d5a5557ba24d74751aca7b000b16649 (patch)
tree533a51c9342854a62bb3ee62f9575d924e8d9441 /meta/recipes-connectivity/nfs-utils/nfs-utils
parentfedd84f7eee7dba095459cde4df435975c7e6aac (diff)
downloadast2050-yocto-poky-c0e048d33d5a5557ba24d74751aca7b000b16649.zip
ast2050-yocto-poky-c0e048d33d5a5557ba24d74751aca7b000b16649.tar.gz
nfs-utils: separate package as Debain style
Move binaries used for both nfs client and server into client package. Add an init script for client package and move necessary progress from server's init script to this one. Make client package more powerful and let server package depends on client one, as Debain does. (From OE-Core rev: 39bb7e32c5eb930981392cec70a063e8dac152b7) Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/nfs-utils/nfs-utils')
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon90
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver46
2 files changed, 93 insertions, 43 deletions
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
new file mode 100644
index 0000000..c949b96
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
@@ -0,0 +1,90 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: nfs-common
+# Required-Start: $portmap hwclock
+# Required-Stop: $portmap hwclock
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: NFS support for both client and server
+# Description: NFS is a popular protocol for file sharing across
+# TCP/IP networks. This service provides various
+# support functions for NFS mounts.
+### END INIT INFO
+#
+# Startup script for nfs-utils
+#
+#
+# Location of executables:
+
+# Source function library.
+. /etc/init.d/functions
+
+test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd
+test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid
+#
+# The default state directory is /var/lib/nfs
+test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs
+#
+#----------------------------------------------------------------------
+# Startup and shutdown functions.
+# Actual startup/shutdown is at the end of this file.
+#directories
+create_directories(){
+ echo -n 'creating NFS state directory: '
+ mkdir -p "$NFS_STATEDIR"
+ ( cd "$NFS_STATEDIR"
+ umask 077
+ mkdir -p rpc_pipefs
+ mkdir -p sm sm.bak statd
+ chown rpcuser sm sm.bak statd
+ test -w statd/state || {
+ rm -f statd/state
+ :>statd/state
+ }
+ umask 022
+ for file in xtab etab smtab rmtab
+ do
+ test -w "$file" || {
+ rm -f "$file"
+ :>"$file"
+ }
+ done
+ )
+ chown rpcuser "$NFS_STATEDIR"
+ echo done
+}
+
+#statd
+start_statd(){
+ echo -n "starting statd: "
+ start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID"
+ echo done
+}
+stop_statd(){
+ echo -n 'stopping statd: '
+ start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID"
+ echo done
+}
+#----------------------------------------------------------------------
+#
+# supported options:
+# start
+# stop
+# restart: stops and starts mountd
+#FIXME: need to create the /var/lib/nfs/... directories
+case "$1" in
+ start)
+ create_directories
+ start_statd;;
+ stop)
+ stop_statd;;
+ status)
+ status $NFS_STATD
+ exit $?;;
+ restart)
+ $0 stop
+ $0 start;;
+ *)
+ echo "Usage: $0 {start|stop|status|restart}"
+ exit 1;;
+esac
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
index c263f14..6e0df7e 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
@@ -1,8 +1,8 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: nfs-kernel-server
-# Required-Start: $remote_fs $portmap hwclock
-# Required-Stop: $remote_fs $portmap hwclock
+# Required-Start: $remote_fs nfs-common $portmap hwclock
+# Required-Stop: $remote_fs nfs-common $portmap hwclock
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Kernel NFS server support
@@ -24,8 +24,6 @@ test -r /etc/default/nfsd && . /etc/default/nfsd
# Location of executables:
test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd
test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd
-test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd
-test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid
#
# The user mode program must also exist (it just starts the kernel
# threads using the kernel module code).
@@ -36,34 +34,9 @@ test -x "$NFS_NFSD" || exit 0
# ridiculous 99
test "$NFS_SERVERS" != "" && test "$NFS_SERVERS" -gt 0 && test "$NFS_SERVERS" -lt 100 || NFS_SERVERS=8
#
-# The default state directory is /var/lib/nfs
-test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs
-#
#----------------------------------------------------------------------
# Startup and shutdown functions.
# Actual startup/shutdown is at the end of this file.
-#directories
-create_directories(){
- echo -n 'creating NFS state directory: '
- mkdir -p "$NFS_STATEDIR"
- ( cd "$NFS_STATEDIR"
- umask 077
- mkdir -p sm sm.bak
- test -w sm/state || {
- rm -f sm/state
- :>sm/state
- }
- umask 022
- for file in xtab etab smtab rmtab
- do
- test -w "$file" || {
- rm -f "$file"
- :>"$file"
- }
- done
- )
- echo done
-}
#mountd
start_mountd(){
echo -n 'starting mountd: '
@@ -124,17 +97,6 @@ stop_nfsd(){
fi
}
-#statd
-start_statd(){
- echo -n "starting statd: "
- start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID"
- echo done
-}
-stop_statd(){
- echo -n 'stopping statd: '
- start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID"
- echo done
-}
#----------------------------------------------------------------------
#
# supported options:
@@ -144,13 +106,11 @@ stop_statd(){
# restart: stops and starts mountd
#FIXME: need to create the /var/lib/nfs/... directories
case "$1" in
- start) create_directories
+ start)
start_nfsd "$NFS_SERVERS"
start_mountd
- start_statd
test -r /etc/exports && exportfs -a;;
stop) exportfs -ua
- stop_statd
stop_mountd
stop_nfsd;;
status)
OpenPOWER on IntegriCloud