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)
committerRISCi_ATOM <bob@bobcall.me>
Fri, 13 Sep 2019 19:51:11 +0000 (15:51 -0400)
commit81c314e09de14935f4500bca060a67ca745e2520
treeb8e05e81aaa8af4ab1099405549d7879376d4669
parent0031bf49eb0927f2ff2244491769d1a5c78277d2
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