[PATCH] dep_mbool is broken in scripts/Configure

From: Mikael Pettersson (mikpe@csd.uu.se)
Date: Tue Apr 25 2000 - 18:54:29 EST


When trying out a new kernel, I usually copy the previous kernel's
.config and then `make oldconfig'. I also diff the previous and
new .config to see what, if anything, has changed.

When upgrading from 2.3.99-pre3 to -pre5, I noticed that oldconfig
had silently enabled several options which had been explicitly
turned off in the previous .config. One of these was CONFIG_JOLIET.
My previous .config had CONFIG_ISO9660_FS=m and CONFIG_JOLIET unset,
but oldconfig mutated this to CONFIG_ISO9660_FS=m and CONFIG_JOLIET=y.

It turns out that in the 2.3.99-pre4 patch, fs/Config.in had been
changed to use dep_mbool for CONFIG_JOLIET and several other options.
The problem is that scripts/Configure's implementation of dep_mbool
sets the target option's default value to y if a dependency is m.
Since oldconfig picks the default value, it will enable the option.
This is wrong: dep_bool does not have this broken behaviour, and
Documentation/kbuild/config-language.txt clearly states that dep_mbool
differs from dep_bool only in which dependency values force the
target option to n (n and m for dep_bool, only n for dep_mbool).

The patch below (against 2.3.99-pre5) fixes this.

/Mikael

--- linux-2.3.99-pre5/scripts/Configure.~1~ Mon Feb 21 22:42:58 2000
+++ linux-2.3.99-pre5/scripts/Configure Tue Apr 25 23:25:09 2000
@@ -321,9 +321,6 @@
               define_bool "$var" "n"
               return
               ;;
- m)
- eval "$var=y"
- ;;
           esac
           shift
         done

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:10 EST