Cannot build snapd

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'   

To reproduce

git clone https://github.com/snapcore/snapd
cd snapd
git checkout 2.51.4
snapcraft remote-build --launchpad-accept-public-upload --build-on amd64,armhf,arm64

Further, I cannot build it locally either.

$ 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?

Can you create a snap recipe on Launchpad itself to build from your git repo directly? That’d avoid the symlink issue.

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.