Skip to content

Commit

Permalink
cmd,many: move Version and bits related to snapd tools to snapdtool
Browse files Browse the repository at this point in the history
  • Loading branch information
pedronis committed Jun 12, 2020
1 parent 45ca988 commit d3dd6e3
Show file tree
Hide file tree
Showing 25 changed files with 159 additions and 153 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
./share
tags
.coverage
snapdtool/version_generated.go
cmd/version_generated.go
cmd/VERSION
*~
Expand Down
4 changes: 2 additions & 2 deletions cmd/snap-repair/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ import (
// TODO: consider not using go-flags at all
"github.com/jessevdk/go-flags"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/logger"
"github.com/snapcore/snapd/release"
"github.com/snapcore/snapd/snapdenv"
"github.com/snapcore/snapd/snapdtool"
)

var (
Expand Down Expand Up @@ -76,7 +76,7 @@ func run() error {
if osGetuid() != 0 {
return fmt.Errorf("must be run as root")
}
snapdenv.SetUserAgentFromVersion(cmd.Version, nil, "snap-repair")
snapdenv.SetUserAgentFromVersion(snapdtool.Version, nil, "snap-repair")

if err := parseArgs(os.Args[1:]); err != nil {
return err
Expand Down
4 changes: 2 additions & 2 deletions cmd/snap/cmd_userd.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ import (

"github.com/jessevdk/go-flags"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/i18n"
"github.com/snapcore/snapd/snapdtool"
"github.com/snapcore/snapd/usersession/agent"
"github.com/snapcore/snapd/usersession/autostart"
"github.com/snapcore/snapd/usersession/userd"
Expand Down Expand Up @@ -103,7 +103,7 @@ func (x *cmdUserd) runAgent() error {
if err != nil {
return err
}
agent.Version = cmd.Version
agent.Version = snapdtool.Version
agent.Start()

ch, stop := signalNotify(syscall.SIGINT, syscall.SIGTERM)
Expand Down
4 changes: 2 additions & 2 deletions cmd/snap/cmd_version.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import (
"github.com/jessevdk/go-flags"

"github.com/snapcore/snapd/client"
"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/i18n"
"github.com/snapcore/snapd/snapdtool"
)

var shortVersionHelp = i18n.G("Show version details")
Expand Down Expand Up @@ -56,7 +56,7 @@ func printVersions(cli *client.Client) error {
sv := serverVersion(cli)
w := tabWriter()

fmt.Fprintf(w, "snap\t%s\n", cmd.Version)
fmt.Fprintf(w, "snap\t%s\n", snapdtool.Version)
fmt.Fprintf(w, "snapd\t%s\n", sv.Version)
fmt.Fprintf(w, "series\t%s\n", sv.Series)
if sv.OnClassic {
Expand Down
7 changes: 4 additions & 3 deletions cmd/snap/cmd_version_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
. "gopkg.in/check.v1"

snap "github.com/snapcore/snapd/cmd/snap"
"github.com/snapcore/snapd/snapdtool"
)

func (s *SnapSuite) TestVersionCommandOnClassic(c *C) {
Expand All @@ -34,7 +35,7 @@ func (s *SnapSuite) TestVersionCommandOnClassic(c *C) {
})
restore := mockArgs("snap", "version")
defer restore()
restore = mockVersion("4.56")
restore = snapdtool.MockVersion("4.56")
defer restore()

_, err := snap.Parser(snap.Client()).ParseArgs([]string{"version"})
Expand All @@ -49,7 +50,7 @@ func (s *SnapSuite) TestVersionCommandOnAllSnap(c *C) {
})
restore := mockArgs("snap", "--version")
defer restore()
restore = mockVersion("4.56")
restore = snapdtool.MockVersion("4.56")
defer restore()

_, err := snap.Parser(snap.Client()).ParseArgs([]string{"version"})
Expand All @@ -64,7 +65,7 @@ func (s *SnapSuite) TestVersionCommandOnClassicNoOsVersion(c *C) {
})
restore := mockArgs("snap", "version")
defer restore()
restore = mockVersion("4.56")
restore = snapdtool.MockVersion("4.56")
defer restore()

_, err := snap.Parser(snap.Client()).ParseArgs([]string{"version"})
Expand Down
6 changes: 3 additions & 3 deletions cmd/snap/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ import (
"golang.org/x/crypto/ssh/terminal"

"github.com/snapcore/snapd/client"
"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/i18n"
"github.com/snapcore/snapd/logger"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/release"
"github.com/snapcore/snapd/snap"
"github.com/snapcore/snapd/snapdenv"
"github.com/snapcore/snapd/snapdtool"
)

func init() {
// set User-Agent for when 'snap' talks to the store directly (snap download etc...)
snapdenv.SetUserAgentFromVersion(cmd.Version, nil, "snap")
snapdenv.SetUserAgentFromVersion(snapdtool.Version, nil, "snap")

if osutil.GetenvBool("SNAPD_DEBUG") || snapdenv.Testing() {
// in tests or when debugging, enforce the "tidy" lint checks
Expand Down Expand Up @@ -425,7 +425,7 @@ func resolveApp(snapApp string) (string, error) {
}

func main() {
cmd.ExecInSnapdOrCoreSnap()
snapdtool.ExecInSnapdOrCoreSnap()

// check for magic symlink to /usr/bin/snap:
// 1. symlink from command-not-found to /usr/bin/snap: run c-n-f
Expand Down
12 changes: 3 additions & 9 deletions cmd/snap/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ import (
"golang.org/x/crypto/ssh/terminal"
. "gopkg.in/check.v1"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/interfaces"
"github.com/snapcore/snapd/logger"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/snapdtool"
"github.com/snapcore/snapd/testutil"

snap "github.com/snapcore/snapd/cmd/snap"
Expand Down Expand Up @@ -174,12 +174,6 @@ func mockArgs(args ...string) (restore func()) {
return func() { os.Args = old }
}

func mockVersion(v string) (restore func()) {
old := cmd.Version
cmd.Version = v
return func() { cmd.Version = old }
}

func mockSnapConfine(libExecDir string) func() {
snapConfine := filepath.Join(libExecDir, "snap-confine")
if err := os.MkdirAll(libExecDir, 0755); err != nil {
Expand Down Expand Up @@ -237,7 +231,7 @@ func (s *SnapSuite) TestVersionOnClassic(c *C) {
})
restore := mockArgs("snap", "--version")
defer restore()
restore = mockVersion("4.56")
restore = snapdtool.MockVersion("4.56")
defer restore()

c.Assert(func() { snap.RunMain() }, PanicMatches, `internal error: exitStatus\{0\} .*`)
Expand All @@ -251,7 +245,7 @@ func (s *SnapSuite) TestVersionOnAllSnap(c *C) {
})
restore := mockArgs("snap", "--version")
defer restore()
restore = mockVersion("4.56")
restore = snapdtool.MockVersion("4.56")
defer restore()

c.Assert(func() { snap.RunMain() }, PanicMatches, `internal error: exitStatus\{0\} .*`)
Expand Down
10 changes: 5 additions & 5 deletions cmd/snapd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ import (
"syscall"
"time"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/daemon"
"github.com/snapcore/snapd/errtracker"
"github.com/snapcore/snapd/logger"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/sandbox"
"github.com/snapcore/snapd/sanity"
"github.com/snapcore/snapd/snapdenv"
"github.com/snapcore/snapd/snapdtool"
"github.com/snapcore/snapd/systemd"
)

Expand All @@ -48,15 +48,15 @@ func init() {
}
// set here to avoid accidental submits in e.g. unit tests
errtracker.CrashDbURLBase = "https://daisy.ubuntu.com/"
errtracker.SnapdVersion = cmd.Version
errtracker.SnapdVersion = snapdtool.Version
}

func main() {
// When preseeding re-exec is not used
if snapdenv.Preseeding() {
logger.Noticef("running for preseeding")
} else {
cmd.ExecInSnapdOrCoreSnap()
snapdtool.ExecInSnapdOrCoreSnap()
}

ch := make(chan os.Signal, 2)
Expand Down Expand Up @@ -109,7 +109,7 @@ var checkRunningConditionsRetryDelay = 300 * time.Second

func run(ch chan os.Signal) error {
t0 := time.Now().Truncate(time.Millisecond)
snapdenv.SetUserAgentFromVersion(cmd.Version, sandbox.ForceDevMode)
snapdenv.SetUserAgentFromVersion(snapdtool.Version, sandbox.ForceDevMode)

d, err := daemon.New()
if err != nil {
Expand All @@ -132,7 +132,7 @@ func run(ch chan os.Signal) error {
checkTicker = tic.C
}

d.Version = cmd.Version
d.Version = snapdtool.Version

if err := d.Start(); err != nil {
return err
Expand Down
8 changes: 8 additions & 0 deletions cmd/snapinfo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,21 @@
package cmd_test

import (
"testing"

"gopkg.in/check.v1"

"github.com/snapcore/snapd/client"
"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/snap"
)

func Test(t *testing.T) { check.TestingT(t) }

type cmdSuite struct{}

var _ = check.Suite(&cmdSuite{})

func (*cmdSuite) TestC2S(c *check.C) {
// TODO: add moar fields!
si := &snap.Info{
Expand Down
4 changes: 2 additions & 2 deletions interfaces/mount/ns.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ import (
"os/exec"
"path/filepath"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/snapdtool"
)

// mountNsPath returns path of the mount namespace file of a given snap
Expand All @@ -39,7 +39,7 @@ func mountNsPath(snapName string) string {
func runNamespaceTool(toolName, snapName string) ([]byte, error) {
mntFile := mountNsPath(snapName)
if osutil.FileExists(mntFile) {
toolPath, err := cmd.InternalToolPath(toolName)
toolPath, err := snapdtool.InternalToolPath(toolName)
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions interfaces/seccomp/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ import (
"strings"

"github.com/snapcore/snapd/arch"
"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/interfaces"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/release"
"github.com/snapcore/snapd/sandbox/apparmor"
"github.com/snapcore/snapd/sandbox/seccomp"
"github.com/snapcore/snapd/snap"
"github.com/snapcore/snapd/snapdtool"
"github.com/snapcore/snapd/strutil"
"github.com/snapcore/snapd/timings"
)
Expand All @@ -61,7 +61,7 @@ var (
requiresSocketcall = requiresSocketcallImpl

snapSeccompVersionInfo = snapSeccompVersionInfoImpl
seccompCompilerLookup = cmd.InternalToolPath
seccompCompilerLookup = snapdtool.InternalToolPath
)

func snapSeccompVersionInfoImpl(c Compiler) (seccomp.VersionInfo, error) {
Expand Down
8 changes: 4 additions & 4 deletions interfaces/seccomp/backend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ import (

. "gopkg.in/check.v1"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/interfaces"
"github.com/snapcore/snapd/interfaces/ifacetest"
Expand All @@ -42,6 +41,7 @@ import (
seccomp_sandbox "github.com/snapcore/snapd/sandbox/seccomp"
"github.com/snapcore/snapd/snap"
"github.com/snapcore/snapd/snap/snaptest"
"github.com/snapcore/snapd/snapdtool"
"github.com/snapcore/snapd/strutil"
"github.com/snapcore/snapd/testutil"
"github.com/snapcore/snapd/timings"
Expand Down Expand Up @@ -76,7 +76,7 @@ func (s *backendSuite) SetUpTest(c *C) {
err := os.MkdirAll(dirs.SnapSeccompDir, 0700)
c.Assert(err, IsNil)

s.restoreReadlink = cmd.MockOsReadlink(func(string) (string, error) {
s.restoreReadlink = snapdtool.MockOsReadlink(func(string) (string, error) {
// pretend that snapd is run from distro libexecdir
return filepath.Join(dirs.DistroLibExecDir, "snapd"), nil
})
Expand Down Expand Up @@ -149,7 +149,7 @@ func (s *backendSuite) TestInstallingSnapWritesHookProfiles(c *C) {
}

func (s *backendSuite) TestInstallingSnapWritesProfilesWithReexec(c *C) {
restore := cmd.MockOsReadlink(func(string) (string, error) {
restore := snapdtool.MockOsReadlink(func(string) (string, error) {
// simulate that we run snapd from core
return filepath.Join(dirs.SnapMountDir, "core/42/usr/lib/snapd/snapd"), nil
})
Expand Down Expand Up @@ -700,7 +700,7 @@ func (s *backendSuite) TestInitializationDuringBootstrap(c *C) {
// during bootstrap, before seeding, snapd/core snap is mounted at some
// random location under /tmp
tmpDir := c.MkDir()
restore := cmd.MockOsReadlink(func(string) (string, error) {
restore := snapdtool.MockOsReadlink(func(string) (string, error) {
return filepath.Join(tmpDir, "usr/lib/snapd/snapd"), nil
})
defer restore()
Expand Down
4 changes: 2 additions & 2 deletions interfaces/system_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ import (
"strconv"
"strings"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/logger"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/sandbox/apparmor"
"github.com/snapcore/snapd/sandbox/cgroup"
"github.com/snapcore/snapd/sandbox/seccomp"
"github.com/snapcore/snapd/snapdtool"
)

// ErrSystemKeyIncomparableVersions indicates that the system-key
Expand Down Expand Up @@ -102,7 +102,7 @@ func generateSystemKey() (*systemKey, error) {
sk := &systemKey{
Version: systemKeyVersion,
}
snapdPath, err := cmd.InternalToolPath("snapd")
snapdPath, err := snapdtool.InternalToolPath("snapd")
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions mkversion.sh
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ fi

echo "*** Setting version to '$v' from $o." >&2

cat <<EOF > "$GO_GENERATE_BUILDDIR/cmd/version_generated.go"
package cmd
cat <<EOF > "$GO_GENERATE_BUILDDIR/snapdtool/version_generated.go"
package snapdtool
// generated by mkversion.sh; do not edit
Expand Down
4 changes: 2 additions & 2 deletions overlord/overlord_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import (
. "gopkg.in/check.v1"
"gopkg.in/tomb.v2"

"github.com/snapcore/snapd/cmd"
"github.com/snapcore/snapd/dirs"
"github.com/snapcore/snapd/osutil"
"github.com/snapcore/snapd/overlord"
Expand All @@ -46,6 +45,7 @@ import (
"github.com/snapcore/snapd/overlord/state"
"github.com/snapcore/snapd/snap"
"github.com/snapcore/snapd/snapdenv"
"github.com/snapcore/snapd/snapdtool"
"github.com/snapcore/snapd/store"
"github.com/snapcore/snapd/testutil"
)
Expand Down Expand Up @@ -151,7 +151,7 @@ func (ovs *overlordSuite) TestNewStore(c *C) {
}

func (ovs *overlordSuite) TestNewWithGoodState(c *C) {
fakeState := []byte(fmt.Sprintf(`{"data":{"patch-level":%d,"patch-sublevel":%d,"patch-sublevel-last-version":%q,"some":"data","refresh-privacy-key":"0123456789ABCDEF"},"changes":null,"tasks":null,"last-change-id":0,"last-task-id":0,"last-lane-id":0}`, patch.Level, patch.Sublevel, cmd.Version))
fakeState := []byte(fmt.Sprintf(`{"data":{"patch-level":%d,"patch-sublevel":%d,"patch-sublevel-last-version":%q,"some":"data","refresh-privacy-key":"0123456789ABCDEF"},"changes":null,"tasks":null,"last-change-id":0,"last-task-id":0,"last-lane-id":0}`, patch.Level, patch.Sublevel, snapdtool.Version))
err := ioutil.WriteFile(dirs.SnapStateFile, fakeState, 0600)
c.Assert(err, IsNil)

Expand Down
Loading

0 comments on commit d3dd6e3

Please sign in to comment.