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

From: Andrzej Krzysztofowicz (ankry@green.mif.pg.gda.pl)
Date: Sun Jan 30 2000 - 06:00:41 EST


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@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@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:25 EST