Use host tools from build container

Instead of building host tools along with the target packages, we now
rely on the build container to contain everything we need to build Aimee
OS.  The _aimee-os.org/build/build-{target}_ image (tentative name)
includes a cross-compilation toolchain and all of the tools that were
originally listed in `host-tools.packages`.
gentoo
Dustin 2024-12-05 17:56:34 -06:00
parent 0672a80dee
commit 70771c8067
4 changed files with 2 additions and 33 deletions

View File

@ -17,16 +17,6 @@ $(O)/.prepared: \
prepare: $(O)/.prepared prepare: $(O)/.prepared
$(O)/.host-tools: \
build-host-tools.sh \
host-tools.packages \
$(shell find $(CONFIGDIR)/portage/host -type f) \
$(O)/.prepared
./build-host-tools.sh
touch $(O)/.host-tools
host-tools: $(O)/.host-tools
$(O)/.built: \ $(O)/.built: \
build.sh \ build.sh \
build.packages \ build.packages \
@ -34,7 +24,6 @@ $(O)/.built: \
$(CONFIGDIR)/build.packages \ $(CONFIGDIR)/build.packages \
$(CONFIGDIR)/install.packages \ $(CONFIGDIR)/install.packages \
$(shell find $(CONFIGDIR)/portage/target -type f) \ $(shell find $(CONFIGDIR)/portage/target -type f) \
$(O)/.host-tools \
$(O)/.prepared $(O)/.prepared
./build.sh ./build.sh
touch $(O)/.built touch $(O)/.built
@ -56,7 +45,6 @@ $(O)/.ready: \
$(O)/semanage.mods \ $(O)/semanage.mods \
$(shell find overlay -type f) \ $(shell find overlay -type f) \
$(shell find $(CONFIGDIR)/overlay -type f 2>/dev/null) \ $(shell find $(CONFIGDIR)/overlay -type f 2>/dev/null) \
$(O)/.host-tools \
$(O)/.built $(O)/.built
./build-rootfs.sh "$(O)" ./build-rootfs.sh "$(O)"
touch $(O)/.ready touch $(O)/.ready
@ -83,7 +71,6 @@ squashfs: $(IMAGESDIR)/rootfs.squashfs
$(O)/linux/arch/arm64/boot/Image.gz: \ $(O)/linux/arch/arm64/boot/Image.gz: \
build-kernel.sh \ build-kernel.sh \
$(CONFIGDIR)/linux.config \ $(CONFIGDIR)/linux.config \
$(O)/.host-tools \
$(O)/.prepared $(O)/.prepared
./build-kernel.sh "$(O)" ./build-kernel.sh "$(O)"
@ -92,7 +79,6 @@ kernel: $(O)/linux/arch/arm64/boot/Image.gz
$(O)/efi-part/EFI/BOOT/BOOTAA64.efi: \ $(O)/efi-part/EFI/BOOT/BOOTAA64.efi: \
build-grub.sh \ build-grub.sh \
grub.cfg \ grub.cfg \
$(O)/.host-tools \
$(O)/.prepared $(O)/.prepared
./build-grub.sh "$(O)" ./build-grub.sh "$(O)"
@ -115,18 +101,16 @@ $(IMAGESDIR)/update.tar.zstd: \
$(IMAGESDIR)/rootfs.squashfs \ $(IMAGESDIR)/rootfs.squashfs \
$(IMAGESDIR)/firmware.img \ $(IMAGESDIR)/firmware.img \
install-update.sh \ install-update.sh \
$(O)/.host-tools \
$(O)/.prepared $(O)/.prepared
./build-update.sh "$(IMAGESDIR)" ./build-update.sh "$(IMAGESDIR)"
clean: clean:
rm -rf $(O)/linux $(O)/output $(IMAGESDIR) $(O)/tmp rm -rf $(O)/linux $(O)/output $(IMAGESDIR) $(O)/tmp
rm -f $(O)/.prepared $(O)/.host-tools rm -f $(O)/.prepared
.PHONY: \ .PHONY: \
build \ build \
grub \ grub \
host-tools \
kernel \ kernel \
prepare \ prepare \
sdcard.img \ sdcard.img \

View File

@ -1,6 +0,0 @@
#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
PORTAGE_CONFIGROOT="${CONFIGDIR:=${PWD}}"/portage/host \
< host-tools.packages xargs -ro \
emerge -vnuUj --rebuilt-binaries=y

View File

@ -1,9 +0,0 @@
sec-policy/selinux-base
sys-apps/policycoreutils
sys-apps/systemd
sys-boot/grub
sys-fs/btrfs-progs
sys-fs/dosfstools
sys-fs/genimage
sys-fs/mtools
sys-fs/squashfs-tools

View File

@ -17,5 +17,5 @@ podman run \
-w /tmp/src \ -w /tmp/src \
-d \ -d \
-e FEATURES='-ipc-sandbox -network-sandbox -pid-sandbox' \ -e FEATURES='-ipc-sandbox -network-sandbox -pid-sandbox' \
cross-${target} \ aimee-os.org/build/build-${target} \
python -c 'from signal import *;signal(SIGTERM, lambda x, y: None);pause()' python -c 'from signal import *;signal(SIGTERM, lambda x, y: None);pause()'