openwrt/include
Christian Marangi a812b70bf2
image: make images and artifacts dependent of initramfs
There is currently a BIG bug in how the images dependency is handled and
recent Per Device Rootfs made this more clear and less statistical.

There is currently no dependency between images/artifacts build with
initramfs build. This cause whatever additional image that depends on an
initramfs image to fail as it might happen that image and initramfs
build are called at the same time and the additional image is called
before initramfs build has finished.

Each image-command assume the source image to be taken from the /bin
directory but that is only copied from the /tmp directory only at the
end of the process.

Artifacts currently depends on image with the use of the
BOARD-NAME-images Makefile target, but this is not the case for
initramfs that also define a -images Makefile target but that is not
accounted in images (that might depend on some initramfs images)

To actually fix this, introduce a new Makefile target, -initramfs-images
and make image and artifacts build to depend on this. Since initramfs
images are optional, this dependency is actived only when initramfs
image are built.

With this change we correctly enforce the build order:
- Initramfs Images (optional)
- Images
- Artifacts

(cherry picked from commit cc6a0abcab)
[ rebased on openwrt-23.05 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-09 04:49:11 +02:00
..
site generic: groundwork for RISC-V 2023-06-14 09:22:08 +02:00
autotools.mk autotools: add list of fake paths to tools 2023-05-04 06:07:26 +02:00
bpf.mk bpf: ignore missing LLVM bins on package for non compile steps 2023-01-19 00:29:09 +01:00
cmake.mk treewide: drop use of which 2022-01-17 09:14:26 +01:00
debug.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
depends.mk build: make find_md5 reproducible with AUTOREMOVE 2022-09-30 22:26:51 +02:00
device_table.txt image: ensure that /dev/console exist in rootfs images 2013-08-27 12:02:58 +00:00
download.mk download: create immutable subversion checkout archive 2023-05-18 16:17:52 +02:00
feeds.mk build: ensure that dash isn't prepended twice to abi version suffix 2021-06-15 09:58:33 +02:00
hardened-ld-pie.specs build: add hardened builds with PIE (ASLR) support 2018-01-27 16:46:45 +01:00
hardening.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
host-build.mk host-build: always define Host/Prepare/Default 2024-05-22 11:59:23 +02:00
image-commands.mk mediatek: Moved recovery image creation to include/image-commands.mk 2024-07-08 22:51:11 +02:00
image.mk image: make images and artifacts dependent of initramfs 2024-07-09 04:49:11 +02:00
kernel-5.15 kernel: bump 5.15 to 5.15.162 2024-07-08 21:26:43 +02:00
kernel-build.mk kernel-build.mk: add support for compiling only DTS 2024-02-10 13:29:27 +01:00
kernel-defaults.mk image: Fix the CONFIG_EXTERNAL_CPIO logic 2023-10-24 14:38:58 +02:00
kernel-version.mk kernel: fix wrong detection of Linux-Testing-Version in makefile DUMP 2023-06-12 22:10:11 +02:00
kernel.mk kernel: fix KernelPackage when all KCONFIG are versioned 2023-07-08 15:43:59 +02:00
logo.png include: update logo with better kerning 2021-01-18 09:31:39 -10:00
logo.svg include: update logo with better kerning 2021-01-18 09:31:39 -10:00
meson.mk tools/meson: update to 0.61.4 2022-04-09 15:56:04 +02:00
netfilter.mk kernel: Extract kmod-nf-dup-inet 2024-07-08 21:13:24 +02:00
nls.mk nls.mk: fixup cmake packages 2022-11-27 00:52:06 +01:00
openssl-module.mk openssl: add legacy provider 2023-04-05 08:24:49 -03:00
package-bin.mk build: allow package to be built for all variants 2021-11-15 00:38:46 +01:00
package-defaults.mk build: disable automake dependency tracking 2023-03-13 22:53:41 +01:00
package-dumpinfo.mk package-dumpinfo,metadata: add ABI version information to package index 2023-11-02 14:44:46 +00:00
package-ipkg.mk tools: build bash on macOS and use it for ipkg-build 2022-01-27 13:38:48 +01:00
package-seccomp.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
package.mk build: export GIT_CEILING_DIRECTORIES for package builds 2023-06-07 09:04:23 +02:00
prereq-build.mk prereq-build: remove python 2 cleanup recipe 2023-05-21 19:57:06 +02:00
prereq.mk prereq: merge common cases in SetupHostCommand 2023-10-27 01:03:38 +02:00
quilt.mk quilt.mk: don't error on refresh/update if patches doesn't exist 2024-05-22 12:24:53 +02:00
rootfs.mk build: reduce cleanup binary calls in rootfs.mk 2020-12-05 22:07:00 -10:00
scan.awk build: propagate override information to .packageinfo 2015-02-09 12:09:31 +00:00
scan.mk scan.mk: do not silence output of dump phase 2023-11-13 14:02:38 +01:00
shell.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
subdir.mk kernel-build.mk: add support for compiling only DTS 2024-02-10 13:29:27 +01:00
target.mk target.mk: fix arm architecture level detection 2024-07-07 13:56:14 +02:00
toolchain-build.mk toolchain: fix dangling symlink to self in FixupLibdir 2022-07-01 19:17:36 +02:00
toplevel.mk treewide: add ORIG_PATH variable 2023-06-12 22:10:20 +02:00
trusted-firmware-a.mk trusted-firmware-a.mk: fix build with binutils 2.39+ 2023-01-21 11:55:23 +01:00
u-boot.mk u-boot.mk: add support for config customization 2023-06-13 14:15:21 +02:00
uclibc++.mk uclibc++: remove 2021-10-24 18:20:50 +02:00
unpack.mk include: use libdeflate's gzip to decompress 2023-01-17 21:40:18 +01:00
verbose.mk verbose.mk: print ERROR messages in non-verbose 2022-02-28 23:52:13 +01:00
version.mk OpenWrt v23.05.3: revert to branch defaults 2024-03-22 23:26:12 +01:00