diff --git a/kickstart/veilor-os.ks b/kickstart/veilor-os.ks index cfc32f0..e84222c 100644 --- a/kickstart/veilor-os.ks +++ b/kickstart/veilor-os.ks @@ -113,14 +113,38 @@ fira-code-fonts # ── Post-install (nochroot): copy overlay tree into installed root ── %post --nochroot set -eu -SRC=/run/install/repo/veilor DEST=/mnt/sysimage -if [[ -d $SRC/overlay ]]; then - cp -a $SRC/overlay/. $DEST/ + +# Try multiple source paths: +# /run/install/repo/veilor — boot ISO (--virt mode) +# /work — bind mount in CI container +# $(dirname kickstart)/.. — local --no-virt builds +SRC="" +for candidate in /run/install/repo/veilor /work /mnt/work; do + if [[ -d $candidate/overlay ]]; then + SRC=$candidate + break + fi +done + +# Fallback: derive from kickstart path. Anaconda passes ks via --kickstart=. +if [[ -z $SRC ]]; then + KS_PATH=$(ps -ef | grep -oP -- '--kickstart[= ]\K[^ ]+' | head -1) + if [[ -n $KS_PATH && -d $(dirname "$KS_PATH")/../overlay ]]; then + SRC=$(realpath "$(dirname "$KS_PATH")/..") + fi fi -mkdir -p $DEST/usr/share/veilor-os -cp -a $SRC/assets $DEST/usr/share/veilor-os/ -cp -a $SRC/scripts $DEST/usr/share/veilor-os/ + +if [[ -z $SRC ]]; then + echo "[ERR] cannot locate veilor-os repo source — overlay/scripts not copied" >&2 + exit 1 +fi + +echo "[INFO] using SRC=$SRC" +cp -a "$SRC/overlay/." "$DEST/" +mkdir -p "$DEST/usr/share/veilor-os" +cp -a "$SRC/assets" "$DEST/usr/share/veilor-os/" +cp -a "$SRC/scripts" "$DEST/usr/share/veilor-os/" %end # ── Post-install (chroot): apply hardening, theme, branding ──