The TestReadBuildGo test creates a test go binary. This breaks
in ubuntu 14.04 and ubuntu 16.04 because go wants to create a
cache dir in $HOME. But sbuild sets the $HOME to a non-exiting
directory. As a workaround, set $HOME to a tmpdir created by
the test.
When installing a snap that does not require "core" on a fresh
system, currently we do nothing special. This means however that
on such systems there is no "core" or "snapd" snap installed.
This means that no system interfaces are available. This PR
fixes this by auto-installing the snapd snap if its missing.
As a side effect, "snap install snapd" on classic is no longer
blocked (it still is on core).
* snapstate: add more tests for snapd auto-install with core18/other-bases
* snapstate: rework the check if the snapd snap can be installed on a Core system
* snapstate: use isInstalled instead of {snapd,core}SnapInstalled
* snapstate: update doInstall now that the "snapd" install check moved to checkInstallPreconditions
interfaces: add support for the snapd snap in the dbus backend
* interfaces: add support for the snapd snap in the dbus backend
When writing the userd service files we only looked at the core
snap so far. However when we transition to the snapd snap we
also need to look there for the right files.
* interfaces: ensure setupDbusServiceForUserd prefers the snapd snap
When both the core and the snapd snap are installed we need to
prefer the snapd snap or the content of the userd service file
will flip-flop.
* interfaces: add comment about racy setupDbusServiceForUserd