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>
Wed, 4 Sep 2019 11:15:53 +0000 (13:15 +0200)
commit0bfac320ea5a37b82a9574bc673d1ab55c278831
tree3f29b0c9386b4e45a79f38a2c4f33738cba67eaa
parent1754dc2ddba23453da158a8430f7f31b7dfe26d9
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>
(cherry picked from commit 1fd50531cac9c41334d8f57e2dbc1f50c3572445)
scripts/package-metadata.pl