Skip to content

Commit 236a97d

Browse files
dywedirclaude
andauthored
fix: update no longer deletes ISOs and other user files (#104)
The updater mirrored the whole staging directory onto the root of the data partition with `rsync --delete`, excluding only config_priv and tools_priv. Since the staged ISOs/ directory is empty, every image in ISOs/ was removed, along with anything else the user kept on the data partition outside MultiOS-USB/. Mirror only MultiOS-USB/ into MultiOS-USB/ instead, and anchor the excludes so they match just the top-level config_priv and tools_priv. Regression from 532bd52 (first released in v0.14.0). Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 5876364 commit 236a97d

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

‎multios-usb.sh‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,10 @@ if [[ $updateOnly == yes ]]; then
327327
mkdir -p "$data_stage"
328328
build_data_stage "$data_stage" "no"
329329

330-
# Fully mirror everything EXCEPT config_priv and tools_priv
331-
rsync -rlptD --no-owner --no-group --checksum --delete --exclude='config_priv' --exclude='tools_priv' "$data_stage"/ "${part_data}"/
330+
# Fully mirror the MultiOS-USB directory EXCEPT config_priv and tools_priv. Only that
331+
# directory is synced - ISOs and any other user files on the data partition are left alone
332+
mkdir -p "${part_data}/ISOs"
333+
rsync -rlptD --no-owner --no-group --checksum --delete --exclude='/config_priv' --exclude='/tools_priv' "$data_stage/MultiOS-USB"/ "${part_data}/MultiOS-USB"/
332334

333335
echo "Updating config_priv (existing user files are preserved, never deleted)..."
334336
if [ -d "config_priv" ]; then

0 commit comments

Comments
 (0)