diff options
Diffstat (limited to 'packages/nfs-utils')
-rw-r--r-- | packages/nfs-utils/files/nfsserver | 30 | ||||
-rw-r--r-- | packages/nfs-utils/nfs-utils_1.0.6.bb | 33 |
2 files changed, 43 insertions, 20 deletions
diff --git a/packages/nfs-utils/files/nfsserver b/packages/nfs-utils/files/nfsserver index 3536f0db12..36391ee85a 100644 --- a/packages/nfs-utils/files/nfsserver +++ b/packages/nfs-utils/files/nfsserver @@ -22,9 +22,34 @@ test -x "$NFS_NFSD" || exit 0 # ridiculous 99 test "$NFS_SERVERS" -gt 0 && "$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: ' @@ -39,7 +64,7 @@ stop_mountd(){ # #nfsd start_nfsd(){ - echo -n 'starting $1 nfsd kernel threads: ' + echo -n "starting $1 nfsd kernel threads: " start-stop-daemon --start --exec "$NFS_NFSD" -- "$@" echo done } @@ -90,7 +115,8 @@ stop_nfsd(){ # restart: stops and starts mountd #FIXME: need to create the /var/lib/nfs/... directories case "$1" in -start) start_nfsd "$NFS_SERVERS" +start) create_directories + start_nfsd "$NFS_SERVERS" start_mountd test -r /etc/exports && exportfs -a;; stop) exportfs -ua diff --git a/packages/nfs-utils/nfs-utils_1.0.6.bb b/packages/nfs-utils/nfs-utils_1.0.6.bb index 068fb315ad..f72b7226f4 100644 --- a/packages/nfs-utils/nfs-utils_1.0.6.bb +++ b/packages/nfs-utils/nfs-utils_1.0.6.bb @@ -3,20 +3,31 @@ PRIORITY = "optional" SECTION = "console/networking" MAINTAINER = "dyoung <dyoung@thestuffguy.com>" LICENSE = "GPL" -PR = "r1" +PR = "r2" SRC_URI = "${SOURCEFORGE_MIRROR}/nfs/nfs-utils-${PV}.tar.gz \ file://acinclude-lossage.patch;patch=1 \ file://rpcgen-lossage.patch;patch=1 \ file://stat-include.patch;patch=1 \ + file://nfsserver \ file://forgotten-defines" S = ${WORKDIR}/nfs-utils-${PV}/ +# Only kernel-module-nfsd is required here - the nfsd module will +# pull in the remainder of the dependencies. +RDEPENDS = "portmap kernel-module-nfsd" + +INITSCRIPT_NAME = "nfsserver" +# The server has no dependencies at the user run levels, so just put +# it in at the default levels. It must be terminated before the network +# in the shutdown levels, but that works fine. +INITSCRIPT_PARAMS = "defaults" + inherit autotools EXTRA_OECONF = "--with-statduser=nobody \ --enable-nfsv3 \ - --with-statedir=${localstatedir}/lib/nfs" + --with-statedir=/var/lib/nfs" do_compile() { # UGLY HACK ALERT @@ -25,21 +36,8 @@ do_compile() { } do_install() { - mkdir -p ${D}${localstatedir}/lib/nfs - touch ${D}${localstatedir}/lib/nfs/xtab; chmod 644 ${D}${localstatedir}/lib/nfs/xtab - touch ${D}${localstatedir}/lib/nfs/etab; chmod 644 ${D}${localstatedir}/lib/nfs/etab - touch ${D}${localstatedir}/lib/nfs/smtab; chmod 644 ${D}${localstatedir}/lib/nfs/smtab - touch ${D}${localstatedir}/lib/nfs/rmtab; chmod 644 ${D}${localstatedir}/lib/nfs/rmtab - - mkdir -p ${D}${localstatedir}/lib/nfs/sm - mkdir -p ${D}${localstatedir}/lib/nfs/sm.bak - - touch ${D}${localstatedir}/lib/nfs/state - - chmod go-rwx ${D}${localstatedir}/lib/nfs/sm - chmod go-rwx ${D}${localstatedir}/lib/nfs/sm.bak - chmod go-rwx ${D}${localstatedir}/lib/nfs/state - # they should be owned by statduser, how to do that.. + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver install -d ${D}${sbindir} install -m 0755 ${S}/utils/exportfs/exportfs ${D}${sbindir}/exportfs @@ -69,4 +67,3 @@ do_install() { 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 } - |