summaryrefslogtreecommitdiff
path: root/just_scripts/build-live-installer.sh
blob: 16b371edc6bf4545ac28d517def7334b206154ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env bash

set -euo pipefail

project_root="$(git rev-parse --show-toplevel)"
cd "${project_root}"

image_name="${IMAGE_NAME:-$(just image_name)}"
image_tag="${IMAGE_TAG:-$(just generate-default-tag)}"
base_image="${BASE_IMAGE:-ghcr.io/ublue-os/bazzite:stable}"
payload="localhost/${image_name}:live-payload"
output_dir="${project_root}/output"
api_socket="${PODMAN_SOCKET:-/run/podman/podman.sock}"
if [[ "${EUID}" -eq 0 ]]; then
  podman_cmd=(podman)
else
  podman_cmd=(sudo podman)
fi

if [[ ! -S "${api_socket}" ]]; then
  echo "Podman API socket not found: ${api_socket}" >&2
  echo "Set PODMAN_SOCKET to the rootful Podman socket and retry." >&2
  exit 1
fi

mkdir -p "${output_dir}"
"${podman_cmd[@]}" tag "${image_name}:${image_tag}" "${payload}"

"${podman_cmd[@]}" build \
  --cap-add sys_admin \
  --security-opt label=disable \
  --build-arg "BASE_IMAGE=${base_image}" \
  --build-arg "INSTALL_IMAGE_PAYLOAD=${payload}" \
  --tag localhost/aerocore-live-payload:latest \
  --file installer/Containerfile \
  .

"${podman_cmd[@]}" run --rm --privileged \
  --volume "${api_socket}:/var/run/docker.sock" \
  --volume "${project_root}/output:/build-container-installer/build" \
  --volume "${project_root}/installer/lorax_templates:/additional_lorax_templates:ro" \
  docker.io/jasonn3/build-container-installer:latest \
  ADDITIONAL_TEMPLATES="/additional_lorax_templates/remove_root_password_prompt.tmpl /additional_lorax_templates/set_default_user.tmpl" \
  ARCH="x86_64" \
  ENABLE_CACHE_DNF="false" \
  ENABLE_CACHE_SKOPEO="false" \
  ENABLE_FLATPAK_DEPENDENCIES="false" \
  IMAGE_NAME="aerocore-live-payload" \
  IMAGE_REPO="localhost" \
  IMAGE_TAG="latest" \
  ISO_NAME="build/aerocore-os-${image_tag}-amd64.iso" \
  VARIANT="Kinoite" \
  VERSION="${FEDORA_VERSION:-44}"

iso="${output_dir}/aerocore-os-${image_tag}-amd64.iso"
if [[ -f "${iso}" ]]; then
  sha256sum "${iso}" | tee "${iso}-CHECKSUM"
fi