Files
omarchy-iso/configs/airootfs/usr/local/bin/omarchy-iso-patch-archinstall
T

27 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# Patch upstream archinstall in place for two Python 3.14 / archinstall 4.3
# bugs that hit our flow:
#
# 1. logfile_target join: '/' on an absolute Path with another absolute Path
# raises. Strip leading slash so the join produces target / "var/log/..."
# instead of throwing.
#
# 2. Limine EFI copy: archinstall passes the destination directory but limine
# .copy() expects the destination file path. Two sites: limine_x64.efi
# copy and limine-bios.sys copy.
#
# Idempotent: re-running is a no-op (sed only matches the buggy form). Carry
# this until upstream Arch's packaged archinstall has the fixes.
set -eEo pipefail
target="/usr/lib/python3.14/site-packages/archinstall/lib/installer.py"
[[ -f $target ]] || { echo "archinstall installer.py not found at $target" >&2; exit 1; }
sed -i \
-e 's|logfile_target = self\.target / absolute_logfile$|logfile_target = self.target / absolute_logfile.relative_to("/")|' \
-e 's|(limine_path / file)\.copy(efi_dir_path)|(limine_path / file).copy(efi_dir_path / file)|' \
-e "s|(limine_path / 'limine-bios.sys')\.copy(boot_limine_path)|(limine_path / 'limine-bios.sys').copy(boot_limine_path / 'limine-bios.sys')|" \
"$target"