This commit is contained in:
2026-03-20 08:40:38 +01:00
parent ea00688fe9
commit b85f3d1fdd
2 changed files with 41 additions and 6 deletions

View File

@@ -2,9 +2,32 @@
--- ---
## V29 2026-03-20 07:36:03
**Fix brace expansion failure in ISO build script causing missing directories**
### Changes:
- Fixed `src/iso/build-iso-arch.sh`: replaced all bash brace expansions in `mkdir -p`
with explicit individual `mkdir -p` calls. Brace expansion (`{a,b,c}`) was silently
not expanding when the script was invoked via `sudo bash`, causing critical directories
like `/var/lib/dpack/repos/` to never be created. This was the root cause of the
`iso.rootfs.repos` test failure — the repos `cp -a` had nowhere to copy into.
- Line 61: `${ISO_DIR}/{EFI/BOOT,LiveOS,boot}` → explicit mkdir calls
- Lines 67-70: `${ROOTFS}/{bin,boot,...}` and nested var/ structure → explicit calls
- Previous V28 fixes (chmod a+rX, sudo test, debug logging) remain in place.
### Plan deviation/changes:
- None
### What is missing/needs polish:
- `qemu.kernel_boots` and `qemu.reaches_userspace` still expected failures — no real
kernel built yet (Phase 4 deliverable). ISO uses placeholder BOOTX64.EFI.
---
## V28 2026-03-20 07:26:46 ## V28 2026-03-20 07:26:46
**Fix package repos missing from ISO and harden squashfs test checks** **Fix package repos permissions and harden squashfs test checks**
### Changes: ### Changes:
- Fixed `src/iso/build-iso-arch.sh`: package repos copied into ISO now get `chmod -R a+rX` - Fixed `src/iso/build-iso-arch.sh`: package repos copied into ISO now get `chmod -R a+rX`

View File

@@ -58,16 +58,28 @@ done
# --- Clean previous build ---------------------------------------------------- # --- Clean previous build ----------------------------------------------------
info "Cleaning previous build..." info "Cleaning previous build..."
rm -rf "${BUILD_DIR}" rm -rf "${BUILD_DIR}"
mkdir -p "${ROOTFS}" "${ISO_DIR}"/{EFI/BOOT,LiveOS,boot} mkdir -p "${ROOTFS}"
mkdir -p "${ISO_DIR}/EFI/BOOT" "${ISO_DIR}/LiveOS" "${ISO_DIR}/boot"
# --- Create the live root filesystem ----------------------------------------- # --- Create the live root filesystem -----------------------------------------
info "Creating live root filesystem..." info "Creating live root filesystem..."
# Create FHS directory structure # Create FHS directory structure
mkdir -p "${ROOTFS}"/{bin,boot,dev,etc/{rc.d,sysconfig},home,lib,lib64,mnt,opt} mkdir -p "${ROOTFS}/bin" "${ROOTFS}/boot" "${ROOTFS}/dev"
mkdir -p "${ROOTFS}"/{proc,root,run,sbin,srv,sys,tmp} mkdir -p "${ROOTFS}/etc/rc.d" "${ROOTFS}/etc/sysconfig"
mkdir -p "${ROOTFS}"/usr/{bin,include,lib,lib64,sbin,share/{man,doc}} mkdir -p "${ROOTFS}/home" "${ROOTFS}/lib" "${ROOTFS}/lib64" "${ROOTFS}/mnt" "${ROOTFS}/opt"
mkdir -p "${ROOTFS}"/var/{cache,lib/{dpack/{db,repos}},log,lock,run,spool,tmp} mkdir -p "${ROOTFS}/proc" "${ROOTFS}/root" "${ROOTFS}/run" "${ROOTFS}/sbin"
mkdir -p "${ROOTFS}/srv" "${ROOTFS}/sys" "${ROOTFS}/tmp"
mkdir -p "${ROOTFS}/usr/bin" "${ROOTFS}/usr/include" "${ROOTFS}/usr/lib" "${ROOTFS}/usr/lib64"
mkdir -p "${ROOTFS}/usr/sbin" "${ROOTFS}/usr/share/man" "${ROOTFS}/usr/share/doc"
mkdir -p "${ROOTFS}/var/cache"
mkdir -p "${ROOTFS}/var/lib/dpack/db"
mkdir -p "${ROOTFS}/var/lib/dpack/repos"
mkdir -p "${ROOTFS}/var/log"
mkdir -p "${ROOTFS}/var/lock"
mkdir -p "${ROOTFS}/var/run"
mkdir -p "${ROOTFS}/var/spool"
mkdir -p "${ROOTFS}/var/tmp"
mkdir -p "${ROOTFS}"/install mkdir -p "${ROOTFS}"/install
# --- Check if we have a pre-built base system -------------------------------- # --- Check if we have a pre-built base system --------------------------------