27 lines
1.2 KiB
Bash
Executable File
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"
|