Open dilyn-corner opened 1 month ago
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-3267.
This message was autogenerated
I agree that this is would be a very useful enhancement but I don't believe there is a precedence. For example, snapcraft doesn't check if remote sources have been modified on every run.
I filed an upstream bug as well: https://github.com/canonical/craft-parts/issues/817
I would only expect snapcraft to repull a remote source just in case something like source-checksum
or source-commit
changed -- I'd recommend someone always specify these. There is no analogue for a local dir source.
The most confusing aspect of this is that if the contents of a file in a source dir changes, the pull step retriggers. You'd think this would extend to that file no longer existing, as well...
Bug Description
If for some part
source: src/
is declared and the pull step already ran and I renamesrc/foo
tosrc/bar
, the pull step is not retriggered. This can cause at best, a missing file in the final snap, and at worst later steps to fail for no obvious reason.To Reproduce
Create a snap with a part using
plugin: dump
andsource: src/
, with at least one file insrc/
. Run at leastsnapcraft pull
. Rename that file, and rerun the build.Environment
Ubuntu 23.10, building with snapcraft latest/edge with
--use-lxd
.snapcraft.yaml
Relevant log output
Additional context
This is a hard problem to solve :)