Skip to content
Snippets Groups Projects
  1. Aug 28, 2020
    • Matthias Schiffer's avatar
      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
  2. Jul 01, 2020
    • Matthias Schiffer's avatar
      build: rewrite features.sh in Lua · ee5ec5af
      Matthias Schiffer authored
      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.
      ee5ec5af
  3. Mar 25, 2020
  4. Sep 25, 2019
  5. Aug 21, 2019
  6. Apr 28, 2019
  7. Sep 05, 2018
  8. Apr 15, 2018
  9. Mar 12, 2018
  10. Jul 09, 2017
    • Matthias Schiffer's avatar
      build: introduce GLUON_FEATURES · 6ca841ba
      Matthias Schiffer authored
      To reduce the number of packages that need to be listed in
      GLUON_SITE_PACKAGES, this adds a new variable GLUON_FEATURES. Sets of
      packages are enabled automatically based on the combination of listed
      feature flags.
      
      Site-specified package feeds can provide their own feature flag
      definitions.
      6ca841ba
Loading