# Copyright (C) 2023 Umorpha Systems # SPDX-License-Identifier: AGPL-3.0-or-later SHELL = bash export osi_tools = $(CURDIR)/../notsystemd-tests PATH := $(osi_tools):$(PATH) all: $(patsubst %.sh,%.rootfs.img,$(wildcard images/*.sh)) .PHONY: all .SECONDARY: .DELETE_ON_ERROR: # Nothing here is parallel-unsafe, but it just makes the output (and # especially `sudo` prompts) hard to read. .NOTPARALLEL: ################################################################################ deps.mk: images $(wildcard images/*.sh) grep -H -o -e '--module=\S*' -e '--package-file=\S*' -- images/*.sh | sed -E 's,images/([^:]*).sh:--(module|package-file)=(.*),images/\1.rootfs.img: \3,' >$@ -include deps.mk images/%.rootfs.img: images/%.sh rm -f $@ $< $@ chmod 444 $@ images/%.gpt.img: images/%.rootfs.img bin/umorpha-install rm -f $@ truncate --size=3G $@ sudo bin/umorpha-install images/$*.rootfs.img $@ images/%.bootstrap.iso: images/%.rootfs.img images/bootstrap.rootfs.img bin/mkbootstrapiso bin/mkbootstrapiso $< $@ qemu-bios = qemu-system-x86_64 qemu-bios += -accel kvm qemu-bios += -m 2G qemu-bios += -net user,hostfwd=tcp::8022-:22,hostfwd=tcp::8080-:80 -net nic qemu-uefi = $(qemu-bios) -drive if=pflash,format=raw,readonly=on,file=/usr/share/ovmf/x64/OVMF.fd run-bios/%.img: images/%.img cp --reflink -- $< $<.tmp chmod 644 $<.tmp $(qemu-bios) -drive media=disk,if=virtio,format=raw,file=$<.tmp run-bios/%.iso: images/%.iso truncate --size=3G $<.tmp $(qemu-bios) -drive media=disk,if=virtio,format=raw,file=$<.tmp -cdrom $< .PHONY: run-bios/% run-uefi/%.img: images/%.img cp --reflink -- $< $<.tmp chmod 644 $<.tmp $(qemu-uefi) -drive media=disk,if=virtio,format=raw,file=$<.tmp .PHONY: run-ueif/% deploy/%: images/%.bootstrap.iso vultr/%.sh vultr/$*.sh .PHONY: deploy/% ################################################################################ grub-2_2.12rc1-5-x86_64.pkg.tar.zst: wget -O $@ https://archlinux.org/packages/core/x86_64/grub/download/ modules/umorpha-bootstrap.sh: modules/umorpha-bootstrap.sh.in modules/umorpha-bootstrap.sh: bin/umorpha-install sed $$'/@UMORPHA_INSTALL_CONTENT@/{\nr bin/umorpha-install\nd\n}' $@ modules/service-gitea.sh: modules/service-gitea.sh.in modules/service-gitea.sh: secrets/gitea-infomaniak-clientid.txt modules/service-gitea.sh: secrets/gitea-infomaniak-clientsecret.txt sed \ -e "s,@CLIENT_ID@,$$(cat secrets/gitea-infomaniak-clientid.txt),g" \ -e "s,@CLIENT_SECRET@,$$(cat secrets/gitea-infomaniak-clientsecret.txt),g" \ $@