Skip to content
Snippets Groups Projects
  1. Dec 19, 2023
  2. Oct 18, 2023
  3. Dec 24, 2021
  4. Jul 23, 2021
    • lemoer's avatar
      contrib: add push_pkg.sh to enhance package development workflow (v2) (#2023) · d4dee692
      lemoer authored
      v2: In contrast to the last patches, this is now built on top of ssh
          only, without using e.g. 9pfs. Furthermore it works also with
          arbitary remote hosts on any target/architecture. Also the
          scripts were renamed and moved to /scripts.
      
      The aim of this commit is to allow fast rebuild cycles during the
      development of gluon packages.
      
      Currently the following workflow can be used:
      
      	# start a local qemu instance
      	scripts/run_qemu.sh output/images/factory/[...].img
      
      	# do your changes in the file you want to patch
      	vi package/gluon-ebtables/files/etc/init.d/gluon-ebtables
      
      	# rebuild and update the package
      	scripts/push_pkg.sh package/gluon-ebtables/
      
      	# test your changes
      	...
      
      	# do more changes
      	...
      
      	# rebuild and update the package
      	scripts/push_pkg.sh package/gluon-ebtables/
      
      	# test your changes
      	...
      
      	(and so on...)
      
      Implementation details:
      - Currently this is based on ssh/scp.
      - Opkg is used to install/update the packages in the remote machine.
      
      Benefits:
      - This works with compiled and non-compiled packages.
      - This works with native OpenWrt and Gluon packages.
      - This even performs the check_site.lua checks as they are integrated
        as post_install scripts into the openwrt package.
      - It works for all architectures/targets.
      Unverified
      d4dee692
  5. 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
  6. Aug 13, 2020
  7. 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
  8. Jun 29, 2019
  9. Mar 10, 2019
  10. Jun 23, 2018
Loading