Closed mattculler closed 1 week ago
The fact of it not always being the same file is probably just a side-effect of prime occurring in the order in which the OS retrieves filenames from the drive.
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-3187.
This message was autogenerated
When this is completed, I can switch mattcraft
to use the fixed craft-parts
version and then delete this branch: https://github.com/canonical/craft-parts/tree/temp-disable-stage-package-tracking
Fetch packages to parts/<part-name>/stage-packages
Unpack packages to parts/<part-name>/install
Add an xattr
record to each file with the name of the stage package.
Organize to other partitions, if defined with an organize
keyword
No special handling
Generate a list of all stage-packages who have primed files:
xattr
.Collect a list of stage-packages primed in any partition.
This function should receive a dictionary of partition names to prime directories (project.get_prime_dirs
) and check for stage packages per-partition:
Once craft-parts supports multiple lifecycles and the StateManager is partition aware (see https://github.com/canonical/craft-parts/issues/665#issuecomment-2289510579), stage packages can be tracked per-partition.
Bug Description
If partitions are enabled and a project's parts make use of them, the LifecycleManager will try to prime files from the default prime directory, ignoring any partition prefix. The files do actually exist inside the partition's prime directory, where they are supposed to be.
Note also that the specific file that the failure occurs on will randomly be one of the primed files, it isn't always the same one. Don't know if that's relevant.
To Reproduce
Enable and make use of partitions, then prime some file(s) from
stage-packages
(I think?)part yaml
Relevant log output