On Sat, Jul 14, 2007 at 06:17:13PM +0200, Frans Pop wrote: > I'm not all that interested in what the right long-term fix is, I'm > concerned about a change in nfs-common breaking something semi essential > that has worked for ages, accidentally or not.
I'm a bit unsure why this suddenly started going to debian-devel; I'm Cc-ing the bug again, at least. > If something like that is reported, IMHO the only correct course of action > is first to make sure that the breakage is fixed, and then to start > talking with maintainers of other involved packages about the correct > structural fix and migration path, and only implementing your own change > again _after_ other packages have made the necessary modifications. The question here is: When initscripts is broken, and a new version of nfs-common exposes that breakage, what is the right course of action? I'd say it is to fix initscripts. Note that this is not a simple code change in nfs-utils; it is a major move of functionality from one code base (util-linux) to a different one (nfs-utils). Try this patch: diff -u sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs --- sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs +++ sysvinit-2.86.ds1/debian/initscripts/etc/network/if-up.d/mountnfs @@ -27,10 +27,9 @@ exec 9<&0 </etc/fstab - portmap=no + start_nfs=no NETFS="" NETDEV="" - gss_or_idmap=no while read DEV MTPT FSTYPE OPTS REST do case "$DEV" in @@ -48,18 +47,7 @@ esac case "$FSTYPE" in nfs|nfs4) - case "$OPTS" in - nolock|*,nolock|nolock,*|*,nolock,*) - ;; - *) - portmap=yes - ;; - esac - case "$OPTS" in - sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*) - gss_or_idmap=yes - ;; - esac + start_nfs=yes ;; smbfs|cifs|coda|ncp|ncpfs|ocfs2|gfs) ;; @@ -77,39 +65,16 @@ ;; esac fi - if [ "$FSTYPE" = "nfs4" ] - then - gss_or_idmap=yes - fi done exec 0<&9 9<&- # - # With contemporary portmap packages it is no longer necessary - # to start portmap here because the package has its own initscript. - # This code will disappear after etch. - # - if [ "$portmap" = yes ] - then - if [ -x /sbin/portmap ] && ! pidof portmap >/dev/null 2>&1 - then - if [ -x /etc/init.d/portmap ] - then - /etc/init.d/portmap start - else - start-stop-daemon --start --quiet --oknodo --exec /sbin/portmap - sleep 1 # FIXME: Actually synchronize with the process? - fi - fi - fi - - # - # Initialize nfs-common (which starts rpc.gssd and/or - # rpc.idmapd, and loads the right kernel modules if + # Initialize nfs-common (which starts rpc.statd, rpc.gssd + # and/or rpc.idmapd, and loads the right kernel modules if # applicable) if we use Kerberos and/or NFSv4 mounts. # - if [ "$gss_or_idmap" = yes ] && [ -x /etc/init.d/nfs-common ] + if [ "$start_nfs" = yes ] && [ -x /etc/init.d/nfs-common ] then /etc/init.d/nfs-common start fi /* Steinar */ -- Homepage: http://www.sesse.net/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]