[KBUILD] 2.3.41 config: suggested [PATCH] (fwd)

Andrzej Krzysztofowicz ankry en green.mif.pg.gda.pl
Dom Ene 30 05:38:47 CST 2000


Hi,
 
> [Andrzej Krzysztofowicz]
> > Notice, that according to Documentation/kbuild/config-language.txt in
> > the clause
> > 
> > dep_bool 'txt' CONFIG_VAR $FOO
> > 
> > if $FOO = m, CONFIG_VAR is forced to "n", no choice (as "m" is not a
> > legal value for a "bool" variable).
> 
> Hmmm.  True.
> 
> > So:
> > - either documentation (and, consequently, all parsers) should be modified
> > - or the patch included should be applied...
> 
> I think that it is useful to have a construct that means what someone
> apparently thought dep_bool meant, i.e. a bool which can only be 'y' if
> a corresponding tristate is not 'n'.  *Any* compile-time options to
> modules could use this.  Those filesystem R/W options are just examples
> of where this is useful.
> 
> So if it's up to a vote, I say change the parsers.  (Of course, I know
> it isn't, but anyway....)

Notice that current dep_bool behaviour is needed in some places.
Consider section:
   tristate 'NFS filesystem support' CONFIG_NFS_FS
   dep_bool '  Root file system on NFS' CONFIG_ROOT_NFS $CONFIG_NFS_FS $CONFIG_IP_PNP

However, in most cases we need the behavior you expected/suggested.
So statistically - you are right. But, maybe we should have two dep_bool
like functions for theese different cases ?

By the way, there was a bug in my previous patch: I forgot "then"
near CONFIG_NFSD definition...
The correct patch fillows.

*************************** patch fs/Config.in *******************
diff -u --recursive 2.3.41/fs/Config.in linux/fs/Config.in
--- 2.3.41/fs/Config.in	Sat Jan 29 23:24:15 2000
+++ linux/fs/Config.in	Sun Jan 30 09:48:14 2000
@@ -16,7 +16,9 @@
 dep_tristate 'Apple Macintosh filesystem support (EXPERIMENTAL)' CONFIG_HFS_FS $CONFIG_EXPERIMENTAL
 
 dep_tristate 'BFS filesystem (read only) support (EXPERIMENTAL)' CONFIG_BFS_FS $CONFIG_EXPERIMENTAL
-dep_bool '  BFS filesystem write support (DANGEROUS)' CONFIG_BFS_FS_WRITE $CONFIG_BFS_FS
+if [ "$CONFIG_BFS_FS" = "y" -o "$CONFIG_BFS_FS" = "m" ]; then
+   bool '  BFS filesystem write support (DANGEROUS)' CONFIG_BFS_FS_WRITE
+fi
 
 # msdos filesystems
 tristate 'DOS FAT fs support' CONFIG_FAT_FS
@@ -38,7 +40,9 @@
 tristate 'Minix fs support' CONFIG_MINIX_FS
 
 tristate 'NTFS filesystem support (read only)' CONFIG_NTFS_FS
-dep_bool '  NTFS write support (DANGEROUS)' CONFIG_NTFS_RW $CONFIG_NTFS_FS $CONFIG_EXPERIMENTAL
+if [ "$CONFIG_NTFS_FS" != "n" ]; then
+   dep_bool '  NTFS write support (DANGEROUS)' CONFIG_NTFS_RW $CONFIG_EXPERIMENTAL
+fi
 
 tristate 'OS/2 HPFS filesystem support' CONFIG_HPFS_FS
 
@@ -51,21 +55,28 @@
 dep_bool '/dev/pts filesystem for Unix98 PTYs' CONFIG_DEVPTS_FS $CONFIG_UNIX98_PTYS
 
 dep_tristate 'QNX4 filesystem support (read only) (EXPERIMENTAL)' CONFIG_QNX4FS_FS $CONFIG_EXPERIMENTAL
-dep_bool '  QNX4FS write support (DANGEROUS)' CONFIG_QNX4FS_RW $CONFIG_QNX4FS_FS
+if [ "$CONFIG_QNX4FS_FS" = "y" -o "$CONFIG_QNX4FS_FS" = "m" ]; then
+   bool '  QNX4FS write support (DANGEROUS)' CONFIG_QNX4FS_RW
+fi
 
 tristate 'ROM filesystem support' CONFIG_ROMFS_FS
 
 tristate 'Second extended fs support' CONFIG_EXT2_FS
 
 tristate 'System V and Coherent filesystem support' CONFIG_SYSV_FS
-dep_bool '  SYSV filesystem write support (DANGEROUS)' CONFIG_SYSV_FS_WRITE $CONFIG_SYSV_FS $CONFIG_EXPERIMENTAL
+if [ "$CONFIG_SYSV_FS" != "n" ]; then
+   dep_bool '  SYSV filesystem write support (DANGEROUS)' CONFIG_SYSV_FS_WRITE $CONFIG_EXPERIMENTAL
+fi
 
 tristate 'UDF filesystem support (read only)' CONFIG_UDF_FS
-dep_bool '  UDF write support (DANGEROUS)' CONFIG_UDF_RW $CONFIG_UDF_FS $CONFIG_EXPERIMENTAL
+if [ "$CONFIG_UDF_FS" != "n" ]; then
+   dep_bool '  UDF write support (DANGEROUS)' CONFIG_UDF_RW $CONFIG_EXPERIMENTAL
+fi
 
 tristate 'UFS filesystem support (read only)' CONFIG_UFS_FS
-dep_bool '  UFS filesystem write support (DANGEROUS)' CONFIG_UFS_FS_WRITE $CONFIG_UFS_FS $CONFIG_EXPERIMENTAL
-
+if [ "$CONFIG_UFS_FS" != "n" ]; then
+   dep_bool '  UFS filesystem write support (DANGEROUS)' CONFIG_UFS_FS_WRITE $CONFIG_EXPERIMENTAL
+fi
 
 if [ "$CONFIG_NET" = "y" ]; then
 
@@ -79,7 +90,9 @@
    dep_bool '  Root file system on NFS' CONFIG_ROOT_NFS $CONFIG_NFS_FS $CONFIG_IP_PNP
 
    tristate 'NFS server support' CONFIG_NFSD
-   dep_bool '  Provide NFSv3 server support (EXPERIMENTAL)' CONFIG_NFSD_V3 $CONFIG_NFSD $CONFIG_EXPERIMENTAL
+   if [ "$CONFIG_NFSD" != "n" ]; then
+      dep_bool '  Provide NFSv3 server support (EXPERIMENTAL)' CONFIG_NFSD_V3 $CONFIG_EXPERIMENTAL
+   fi
 
    if [ "$CONFIG_NFS_FS" = "y" -o "$CONFIG_NFSD" = "y" ]; then
       define_tristate CONFIG_SUNRPC y
******************************************************************
-- 
=======================================================================
  Andrzej M. Krzysztofowicz               ankry en mif.pg.gda.pl
  tel.  (0-58) 347 14 61
Wydz.Fizyki Technicznej i Matematyki Stosowanej Politechniki Gdanskiej

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



Más información sobre la lista de distribución Ayuda