I’m giving a go at upgrading one of my snaps from core18 to core20. One of the parts has a
source: patches stanza, which copies patch files under that directory to the stage area to be later applied in another part’s build step. The original implementation (
that works today with core18 EDIT: it works on launchpad builders that use LXD, but fails similarly locally) looks like this:
part-name: plugin: nil source: patches override-build: | mkdir -p $SNAPCRAFT_PART_INSTALL/patches cp *.patch $SNAPCRAFT_PART_INSTALL/patches/ override-prime: ""
I also tried simplifying it to:
part-name: plugin: dump source: patches organize: '*.patch' : patches/
In both cases though, when running snapcraft (version 4.2, classic snap, revision 5407 from the stable channel) with the default multipass backend (version 1.4.0, revision 2445 from the stable channel), the build fails because the patches are not copied.
In the corresponding multipass VM:
snapcraft-0ad ../parts/0ad-patches# ls -r * state: stage pull build src: run: build.sh install: build:
What am I missing?