a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes
Go to file
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
.github actions: add linter actions for lua and shell script 2020-08-16 13:23:58 +02:00
contrib actions: cache OpenWrt DL folder (#2084) 2020-07-25 00:42:55 +02:00
docs features: fix handling of logical expressions 2020-08-28 22:27:38 +02:00
package features: fix handling of logical expressions 2020-08-28 22:27:38 +02:00
patches openwrt: refresh patches 2020-08-02 00:32:10 +02:00
scripts features: fix handling of logical expressions 2020-08-28 22:27:38 +02:00
targets Merge pull request #2096 from freifunk-gluon/cpe210-versions 2020-08-15 23:04:55 +02:00
tests tests: respondd: update shebang to use the environments python3 version 2020-04-29 22:28:00 +02:00
.editorconfig editorconfig: indent yaml with two spaces 2020-08-16 13:23:58 +02:00
.gitignore .gitignore: add files created when mounting repo in docker 2020-03-09 08:30:33 +01:00
.luacheckrc features: fix handling of logical expressions 2020-08-28 22:27:38 +02:00
CONTRIBUTING.md CONTRIBUTING.md: fix link to list of rejected features (#1785) 2019-07-13 14:32:41 +02:00
LICENSE Switch to OpenWrt 18.06 branch 2018-07-10 22:57:40 +02:00
Makefile build: check for unsynced feeds before build (#2092) 2020-08-15 22:39:17 +02:00
modules modules: update OpenWrt 2020-08-15 04:50:25 +02:00
README.md docs, README: Gluon v2020.2 2020-07-19 17:01:11 +02:00

Documentation (incomplete at this time, contribute if you can!) may be found at https://gluon.readthedocs.io/.

If you're new to Gluon and ready to get your feet wet, have a look at the Getting Started Guide.

Gluon's developers frequent an IRC chatroom at #gluon on hackint. There is also a webchat that allows for access from within your browser.

Issues & Feature requests

Before opening an issue, make sure to check whether any existing issues (open or closed) match. If you're suggesting a new feature, drop by on IRC or our mailinglist to discuss it first.

We maintain a Roadmap for the future development of Gluon.

Use a release!

Please refrain from using the master branch for anything else but development purposes! Use the most recent release instead. You can list all releases by running git tag and switch to one by running git checkout v2020.2 && make update.

If you're using the autoupdater, do not autoupdate nodes with anything but releases. If you upgrade using random master commits the nodes will break eventually.

Mailinglist

To subscribe to the list, send a message to:

gluon+subscribe@luebeck.freifunk.net

To remove your address from the list, just send a message to the address in the List-Unsubscribe header of any list message. If you haven't changed addresses since subscribing, you can also send a message to:

gluon+unsubscribe@luebeck.freifunk.net