implement Gluon build-framework
This PR is a basic implementation of the gluon build-framework for our build-process. This idea was mainly driven by looking for a way to solve Issue #696, as our current process provides no option to define board-specific packages. See targets/ath79-generic for an example to select ath10k drivers in place of upstream-selected ath10k-ct.
The framework also brings a feature to check that all required CONFIG_options are set and packages are enabled. This way I found some faults in OpenWrt-config we used (4c975895c1c802a9f9b3a64ae4db22f4b7a15af8, a8bae2034c09fa5b568ee5afc6b108a1e949bb1b, 572abd8a8503d41a6527e9387025f2d57b35e92b).
The code is yet not a full replacement of the existing build-scripts, but it demonstrates the principle and generates usable images. Looking forward to comments and improvements
Thanks for this comment, but in a16fbfb468e7cdd2bf0e491ff40e6a379542efb2 this folder gets removed anyway
I personally think, that the folder packages or renamed imagetypes should be named packagelists or something similar. That name would meet better the expectations on the content
@Akira25 I put your suggestion into a separate PR #766
Sadly I must agree to the comment https://github.com/freifunk-berlin/firmware/pull/825#issuecomment-653529148 of @Akira25, but this PR is a working solution around issue #696. And it's the only solution I've seen so far.
I see some great advantages in this commit. Unfortunatly, I wasn't able to test out by building some images. When I just fired some plain make command, the build system asked for a site configuration. @SvenRoederer is there a readily avaiable one for Berlin?
package-src: hostapd-mini
packages : hostapd-mini
Makefile:75: *** No site configuration was found. Please check out a site configuration to /home/martin/test_gluon_framework/site. Stop.
I have a (hopefully still working) one at https://github.com/SvenRoederer/ffberlin-gluon-site. But the my goal is to not rely on a site.conf finally.
Okay, I did checkout this branch and checked out your site-configuration to the directory ./site. The build looked very promising, but stoped with that prompt:
make: *** No rule to make target '/home/martin/test_gluon_framework/configs/common.config', needed by '/home/martin/test_gluon_framework/openwrt/.config'. Stop.
I assume you just called make w/o an explicit goal, right?
I did not change the default goal yet. So have a look at the diff of the Makefile. Calling 'make gluon-compile' and 'make gluon-images' should do the trick.