immortalwrt/include
Paul Spooren f20e414b79
build: refactor JSON info files to profiles.json
JSON info files contain machine readable information of built profiles
and resulting images. These files were added in commit 881ed09ee6
("build: create JSON files containing image info").

They are useful for firmware wizards and script checking for
reproducibility.

Currently all JSON files are stored next to the built images, resulting
in up to 168 individual files for the ath79/generic target.

This patch refactors the JSON creation to store individual per image
(not per profile) files in $(BUILD_DIR)/json_info_files and create an
single overview file called `profiles.json` in the target directory.

Storing per image files and not per profile solves the problem of
parallel file writes. If a profiles sysupgrade and factory image are
finished at the same time both processes would write to the same JSON
file, resulting in randomly broken outputs.

Some target like x86/64 do not use the image code yet, resulting in
missing JSON files. If no JSON info files were created, no
`profiles.json` files is created as it would be empty anyway.

As before, this creation is enabled by default only if `BUILDBOT` is set.

Tested via buildroot & ImageBuilder on ath79/generic, imx6 and x86/64.

Signed-off-by: Paul Spooren <mail@aparcar.org>
[json_info_files dir handling in Make, if case refactoring]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-11-14 23:29:53 +08:00
..
site fix permisson 2019-08-16 15:09:42 +08:00
autotools.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
cmake.mk cmake: Disable use of package registries 2020-08-25 12:17:05 +08:00
debug.mk Revert "files: sync from openwrt v19.07 (#2690)" 2020-02-03 12:33:25 +08:00
depends.mk fix permisson 2019-08-16 15:09:42 +08:00
device_table.txt fix permission 2019-09-30 13:52:50 +08:00
download.mk build: prevent excessive re-evaluation of PKG_VERSION 2020-10-17 11:51:24 +08:00
feeds.mk build: FeedSourcesAppend add kmod feed to snapshot 2020-10-31 10:23:48 +08:00
hardened-ld-pie.specs fix permission 2019-09-30 13:52:50 +08:00
hardening.mk Revert "files: sync from openwrt v19.07 (#2690)" 2020-02-03 12:33:25 +08:00
host-build.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
image-commands.mk scripts: mkits.sh make it possible to specify fdt@# 2020-09-26 11:33:12 +08:00
image-legacy.mk fix permisson 2019-08-16 15:09:42 +08:00
image.mk build: refactor JSON info files to profiles.json 2020-11-14 23:29:53 +08:00
kernel-build.mk build: filter out more autogenerated kernel config options 2020-11-14 13:52:03 +08:00
kernel-defaults.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
kernel-version.mk kernel: bump to 4.9.243, 4.14.206, 4.19.157 2020-11-14 17:43:10 +08:00
kernel.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
netfilter.mk kernel/iptables: add modules for qos-gargoyle 2020-02-25 23:03:16 +08:00
nls.mk fix permisson 2019-08-16 15:09:42 +08:00
package-bin.mk fix permisson 2019-08-16 15:09:42 +08:00
package-defaults.mk build: allow file modes per binary package 2020-09-10 17:18:58 +08:00
package-dumpinfo.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
package-ipkg.mk build: allow file modes per binary package 2020-09-10 17:18:58 +08:00
package-seccomp.mk fix permisson 2019-08-16 15:09:42 +08:00
package.mk build: fix extreme build system slowdown caused by SOURCE_DATE_EPOCH changes 2020-09-06 11:32:18 +08:00
prereq-build.mk build, imagebuilder: Do not require compilers 2020-10-09 11:29:12 +08:00
prereq.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
quilt.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
rootfs.mk treewide: replace which with command -v 2020-08-13 23:30:21 +08:00
scan.awk fix permisson 2019-08-16 15:09:42 +08:00
scan.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
shell.sh add luci-app-haproxy & luci-app-udpspeederv2 2019-05-25 21:05:51 +08:00
subdir.mk fix permisson 2019-08-16 15:09:42 +08:00
target.mk build: filter out more autogenerated kernel config options 2020-11-14 13:52:03 +08:00
toolchain-build.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
toplevel.mk build: dump effective user/group id mapping to file 2020-09-15 11:36:54 +08:00
u-boot.mk u-boot.mk: switch download to https 2020-04-27 08:55:20 +08:00
uclibc++.mk sync build script for OpenWrt 19.07 2020-02-21 02:41:00 +08:00
unpack.mk build: add zstd support to pack/unpack functions 2020-05-31 19:37:36 +08:00
verbose.mk fix permisson 2019-08-16 15:09:42 +08:00
version.mk build: switch VERSION_REPO to HTTPS 2020-09-01 17:33:44 +08:00