[oe-commits] Marcin Juszkiewicz : nfs-utils: use 'make install' for 1.1.2 version

git version control git at git.openembedded.org
Wed Dec 2 18:57:24 UTC 2009


Module: openembedded.git
Branch: martin_jansa/srcpv
Commit: b8d64d4792410a1ebb8eda82f96a47bf2523148b
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=b8d64d4792410a1ebb8eda82f96a47bf2523148b

Author: Marcin Juszkiewicz <marcin at juszkiewicz.com.pl>
Date:   Wed Nov 25 14:15:34 2009 +0100

nfs-utils: use 'make install' for 1.1.2 version

This installs all tools as it should (mountd is no longer libtool
wrapper).

Adapted initscript for name changes (mountd is now rpc.mountd).

rpcdebug is removed as it is host built - fix it if you need it (was not
packaged before).

---

 recipes/nfs-utils/nfs-utils-1.1.2/nfsserver |  149 +++++++++++++++++++++++++++
 recipes/nfs-utils/nfs-utils_1.1.2.bb        |   26 +----
 2 files changed, 153 insertions(+), 22 deletions(-)

diff --git a/recipes/nfs-utils/nfs-utils-1.1.2/nfsserver b/recipes/nfs-utils/nfs-utils-1.1.2/nfsserver
new file mode 100644
index 0000000..b4c7662
--- /dev/null
+++ b/recipes/nfs-utils/nfs-utils-1.1.2/nfsserver
@@ -0,0 +1,149 @@
+#!/bin/sh
+#
+# Startup script for nfs-utils
+#
+#
+# The environment variable NFS_SERVERS may be set in /etc/default/nfsd
+# Other control variables may be overridden here too
+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
+#
+# The user mode program must also exist (it just starts the kernel
+# threads using the kernel module code).
+test -x "$NFS_MOUNTD" || exit 0
+test -x "$NFS_NFSD" || exit 0
+#
+# Default is 8 threads, value is settable between 1 and the truely
+# ridiculous 99
+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: '
+	start-stop-daemon --start --exec "$NFS_MOUNTD" -- "-f /etc/exports $@"
+	echo done
+}
+stop_mountd(){
+	echo -n 'stopping mountd: '
+	start-stop-daemon --stop --quiet --exec "$NFS_MOUNTD"
+	echo done
+}
+#
+#nfsd
+start_nfsd(){
+	echo -n "starting $1 nfsd kernel threads: "
+	start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
+	echo done
+}
+delay_nfsd(){
+	for delay in 0 1 2 3 4 5 6 7 8 9 
+	do
+		if pidof nfsd >/dev/null
+		then
+			echo -n .
+			sleep 1
+		else
+			return 0
+		fi
+	done
+	return 1
+}
+stop_nfsd(){
+	# WARNING: this kills any process with the executable
+	# name 'nfsd'.
+	echo -n 'stopping nfsd: '
+	start-stop-daemon --stop --quiet --signal 1 --name nfsd
+	if delay_nfsd || {
+		echo failed
+		echo ' using signal 9: '
+		start-stop-daemon --stop --quiet --signal 9 --name nfsd
+		delay_nfsd
+	}
+	then
+		echo done
+		# This will remove, recursively, dependencies
+		echo -n 'removing nfsd kernel module: '
+		if modprobe -r nfsd
+		then
+			echo done
+		else
+			echo failed
+		fi
+	else
+		echo failed
+	fi
+}
+
+#statd
+start_statd(){
+	echo -n "starting statd: "
+	start-stop-daemon --start --exec "$NFS_STATD"
+	echo done
+}
+stop_statd(){
+	# WARNING: this kills any process with the executable
+	# name 'statd'.
+	echo -n 'stopping statd: '
+	start-stop-daemon --stop --quiet --signal 1 --name statd
+	echo done
+}
+#----------------------------------------------------------------------
+#
+# supported options:
+#  start
+#  stop
+#  reload: reloads the exports file
+#  restart: stops and starts mountd
+#FIXME: need to create the /var/lib/nfs/... directories
+case "$1" in
+start)	create_directories
+	start_nfsd "$NFS_SERVERS"
+	start_mountd
+	start_statd
+	test -r /etc/exports && exportfs -a;;
+stop)	exportfs -ua
+	stop_statd
+	stop_mountd
+	stop_nfsd;;
+reload)	test -r /etc/exports && exportfs -r;;
+restart)exportfs -ua
+	stop_mountd
+	stop_statd
+	# restart does not restart the kernel threads,
+	# only the user mode processes
+	start_mountd
+	start_statd
+	test -r /etc/exports && exportfs -a;;
+esac
diff --git a/recipes/nfs-utils/nfs-utils_1.1.2.bb b/recipes/nfs-utils/nfs-utils_1.1.2.bb
index cdd5d37..3951c46 100644
--- a/recipes/nfs-utils/nfs-utils_1.1.2.bb
+++ b/recipes/nfs-utils/nfs-utils_1.1.2.bb
@@ -3,7 +3,7 @@ PRIORITY = "optional"
 SECTION = "console/network"
 LICENSE = "GPL"
 
-PR = "r6"
+PR = "r7"
 
 DEPENDS = "e2fsprogs-libs tcp-wrappers libevent"
 
@@ -44,30 +44,12 @@ do_ccompile() {
 
 INHIBIT_AUTO_STAGE = "1"
 
-do_install() {
+do_install_append() {
 	install -d ${D}${sysconfdir}/init.d
 	install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
 
-	install -d ${D}${sbindir}
-	install -d ${D}${base_sbindir}
-	install -m 0755 ${S}/utils/exportfs/exportfs ${D}${sbindir}/exportfs
-	install -m 0755 ${S}/utils/mountd/mountd ${D}${sbindir}/mountd
-	install -m 0755 ${S}/utils/mount/mount.nfs ${D}${base_sbindir}/mount.nfs
-	install -m 0755 ${S}/utils/nfsd/nfsd ${D}${sbindir}/nfsd
-	install -m 0755 ${S}/utils/nfsstat/nfsstat ${D}${sbindir}/nfsstat
-	install -m 0755 ${S}/utils/showmount/showmount ${D}${sbindir}/showmount
-	install -m 0755 ${S}/utils/statd/statd ${D}${sbindir}/statd
-
-	ln -s ${base_sbindir}/mount.nfs ${D}/${base_sbindir}/mount.nfs4
-
-	install -d ${D}${mandir}/man8
-	install -m 0644 ${S}/utils/exportfs/exportfs.man ${D}${mandir}/man8/exportfs.8
-	install -m 0644 ${S}/utils/mountd/mountd.man ${D}${mandir}/man8/mountd.8
-	install -m 0644 ${S}/utils/nfsd/nfsd.man ${D}${mandir}/man8/nfsd.8
-	install -m 0644 ${S}/utils/nfsstat/nfsstat.man ${D}${mandir}/man8/nfsstat.8
-	install -m 0644 ${S}/utils/showmount/showmount.man ${D}${mandir}/man8/showmount.8
-	install -m 0644 ${S}/utils/statd/statd.man ${D}${mandir}/man8/statd.8
+	rm ${D}${sbindir}/rpcdebug
 }
 
 PACKAGES =+ "nfs-utils-client"
-FILES_nfs-utils-client = "${base_sbindir}/mount.nfs ${base_sbindir}/mount.nfs4"
+FILES_nfs-utils-client = "${base_sbindir}/*mount.nfs*"





More information about the Openembedded-commits mailing list