On 16.09.2012 01:44, Steven Chamberlain wrote: > FWIW I think your fix is correct. > > I gather this file is used a bit like transaction log, so must never be > created, empty, from an initscript merely because it is missing. > Instead, it should be created at install time from postinst as you have > done. During a package upgrade, I think that is okay too, because it > can be assumed that /var is already clean and mounted by then.
Please forgive my confusion, but that's what I did, didn't I? I create the package at installation time in maintainer script if it is missing and never again. I don't touch or modify the init script at all. Aside I agree with you. I understand it as a state file as well, which must be persistent across reboots, but not be modified at start time or anytime again. So we may discuss whether we need some contents to initialize it for the first time the package is installed. Note, our own man pages previously suggested to do this: "before starting the server for the first time, create an empty /var/db/nfs-stablerestart file. The command install -o root -g wheel -m 600 /dev/null /var/db/nfs-stablerestart executed as ``su'' should suffice. This can only be done when the server is not running and there are no nfsv4 file system mounts against the server. If this file is lost during a crash, recovery from backups is recommended." [1] The 9.0 version of nfsv4.4 lacks this part, however. > I haven't tried it yet though (or NFS, at all, on a kFreeBSD system). It works for me, YMMV. [1] http://www.freebsd.org/cgi/man.cgi?query=nfsv4&apropos=0&sektion=4&manpath=FreeBSD+8.2-RELEASE&arch=default&format=html -- with kind regards, Arno Töll IRC: daemonkeeper on Freenode/OFTC GnuPG Key-ID: 0x9D80F36D
signature.asc
Description: OpenPGP digital signature