Skip to content

Update composefs-rs#2113

Draft
cgwalters wants to merge 1 commit intobootc-dev:mainfrom
cgwalters:bump-composefs-rs
Draft

Update composefs-rs#2113
cgwalters wants to merge 1 commit intobootc-dev:mainfrom
cgwalters:bump-composefs-rs

Conversation

@cgwalters
Copy link
Copy Markdown
Collaborator

Update to the latest APIs and code. Note this rolls in a variety of changes, including a repository format bump.

Assisted-by: OpenCode (Claude Opus 4)

Update to the latest APIs and code. Note this rolls in
a variety of changes, including a repository format bump.

Assisted-by: OpenCode (Claude Opus 4)
Signed-off-by: Colin Walters <walters@verbum.org>
@cgwalters cgwalters marked this pull request as draft April 1, 2026 15:01
@bootc-bot bootc-bot bot requested a review from jmarrero April 1, 2026 15:01
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates a wide range of dependencies and refactors the bootc-composefs logic to utilize the OciDigest type for image configuration digests. It also updates the codebase to accommodate a signature change in the composefs library's set_insecure method. Feedback is provided regarding a potential regression in upgrade_composefs where a change in the digest string format could cause comparisons to fail, thereby breaking the optimization for skipping redundant updates.

Comment on lines +413 to +414
let booted_config_digest = img_config.manifest.config().digest().clone();
let booted_img_digest = booted_config_digest.to_string();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The format of booted_img_digest has changed from a raw hex string to a full OCI digest string (e.g., sha256:<hex>) because OciDigest::to_string() includes the algorithm prefix. However, staged_image.image_digest (likely from ostree_ext::container::ImageStatus) is typically stored as a raw hex string. This will cause the comparison at line 423 to fail, breaking the optimization that skips redundant updates. If the intention is to maintain compatibility with existing state or the ImageStatus format, you should continue using the raw hex digest.

Suggested change
let booted_config_digest = img_config.manifest.config().digest().clone();
let booted_img_digest = booted_config_digest.to_string();
let booted_config_digest = img_config.manifest.config().digest().clone();
let booted_img_digest = booted_config_digest.digest().to_string();

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.

1 participant