76 lines
2.6 KiB
Makefile
76 lines
2.6 KiB
Makefile
RELEASE_VER_MAJOR = 9
|
|
RELEASE_VER_MINOR = 4
|
|
ARCH = $(shell uname -m)
|
|
RELEASE_NAME = rocky-linux-ostree-$(ARCH)-$(RELEASE_VER_MAJOR).$(RELEASE_VER_MINOR)
|
|
DEFAULT_OSTREE_REMOTE = https://dl.rockylinux.org/pub/sig/$(RELEASE_VER_MAJOR)/ostree/$(ARCH)/standard/
|
|
MOCK_CONFIG = rocky-$(RELEASE_VER_MAJOR)-$(ARCH)
|
|
|
|
|
|
.PHONY: all
|
|
all: init tree iso
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf ./repo ./cache
|
|
|
|
.PHONY: init
|
|
init: clean
|
|
mkdir -p ./{repo,cache,images}
|
|
ostree --repo=./repo init --mode=archive
|
|
|
|
.PHONY: mirror
|
|
mirror: init
|
|
ostree --repo=./repo remote add rockylinux --set=gpg-verify=false $(DEFAULT_OSTREE_REMOTE) && \
|
|
ostree --repo=./repo pull --mirror rockylinux rockylinux/$(RELEASE_VER_MAJOR)/$(ARCH)/minimal/devel && \
|
|
ostree --repo=./repo summary --update
|
|
|
|
.PHONY: tree
|
|
tree:
|
|
rpm-ostree compose tree --repo=./repo --cachedir=./cache --unified-core ../manifest.9-minimal.yaml && \
|
|
ostree summary --repo=./repo --update
|
|
|
|
.PHONY: iso
|
|
iso:
|
|
mock -r $(MOCK_CONFIG) --clean
|
|
mock -r $(MOCK_CONFIG) --init
|
|
mock -r $(MOCK_CONFIG) --install lorax ostree
|
|
mock -r $(MOCK_CONFIG) --copyin $$(pwd)/repo /builddir/repo
|
|
mock -r $(MOCK_CONFIG) --copyin $$(pwd)/lorax-templates /builddir/lorax-templates
|
|
mock -r $(MOCK_CONFIG) --enable-network --chroot "cd /builddir && \
|
|
lorax --product='Rocky Linux OSTree' \
|
|
--version=$(RELEASE_VER_MAJOR) \
|
|
--release=$$(date +%Y%m%d) \
|
|
--variant=R$(RELEASE_VER_MAJOR) \
|
|
--skip-branding \
|
|
--installpkgs rocky-release* \
|
|
--installpkgs rocky-logos-$(RELEASE_VER_MAJOR)* \
|
|
--installpkgs ostree* \
|
|
--source=https://dl.rockylinux.org/pub/rocky/$(RELEASE_VER_MAJOR)/BaseOS/$(ARCH)/os/ \
|
|
--source=https://dl.rockylinux.org/pub/rocky/$(RELEASE_VER_MAJOR)/AppStream/$(ARCH)/os/ \
|
|
--nomacboot \
|
|
--volid=$(RELEASE_NAME) \
|
|
--add-template=/builddir/lorax-templates/lorax-configure-repo.tmpl \
|
|
--add-template=/builddir/lorax-templates/lorax-embed-repo.tmpl \
|
|
--add-template-var=ostree_install_repo=file:///builddir/repo \
|
|
--add-template-var=remote_url=$(DEFAULT_OSTREE_REMOTE) \
|
|
--add-template-var=default_ref=rockylinux/$(RELEASE_VER_MAJOR)/$(ARCH)/minimal/devel \
|
|
--logfile=/builddir/lorax.log \
|
|
--tmp=/builddir/tmp \
|
|
--rootfs-size=8 \
|
|
/builddir/completed-iso"
|
|
mock -r $(MOCK_CONFIG) --copyout /builddir/completed-iso/images/boot.iso $$(pwd)/images/$(RELEASE_NAME).iso
|
|
|
|
|
|
.PHONY: test-server
|
|
test-server:
|
|
podman stop ostree-test-server --ignore && \
|
|
podman rm ostree-test-server --ignore && \
|
|
podman run -d \
|
|
--name=ostree-test-server \
|
|
-p 9001:80 \
|
|
-v ./repo:/usr/share/nginx/repo \
|
|
-v ./nginx.conf:/etc/nginx/nginx.conf \
|
|
--security-opt label=disable \
|
|
nginx
|
|
|