Commit Graph

6 Commits

Author SHA1 Message Date
Matthias Schiffer 13b743d51e features: fix handling of logical expressions
The rewrite of the feature handling introduced multiple major bugs. One
of them was caused by the way Lua's logical operators work:

An expression of the form

    _'autoupdater' and _'web-advanced'

would return 'web-advanced' rather than the boolean true when _ returned
both strings unchanged (because the features are enabled).

As entries with more than a single feature name in their expressions did
not set no_default, Gluon would then attempt to add gluon-web-advanced to
the package selection, as web-advanced is a "pure" feature.

To fix this, and get rid of the annoying nodefault, separate handling of
"pure" feature and handling of logical expressions into two separate
functions, called feature() and when(). To simplify the feature
definitions, the package list is now passed directly to these functions
rather than in a table with a single field 'packages'.

Fixes: ee5ec5afe5 ("build: rewrite features.sh in Lua")
2020-08-28 22:27:38 +02:00
Matthias Schiffer 97f1515284 build: add luacheck support for package/features 2020-07-01 20:35:22 +02:00
Martin Weinelt b181803ac4 scripts: check_site: add need_number_range check 2020-04-30 01:54:35 +02:00
David Bauer c9f90c3ef8 build: add class-packages for targets without devices
When adding device classes, targets without devices such as x86 were not
handled. As site and feature packages are included on such a per-device
decision, x86 images ended up without most packages.

Include a class setting for a target and include the class-packages
target-wide when this setting is configured.

Fixes 9c52365077 ("build: introduce device classes")
2020-03-27 23:35:24 +01:00
Matthias Schiffer d7e724ada9
target_lib: replace envtrue with more intuitive istrue helper
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2020-03-14 16:51:43 +01:00
bobcanthelpyou 025e9c71c3 Add luacheck config (#1741) 2019-06-18 22:27:41 +02:00