buildscript: Apply variant to builddir in build step

The build variant previously only got applied in the prepare
step. Therefore selecting a new variant for a subsequent build
without calling prepare again produced a build with a different
variant than the selected one.

As the filename and version number is evaluated in the prebuild
step, which is called on every build, the version number did use
selected variant, so the build variant did not match the variant
in the version string.

As applying the variant only causes the fff-base package to be
fully rebuilt, this step is moved into a function and also executed
in buildscripts prebuild step. It is therefore always applied when
starting a new build.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Fabian Bläse 2019-11-10 16:33:56 +01:00
parent 2b77353685
commit 441e3a8e3c
1 changed files with 12 additions and 4 deletions

View File

@ -131,10 +131,9 @@ prepare() {
patch_target
# set the variant for this build
cp "./src/packages/fff/fff/variant-$(cat selected_variant).mk" "$builddir"/variant.mk
# force the reevaluation of this Makefile to make note of the new variant
touch ./src/packages/fff/fff/Makefile
# apply variant to ensure the included file "variant.mk"
# exists in builddir.
apply_variant
#saves ~200MB for each build
test -d ./src/dl || mkdir ./src/dl
@ -143,6 +142,13 @@ prepare() {
update_feeds
}
apply_variant() {
# set the variant for this build
cp "./src/packages/fff/fff/variant-$(cat selected_variant).mk" "$builddir"/variant.mk
# force the reevaluation of this Makefile to make note of the new variant
touch ./src/packages/fff/fff/Makefile
}
update_feeds() {
## generate own feeds.conf
#this local variable should be globally configure variable used in get_source and here
@ -177,6 +183,8 @@ update_feeds() {
}
prebuild() {
apply_variant
#create filesdir for our config
/bin/rm -rf "$builddir"/files
mkdir "$builddir"/files