I had snapcraft 4.x installed, and used to use remote-build to build snapd in launchpad. That no longer works because:
'core' is currently under Extended Security Maintenance which requires a different version of Snapcraft to run.
If I update snapcraft to 5.x (latest/stable) I’m unable to remote-build snapd due to:
snapcraft remote-build is experimental and is subject to change - use with caution.
Sorry, an error occurred in Snapcraft:
[Errno 40] Too many levels of symbolic links: '/home/alan/Source/popey/build-snapd/tmp.UM2LotaVBx/snapd/tests/main/validate-container-failures/test-snapd-validate-container-failures/hell/bar'
$ snapcraft --use-lxd
Using 'core' as a 'base' or 'build-base' is not supported.
Recommended resolution:
Switch to Snapcraft's 4.x channel track or consider upgrading to a newer base.
Detailed information:
'core' is currently under Extended Security Maintenance which requires a different version of Snapcraft to run.
For more information, check out:
https://snapcraft.io/docs/base-snaps
Snapcraft 4.x fails to build remotely, and Snapcraft 5.x fails to build locally.
Unfortunately I think it’s not unexpected that it can’t be built remotely due to the symbolic link test we have which ends up breaking a few programs. Here I think some part of snapcraft which tries to pack up the snaps git tree fails due to the symbolic links.
But to be clear building locally with 4.x should work, we do this in our spread tests with LXD
That’s unfortunate. I have to revert back to snapcraft 4.x to build locally, and can’t build for another architecture, remotely. Where would the fix be? Disable/delete tests before building the snap?
This would avoid the issue because we do build snapd directly from git on launchpad, so building on launchpad is not the issue.
The likely fix here is to snapcraft, with however it packs up the tree to send to launchapd needs to be fixed/resolved to not die on these symlinks. Of course the other way is to maintain patches in your version of snapd to delete those tests.