51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| # Copyright (C) 2023  Umorpha Systems
 | |
| # SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| 
 | |
| export osi_tools = $(CURDIR)/../notsystemd-tests
 | |
| PATH := $(osi_tools):$(PATH)
 | |
| 
 | |
| all: $(patsubst %.sh,%.rootfs.img,$(wildcard images/*.sh))
 | |
| .PHONY: all
 | |
| 
 | |
| .SECONDARY:
 | |
| .DELETE_ON_ERROR:
 | |
| 
 | |
| ################################################################################
 | |
| 
 | |
| deps.mk: images $(wildcard images/*.sh)
 | |
| 	grep -H -o -e '--module=\S*' images/*.sh | sed -E 's,images/([^:]*).sh:--module=(.*),images/\1.rootfs.img: \2,' >$@
 | |
| -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
 | |
| 
 | |
| run/%: images/%.gpt.img
 | |
| 	qemu-system-x86_64 \
 | |
| 	  -accel kvm \
 | |
| 	  -m 2G \
 | |
| 	  -drive if=pflash,format=raw,readonly=on,file=/usr/share/ovmf/x64/OVMF.fd \
 | |
| 	  -drive file=images/$*.gpt.img,format=raw \
 | |
| 	  -net user,hostfwd=tcp::8022-:22,hostfwd=tcp::8080-:80 -net nic
 | |
| .PHONY: run/%
 | |
| 
 | |
| deploy/%: images/%.rootfs.img vultr/%.sh
 | |
| 	vultr/$*.sh
 | |
| .PHONY: deploy/%
 | |
| 
 | |
| ################################################################################
 | |
| 
 | |
| 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" \
 | |
| 	    <modules/service-gitea.sh.in >$@
 |