openwrtv4/target
Jo-Philipp Wich b9aca834e8 at91: fix image building with CONFIG_TARGET_MULTI_PROFILE
The current image build code has a number of race conditions and interface
contract violations in the custom image build steps:

 - Build/install-zImage, solely used by at91, relies on $(PROFILE_SANITIZED)
   which is not available when building with CONFIG_TARGET_MULTI_PROFILE

 - Build/at91-sdcard, which may run concurrently, creates scratch files at
   fixed locations and manipulates target files directly which can lead
   to file corruption and other unexpected failures

Rename the install-zImage macro to at91-install-zImage and move it to the
at91 image Makefile since this target is the sole user. Also utilize "$@"
as output file name and switch the usage of $(PROFILE_SANITIZED) to
$(DEVICE_NAME) in order to fix naming under multi profile builds.

Fix the at91-sdcard macro to construct scratch file paths relative to "$@",
which is guaranteed to be unique and store the final artifact output in "$@"
as well, instead of inside $(BIN_DIR). The generic image build code takes
care of moving a build steps "$@" output to the final destination in a
concurrency-safe manner.

Finally remove the broken install-zImage from the generic image-commands
Makefile.

Fixes: d7a679a036 ("at91: Install zImage.")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-02-14 15:47:16 +01:00
..
imagebuilder imagebuilder: fix reference to removed VERSION_SED variable 2018-02-02 14:41:35 +01:00
linux at91: fix image building with CONFIG_TARGET_MULTI_PROFILE 2018-02-14 15:47:16 +01:00
sdk sdk: change base feed fallback to git.openwrt.org 2018-01-11 18:20:07 +01:00
toolchain merge: etc: update remaining files 2017-12-08 19:41:18 +01:00
Config.in config: set ARCH if powerpc64 is selected in the configuration 2017-10-24 13:24:04 +02:00
Makefile build: make <subdir>/install opt-in, use it for target/ only 2017-02-09 13:51:35 +01:00