Should snap run use snap-exec from core snap?

Users of my go snap reported a while that “go run” loses TMPDIR: https://bugs.launchpad.net/snapd/+bug/1682308. This got fixed with my PR https://github.com/snapcore/snapd/pull/3872 which was part of 2.29 but the behaviour persists – what gives?

Turns out that snap run invokes /usr/lib/snapd/snap-exec rather than the snap-exec from the core snap, even when we have re-execed into the core snap, and my fix depends on new behaviour in snap-exec. Seems to me that probably the snap-exec from the core snap should be used when re-execing?

This is always the case because snap-exec is in the core snap and as a part of the application start-up we change the rootfs to that of the core snap. The only exception to this rule would be classic snaps in which case we can talk about that aspect. Was that snap classic?

Ah hah yes, this is a classic snap

1 Like

Quickly hacked up https://github.com/snapcore/snapd/pull/4337

1 Like