1
0
Fork 0
mirror of https://github.com/JasonN3/build-container-installer.git synced 2025-12-25 10:57:55 +01:00
build-container-installer/flatpaks/Makefile
Jason N b669420287
Split Makfile and move workflow to Makefile (#88)
Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com>
2024-04-04 16:32:52 -04:00

42 lines
No EOL
1.7 KiB
Makefile

IMAGE := $(IMAGE_REPO)/$(IMAGE_NAME):$(IMAGE_TAG)
FLATPAK_DIR := $(if $(GITHUB_WORKSPACE),$(shell mktemp -d -p $(GITHUB_WORKSPACE) flatpak.XXX),$(PWD)/flatpaks)
.PHONY: full_list
full_list: repo
cat $(FLATPAK_DIR)/list.txt >&2
repo: script.sh
$(if $(GITHUB_WORKSPACE),cp script.sh $(FLATPAK_DIR)/)
docker run --rm --privileged --entrypoint bash -e FLATPAK_SYSTEM_DIR=/flatpak/flatpak -e FLATPAK_TRIGGERSDIR=/flatpak/triggers --volume $(FLATPAK_DIR):/flatpak_dir $(IMAGE) /flatpak_dir/script.sh
$(if $(GITHUB_OUTPUT),echo "flatpak_dir=$(subst $(GITHUB_WORKSPACE)/,,$(FLATPAK_DIR))" >> $(GITHUB_OUTPUT))
docker rmi $(IMAGE)
script.sh:
cat << EOF > script.sh
mkdir -p /flatpak/flatpak /flatpak/triggers
mkdir /var/tmp || true
chmod -R 1777 /var/tmp
flatpak config --system --set languages "*"
flatpak remote-add --system $(FLATPAK_REMOTE_NAME) $(FLATPAK_REMOTE_URL)
flatpak install --system -y $(FLATPAK_REMOTE_REFS)
ostree init --repo=/flatpak_dir/repo --mode=archive-z2
for i in \$$(ostree refs --repo=\$${FLATPAK_SYSTEM_DIR}/repo | grep '^deploy/' | sed 's/^deploy\///g')
do
echo "Copying \$${i}..."
ostree --repo=/flatpak_dir/repo pull-local \$${FLATPAK_SYSTEM_DIR}/repo \$$(ostree --repo=\$${FLATPAK_SYSTEM_DIR}/repo rev-parse $(FLATPAK_REMOTE_NAME)/\$${i})
mkdir -p \$$(dirname /flatpak_dir/repo/refs/heads/\$${i})
ostree --repo=\$${FLATPAK_SYSTEM_DIR}/repo rev-parse $(FLATPAK_REMOTE_NAME)/\$${i} > /flatpak_dir/repo/refs/heads/\$${i}
done
flatpak build-update-repo /flatpak_dir/repo
ostree refs --repo=/flatpak_dir/repo | tee /flatpak_dir/list.txt
EOF
install-deps:
clean:
$(if $(wildcard script.sh),rm script.sh)
$(if $(wildcard repo),rm -Rf repo)
$(if $(wildcard list.txt),rm list.txt)
.ONESHELL: