Skip to content

image: Copy release artifacts instead of symlinking them - #381

Merged
daandemeyer merged 1 commit into
amutable:mainfrom
daandemeyer:release-copies
Nov 3, 2026
Merged

daandemeyer merged 1 commit into
amutable:mainfrom
daandemeyer:release-copies

Conversation

@daandemeyer

Copy link
Copy Markdown
Member

image.artifacts() assembles the release as a directory of symlinks.
systemd-sysupdate ignores symlinks when it lists a transfer's source
directory, so it finds no files to update from. Let's copy the files
instead. Buck copies them with copy_file_range, which shares the blocks
of the disk images on btrfs and XFS.

image.artifacts() assembles the release as a directory of symlinks.
systemd-sysupdate ignores symlinks when it lists a transfer's source
directory, so it finds no files to update from. Let's copy the files
instead. Buck copies them with copy_file_range, which shares the blocks
of the disk images on btrfs and XFS.

Signed-off-by: Daan De Meyer <daan@amutable.com>

@martinpitt martinpitt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will increase buck-out/ even more on e.g. an ext4 system (somebody think of the childr, err, GitHub action runners!) Is this for local testing? sysupdate would not normally run from a local user build tree?

I suppose you have a good reason, so approving, I'm just curious.

@daandemeyer
daandemeyer merged commit 8b3653b into amutable:main Nov 3, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants