Building Locally (Bluefin Example)
-
Clone this repository and
cdinto the working directorygit clone https://github.com/ublue-os/bluefin.git cd bluefin -
Make modifications if desired
-
Build the image (Note that this will download and the entire image)
podman build . -t bluefin -
Podman push to a registry of your choice.
-
Rebase to your image to wherever you pushed it:
sudo rpm-ostree rebase ostree-image-signed:docker://whatever/bluefin:latest
Justfile Overview
This Justfile defines various tasks for managing and building container images and ISOs for a development environment. Here is an overview and some important points:
Aliases and Variables:
project_rootandgit_branchvariables are used to fetch the project’s root directory and the current Git branch respectively.runis an alias forrun-container.
Default Task:
_defaulttask runsjust help, which displays a help message.
Container and Image Management:
_container_mgr: Executes a script to manage containers._base_image image: Executes a script to set the base image._tag image target: Executes a script to tag an image with a target.
Just Syntax Checking and Fixing:
just-check: Checks the syntax of all.justfiles in the project.just-fix: Fixes the syntax of all.justfiles in the project.
Build and Run Tasks:
build image="" target="" version="": Builds an image with specified parameters.run-container image="" target="" version="": Runs a container with specified parameters.- Commented out tasks (
run-booted-guestandrun-booted-home) suggest options for running booted images with different configurations.
ISO Management:
build-iso image="" target="" version="": Creates an ISO from a local dev build image.build-iso-installer-main image="" target="" version="": Creates an ISO usingbuild-container-installer:main.run-iso image="" target="" version="": Runs an ISO.build-iso-ghcr image="" target="" version="": Creates an ISO from the current GHCR image.
Cleanup and Listing:
clean: Cleans the directory by removing ISOs and build files.clean-images: Removes built images.list-images: Lists built images.
Private Help Task:
help: Displays a help message explaining the usage of the Justfile.
Specific Build Tasks:
bluefin: Builds thebluefinimage withbasetarget andgtsversion.bluefin-dx: Builds thebluefinimage withdxtarget andgtsversion.bluefin-iso: Builds an ISO for thebluefinimage withbasetarget andgtsversion.bluefin-dx-iso: Builds an ISO for thebluefinimage withdxtarget andgtsversion.aurora: Builds theauroraimage withbasetarget andstableversion.aurora-dx: Builds theauroraimage withdxtarget andstableversion.aurora-iso: Builds an ISO for theauroraimage withbasetarget andstableversion.aurora-dx-iso: Builds an ISO for theauroraimage withdxtarget andstableversion.
This Justfile is designed to streamline the process of building, running, and managing container images and ISOs in a development environment. The scripts in the scripts directory are responsible for the actual operations, while the Justfile provides an easy-to-use interface for developers.