lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <38232.1274368903@localhost>
Date:	Thu, 20 May 2010 11:21:43 -0400
From:	Valdis.Kletnieks@...edu
To:	Andrew Morton <akpm@...ux-foundation.org>,
	Roman Zippel <zippel@...ux-m68k.org>
Cc:	linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org
Subject: mmotm 2010-05-19 - Kconfig dependency list from hell...

On Wed, 19 May 2010 16:13:09 PDT, akpm@...ux-foundation.org said:
> The mm-of-the-moment snapshot 2010-05-19-16-12 has been uploaded to
> 
>    http://userweb.kernel.org/~akpm/mmotm/

Looks like some code to sort the dependency list and eliminate duplicates is
called for. I hit '?' on a new prompt, and saw this:

CONFIG_COMEDI_FC:

Enable support for shared functions for low-level drivers.
This module is not used directly by end-users. Rather, it
is used by many other comedi drivers.

To compile this driver as a module, choose M here: the module will be
called comedi_fc.

Symbol: COMEDI_FC [=n]
Prompt: Comedi shared functions for low-level driver support
  Defined at drivers/staging/comedi/Kconfig:1294
  Depends on: STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n]
  Location:
    -> Device Drivers
      -> Staging drivers (STAGING [=y])
        -> Exclude Staging drivers from being built (STAGING_EXCLUDE_BUILD [=n])

  Selected by: COMEDI_TEST [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n]
&& COMEDI_MISC_DRIVERS [=n] || COMEDI_DAS16M1 [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_ISA_DRIVERS [=n] && ISA [=n] ||
COMEDI_DAS16 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_ISA_DRIVERS [=n] && ISA [=n] || COMEDI_DAS800 [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_ISA_DRIVERS [=n] && ISA [=n] ||
COMEDI_DAS1800 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_ISA_DRIVERS [=n] && ISA [=n] || COMEDI_DT282X [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_ISA_DRIVERS [=n] && ISA [=n] ||
COMEDI_ADDI_APCI_3001 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_ADDI_APCI_3120 [=n] && STAGING
[=y] && !STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_ADL_PCI9111 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_ADL_PCI9118 [=n] && STAGING [=y]
&& !STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_AMPLC_PCI224 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_GSC_HPDI [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_CB_PCIDAS64 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_CB_PCIDAS [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_S626 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_NI_MIO_CS [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCMCIA_DRIVERS [=n] && PCMCIA [=y] &&
COMEDI_NI_TIO [=n] && COMEDI_NI_COMMON [=n] || COMEDI_USBDUXFAST [=n] &&
STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] && COMEDI_USB_DRIVERS [=n] && USB
[=y] || COMEDI_NI_LABPC [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_NI_COMMON [=n]

(Last line wrapped for readability). That includes these dups:

     19  !STAGING_EXCLUDE_BUILD [=n]
     18  STAGING [=y]
      9  COMEDI_PCI_DRIVERS [=n]
      5  COMEDI_ISA_DRIVERS [=n]

It would probably be harder to reduce these:

      1  PCI [=y] || COMEDI_S626 [=n] 
      1  PCI [=y] || COMEDI_NI_MIO_CS [=n] 
      1  PCI [=y] || COMEDI_GSC_HPDI [=n] 
      1  PCI [=y] || COMEDI_CB_PCIDAS64 [=n] 
      1  PCI [=y] || COMEDI_CB_PCIDAS [=n] 
      1  PCI [=y] || COMEDI_AMPLC_PCI224 [=n] 
      1  PCI [=y] || COMEDI_ADL_PCI9118 [=n] 
      1  PCI [=y] || COMEDI_ADL_PCI9111 [=n] 
      1  PCI [=y] || COMEDI_ADDI_APCI_3120 [=n] 
      1  ISA [=n] || COMEDI_DT282X [=n] 
      1  ISA [=n] || COMEDI_DAS800 [=n] 
      1  ISA [=n] || COMEDI_DAS1800 [=n] 
      1  ISA [=n] || COMEDI_DAS16 [=n] 
      1  ISA [=n] || COMEDI_ADDI_APCI_3001 [=n] 

(Is there a reason these don't print with () around them?  It looks like it
needs them to enforce proper semantics...)





Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ