fix(linux/build): terminate xorriso -alter_date_r path list with -- (M1.1 iter32)
Run #4279 hit: xorriso : FAILURE : Cannot find path '/-volume_date' in loaded ISO image xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE' `-alter_date_r type timestring iso_rr_path [***]` takes a variable-length path list. xorriso terminates that list either at the end of the command line or at a literal `--`. Without the terminator, the next intended option (`-volume_date`) is consumed as another path to set mtime on, blows up because there's no node called `/-volume_date`, and FAILURE-severity propagates to a hard exit. Add `--` after the `/` argument to close the path list. -volume_date c/m then take effect as expected. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -228,13 +228,18 @@ post_process_for_reproducibility() {
|
||||
# step (run #4278's TOC diff caught both: 21:27 vs 21:44).
|
||||
# `-volume_date` covers the volume-descriptor-level dates that
|
||||
# xorriso also stamps on -commit.
|
||||
# `-alter_date_r` takes a variable-length path list and needs `--`
|
||||
# to terminate it — without that, the next `-volume_date` is
|
||||
# interpreted as a path, producing
|
||||
# FAILURE : Cannot find path '/-volume_date' in loaded ISO image
|
||||
# (caught on run #4279).
|
||||
sudo --non-interactive xorriso \
|
||||
-return_with SORRY 0 \
|
||||
-indev "${iso_file}" \
|
||||
-outdev "${new_iso}" \
|
||||
-boot_image any keep \
|
||||
-update "${new_sqfs}" /live/filesystem.squashfs \
|
||||
-alter_date_r m "=${SOURCE_DATE_EPOCH}" / \
|
||||
-alter_date_r m "=${SOURCE_DATE_EPOCH}" / -- \
|
||||
-volume_date c "=${SOURCE_DATE_EPOCH}" \
|
||||
-volume_date m "=${SOURCE_DATE_EPOCH}" \
|
||||
-commit
|
||||
|
||||
Reference in New Issue
Block a user