Skip to content
Snippets Groups Projects
  1. Jul 04, 2020
  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
    • Matthias Schiffer's avatar
  3. Jun 11, 2020
  4. Jun 05, 2020
    • Matthias Schiffer's avatar
      build: target_config_check: make check more lenient · 8b64517f
      Matthias Schiffer authored
      Always allow options set to builtin (=y) when modular setting (=m) is
      expected. This can happen when a package is added explicitly (in a
      target defintion or site.mk) that is also pulled in as a dependency of
      another builtin package.
      
      Fixes: 9e23534e ("build: rework config generation")
      Fixes: #2046
      8b64517f
  5. Jun 04, 2020
    • chrissi^'s avatar
      openwrt: Store Kernel Debug-Info (#1971) · 1956696d
      chrissi^ authored
      
      This change stores a Kernel with Debug-Symbols for the current
      architecture in a new output directory '<outputdir>/debug'.
      This allows a developer or operator of a network to store the kernel
      along with the actual images. In case of a kernel oops the debug
      information can be used with the script
      'scripts/decode_stacktrace.sh' in the kernel source tree to get the
      names to the symbols of the stack trace.
      
      OpenWRT already provides the CONFIG_COLLECT_KERNEL_DEBUG -option that
      creates a kernel with debug-symbols in the OpenWRT output directory.
      This change enables this option and copies the generated kernel to the
      gluon output directory.
      
      Signed-off-by: default avatarChrissi^ <chris@tinyhost.de>
      1956696d
  6. May 31, 2020
    • Matthias Schiffer's avatar
      build: target_lib: allow to specify multiple factory_ext values · 7279c401
      Matthias Schiffer authored
      By passing a table instead of a single string, multiple different
      extensions can be specified, each refering to a separate image file
      generated by OpenWrt.
      
      This is not supported for sysupgrade (as there can only be a single
      image in the format expected by OpenWrt).
      7279c401
    • Matthias Schiffer's avatar
      build: target_lib: do not pass manifest_aliases when defining factory and extra images · 8c386719
      Matthias Schiffer authored
      manifest_aliases only make sense for sysupgrade images.
      8c386719
    • Matthias Schiffer's avatar
      build: remove now-unneeded function from target_config_lib.lua · 3ce43329
      Matthias Schiffer authored
      target_config.lua and target_config_check.lua don't pass a table of
      callbacks anymore, so target_config_lib.lua can by simplified by moving
      all the code that was in the returned function to the toplevel.
      3ce43329
    • Matthias Schiffer's avatar
      build: rework config generation · 9e23534e
      Matthias Schiffer authored
      So far, we were using a sort operation on the generated .config to
      implement precedence of =y packages over =m, and =m over unset.
      Unfortunately, this sort not only used for packages, but for all config
      lines. This made it impossible to override settings from targets/generic
      in a target config when the new setting was sorted before the generic
      setting.
      
      To fix this, track configurations by their keys, so we can properly
      override config keys that were set before. Value-based precedence is
      only preserved for package configuration.
      
      The config() and try_config() calls always take key and value as
      separate arguments now. Strings are quoted automatically; the values
      true, nil and false map to y, m and unset for tristate options. config()
      can take an optional third argument to override the error message to
      display when the setting fails to apply.
      
      All existing target configs generate the same .config with the old and the
      new code. The new code is also a bit faster on targets with many devices.
      9e23534e
  7. May 24, 2020
  8. May 12, 2020
    • Sven Roederer's avatar
      build: ignore deactivated feeds · 184dab8f
      Sven Roederer authored
      
      The OpenWrt feeds.conf.defaults contains some feeds that are commented out
      and not active. Such feeds will be returned by the default_feeds.sh script
      anyway and causing pseudo feeds. Limit the script to only return active
      feeds, by filtering out lines starting with '#'.
      This usually only applies to the OpenWrt master branch.
      
      Signed-off-by: default avatarSven Roederer <freifunk@it-solutions.geroedel.de>
      
      change as per NeoRider
      184dab8f
  9. May 10, 2020
  10. May 03, 2020
    • Matthias Schiffer's avatar
      build: move package list generation to target_config_lib.lua, fix precedence · 53690d83
      Matthias Schiffer authored
      The precedence of different package lists was broken since #1876,
      disallowing removal of GLUON_FEATURES packages via GLUON_SITE_PACKAGES.
      
      Including all package selections, both implicit defaults and explicit
      handling in Gluon, the order of precedence is now the following:
      
      1.  OpenWrt defaults (including target-specific defaults)
      2.  Device-specific packages from OpenWrt
      3.  Generic default packages (from target/generic)
      4.  Target default packages (target/$(GLUON_TARGET))
      5.  Removal of opkg for tiny targets
      6.  Packages derived from GLUON_FEATURES + GLUON_FEATURES_$(class)
      7.  GLUON_SITE_PACKAGES
      8.  GLUON_SITE_PACKAGES_$(class)
      9.  Device-specific packages from target/$(GLUON_TARGET)
      10. Device-specific packages from GLUON_$(device)_SITE_PACKAGES
      
      This also contains various pieces of cleanup:
      
      - No hardcoded order of device classes for target_config.lua arguments
        anymore (in fact, the Makefile doesn't know anything about device
        classes now)
      - target_conifg_lib.lua only hardcodes the fallback class for x86, no
        other occurences of specific class names
      - Feature -> package list mapping is moved from Makefile to the Lua code
        as well (still implemented in Shell though)
      53690d83
    • Matthias Schiffer's avatar
      build: remove exec prefix from commands with a raw suffix · f9062bda
      Matthias Schiffer authored
      Allows to append additional commands, for example using `||`.
      f9062bda
    • Matthias Schiffer's avatar
  11. Apr 29, 2020
  12. Apr 25, 2020
  13. Apr 09, 2020
  14. Mar 27, 2020
    • David Bauer's avatar
      build: add class-packages for targets without devices · c9f90c3e
      David Bauer authored
      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 9c523650 ("build: introduce device classes")
      c9f90c3e
  15. Mar 25, 2020
    • David Bauer's avatar
      build: introduce device classes · 9c523650
      David Bauer authored
      This commit allows to define a device-class flag in the target
      definitions. This way, it is possible to distinguish between groups
      of devices in the build-process in terms of package or feature
      selection.
      9c523650
  16. Mar 14, 2020
  17. Dec 29, 2019
  18. Dec 14, 2019
  19. Sep 14, 2019
  20. Aug 21, 2019
  21. Jun 17, 2019
  22. Jun 16, 2019
  23. Jun 15, 2019
    • Matthias Schiffer's avatar
      Add GLUON_DEPRECATED flag · 912490c0
      Matthias Schiffer authored
      This new build flag is mandatory for now (it may default to 0 in a future
      Gluon version). It may be set to the following values:
      
      * 0 - Do not build any images for deprecated devices.
      * upgrade - Only build sysupgrade images for deprecated devices.
      * full - Build both sysupgrade and factory images for deprecated devices.
      
      "Other" images are handled like factory images, as they are also used for
      the initial installation of Gluon on a device.
      912490c0
    • Matthias Schiffer's avatar
      Switch to Lua for target definitions · 071cf7b2
      Matthias Schiffer authored
      The old bash-based parsing code was way too complex. Replace it with Lua.
      071cf7b2
  24. Apr 28, 2019
  25. Apr 22, 2019
  26. Apr 11, 2019
  27. Feb 12, 2019
  28. Jul 15, 2018
    • David Bauer's avatar
      scripts: include binaries in patch · 6e48dede
      David Bauer authored
      This commit allows for binary content in patches created via 'make
      update-patches'.
      
      Binary patches are needed for BDFs required for al boards on the new
      ipq40xx target. Before this commit, binaries were omitted from the
      generated patch which resulted in the patch not able to apply.
      
      Patches without binary content do not differ in case they are created
      with the '--binary' flag.
      6e48dede
Loading