Conversation
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>
There was a problem hiding this comment.
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.
| let booted_config_digest = img_config.manifest.config().digest().clone(); | ||
| let booted_img_digest = booted_config_digest.to_string(); |
There was a problem hiding this comment.
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.
| 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(); |
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)