metadata: ensure one dependency provider to be y if a package is y
authorJonas Gorski <jonas.gorski@gmail.com>
Sat, 15 Jun 2019 13:04:53 +0000 (15:04 +0200)
committerJo-Philipp Wich <jo@mein.io>
Thu, 20 Jun 2019 12:18:25 +0000 (14:18 +0200)
commit1fd50531cac9c41334d8f57e2dbc1f50c3572445
tree97d46eec85309cdc3c9eff9b58cfb117aeb928d2
parent74739c4228f3bd0aa757165c67c53016c3deb544
metadata: ensure one dependency provider to be y if a package is y

When there are multiple packages providing a meta-package, it is
possible to to create a config where a package is selected as =y, but
all of its dependency providers are just selected as =m. This is due to
the selection statement being just

  config PACKAGE_foo
    select PACKAGE_bar if !PACKAGE_baz

which is already fulfilled by PACKAGE_bar=m. Fix this by properly
comparing the selection states:

  config PACKAGE_foo
    select PACKAGE_bar if PACKAGE_baz<PACKAGE_foo

Also invert the select conditions to improve readability.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
[slightly reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
scripts/package-metadata.pl