Skip to content
Snippets Groups Projects
Select Git revision
  • experimental default protected
  • nrb/airmax-test
  • v2023.2.4-ffs
  • nrb/ar9344-reset-sequence
  • autinerd/experimental-openwrt-24.10
  • v2023.2.3-ffs
  • v2023.2.2-ffs
  • v2023.2-ffs
  • v2023.1-ffs
  • v2022.1.4-ffs
  • feature/addMikrotikwAP
  • v2022.1.3-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • master protected
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • v2020.2.3-ffs
  • nrbffs/fastd-remove-delay
  • experimental-2025-05-18
  • experimental-2025-05-18-base
  • experimental-2025-05-15
  • experimental-2025-05-15-base
  • experimental-2025-05-13
  • experimental-2025-05-13-base
  • experimental-2025-05-08
  • experimental-2025-05-08-base
  • experimental-2025-05-05
  • experimental-2025-05-05-base
  • experimental-2025-05-02
  • experimental-2025-05-02-base
  • experimental-2025-05-01
  • experimental-2025-05-01-base
  • experimental-2025-04-29
  • experimental-2025-04-29-base
  • experimental-2025-04-27
  • experimental-2025-04-27-base
  • experimental-2025-04-26
  • experimental-2025-04-26-base
40 results

features

Blame
    • Matthias Schiffer's avatar
      13b743d5
      features: fix handling of logical expressions · 13b743d5
      Matthias Schiffer authored
      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: ee5ec5af ("build: rewrite features.sh in Lua")
      13b743d5
      History
      features: fix handling of logical expressions
      Matthias Schiffer authored
      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: ee5ec5af ("build: rewrite features.sh in Lua")