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
bobcanthelpyou
2ad473bcd4
docs: fix small typos and use common used notation (#2088) 2020-08-13 13:25:45 +02:00
Matthias Schiffer
ee5ec5afe5 build: rewrite features.sh in Lua
The `features` file is converted to a Lua-based DSL.

A helper function `_` is used in the DSL; this will return the original
string for enabled features, and nil for disabled features. This allows
to use boolean operations on features without making the code too
verbose.

Besides having more readable and robust code, this also fixes the bug
that all files `packages/*/features` were evaluated instead of only
using the feature definitions of currently active feeds.
2020-07-01 20:35:22 +02:00
Chrissi^ (Chris Fiege)
9dfaed000c doc/dev/package: Fix path to gluon.mk (#1774)
$(TOPDIR) does not contain a trailing slash.
Thus the 'gluon.mk'-include must include
the trailing slash. (Just like the link to
$(INCLUDE_DIR)/package.mk does.)

Signed-off-by: Chris Fiege <chris@tinyhost.de>
2019-06-29 23:41:07 +02:00
bobcanthelpyou
170c494f40 docs: fix typos and common misspellings (#1668) 2019-03-10 20:15:25 +01:00
Matthias Schiffer
b2436f674b
docs: add new doc page about package development
Explain the magic of gluon.mk. The feature flag documention is moved into
this new page.
2018-06-23 19:44:43 +02:00