nfs_utils: Fix for read-only rootfs
authorMaxime Hadjinlian <maxime.hadjinlian@gmail.com>
Sat, 11 Jul 2015 14:48:20 +0000 (16:48 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 13 Jul 2015 00:08:59 +0000 (02:08 +0200)
In order to work on a read-only rootfs, nfs_utils would like to write
stuff to /var/lib/nfs, since it's not a tmpfs, it won't work.

Instead of doing little dances around the filesystem, tell nfs_utils to
use /run/nfs for everyone.

Modify the startup script accordingly.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/nfs-utils/S60nfs
package/nfs-utils/nfs-utils.mk

index 4afee558be0109b48e5b89dc9035d2f19f0069c6..91410ee944dad79596617ae5f4c97ae3ed874a77 100755 (executable)
@@ -8,19 +8,9 @@
 [ -x /usr/sbin/rpc.mountd ] || exit 0
 [ -x /usr/sbin/exportfs ] || exit 0
 
-# Don't fail if /etc/exports doesn't exist; create a bare-bones version and continue.
-[ -r /etc/exports ] || \
-    { touch /etc/exports && chmod u+rw,g+r,o+r /etc/exports ; } || \
-    { echo "/etc/exports does not exist" ; exit 0 ; }
-    
-# The /var/lib/nfs directory is actually on a tmpfs filesystem.
-mkdir -p /var/lib/nfs/sm
-mkdir -p /var/lib/nfs/sm.bak
 mkdir -p /var/lock/subsys
-touch /var/lib/nfs/etab
-touch /var/lib/nfs/rmtab
-touch /var/lib/nfs/state
-touch /var/lib/nfs/xtab
+mkdir -p /run/nfs/sm
+touch /run/nfs/rmtab
 
 start() {
        # Start daemons.
index cec21e8de370bcd08569d6999bf6a3e2bf5817fe..115a133f22dfd931baaaccd8e15b1f87fca89e71 100644 (file)
@@ -21,6 +21,7 @@ NFS_UTILS_CONF_OPTS = \
        --disable-uuid \
        --disable-ipv6 \
        --without-tcp-wrappers \
+       --with-statedir=/run/nfs \
        --with-rpcgen=internal
 
 NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug
@@ -36,8 +37,8 @@ endif
 
 define NFS_UTILS_INSTALL_FIXUP
        rm -f $(NFS_UTILS_TARGETS_)
+       touch $(TARGET_DIR)/etc/exports
 endef
-
 NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP
 
 define NFS_UTILS_INSTALL_INIT_SYSV