* Ensure all options start off for cmake too
* Attempt to make the build time config logic in the cmake process match the makefile process
* Add a simple muscle memory helper for cmake
* Ask them what they are smoking, then tell them to put it out
* Avoid occasional stale package cache errors
* Convert zstd feature to default disable
* All autoconf test use one standard template
To simplify the testing, cross-compilation and repeatable build process,
no configure options are automatically probed for - they all default to
off and are all using the same template.
The --with-x options should be deprecated and replaced with --enable-x
because there is no syntax checking for --with options in autoconf.
There are still some differences between the config options, but this
should provide a starting point.
* Remove unused code from the autoconf
* Remove warnings from default build
* Avoid calling port mapping functions if none are enabled
* Start with all builds in neutral config
* Add more missing code guards
* Adjust code guard location to placate cmake
* First attempt at a openwrt CI
* Fix action - helps if I dont forget the syntax half way through writing it
* Try building /this/ branch for the openwrt CI
* Try a build with openssl configured
* Dont enable the n2n package until we have built the environment - makes errors easier to see and clearly related to n2n
* Attempt to speed up the openwrt build
* Upload any created ipkg packages
* Dont test with openssl for the moment
* Attempt to speed up openwrt build using a cache of the build dir
* The make defconfig run turns all the built binaries stale, so stop caching them. Also use a real ref for the cache key
* Minor text name changes
* Address yamllint concerns
* Attempt to simplify and document missing parts of the openwrt makefile
* Attempt to fix mystery openwrt make error
* Rename build job name
* Avoid nested checkouts, use two separate dirs for the two checkouts in this build
* Move the n2n checkout to earler, allowing us to skip one defconfig run
* We are going to need working tags from the n2n repo, so ensure we unbreak the github checkout braindamage
* Calculate and save the n2n version string
* Prepare the way to pass the correct external vars into the openwrt build
* Hook calculated build variables into the openwrt package definition
* Update artifacts source to match moved checkout dir
* Pass env vars in to the make
* Allow version script to be influenced by external vars
* It will help if I use the same variable names everywhere
* Add more version variable calculation overrides
* Configure openwrt to use the external git checkout instead of their create-tar-then-extract dance
* Using the correct syntax for ifdef will help significantly
* Use as many jobs as we have cpus
* As the USE_SOURCE_DIR option allows us to use a full git checkout, we do not need to hack the version.sh to allow overrides
* Ensure scripts/version.sh works from anywhere
* Remove unneeded variables
* Update openwrt build documentation to match the new build process
* Catch failure to cd as per shellcheck suggestion
* Limit lengthy openwrt builds to manual triggers or on a release
* Also run on specially named branches
* Break list into separate lines for easier future editing
The right number of commits to fetch is enough to be able to create
a `git describe` result - basically back until the most recent parent
annotated tag.
However, the github action/checkout@v2 only allows a simple number,
which is basically the answer to "how long is a piece of string"