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]

Reply via email to