Browse Source

Move SysInit to a submodule

This allows docker-init to not import the main docker
module, which means it won't e.g. pick up any sqlite
dependencies.
Alexander Larsson 11 năm trước cách đây
mục cha
commit
db99966724
4 tập tin đã thay đổi với 21 bổ sung3 xóa
  1. 16 0
      docker-init/docker-init.go
  2. 2 1
      docker/docker.go
  3. 2 1
      runtime_test.go
  4. 1 1
      sysinit/sysinit.go

+ 16 - 0
docker-init/docker-init.go

@@ -0,0 +1,16 @@
+package main
+
+import (
+	"github.com/dotcloud/docker/sysinit"
+)
+
+var (
+	GITCOMMIT string
+	VERSION   string
+)
+
+func main() {
+	// Running in init mode
+	sysinit.SysInit()
+	return
+}

+ 2 - 1
docker/docker.go

@@ -4,6 +4,7 @@ import (
 	"flag"
 	"fmt"
 	"github.com/dotcloud/docker"
+	"github.com/dotcloud/docker/sysinit"
 	"github.com/dotcloud/docker/utils"
 	"io/ioutil"
 	"log"
@@ -23,7 +24,7 @@ var (
 func main() {
 	if selfPath := utils.SelfPath(); selfPath == "/sbin/init" || selfPath == "/.dockerinit" {
 		// Running in init mode
-		docker.SysInit()
+		sysinit.SysInit()
 		return
 	}
 	// FIXME: Switch d and D ? (to be more sshd like)

+ 2 - 1
runtime_test.go

@@ -3,6 +3,7 @@ package docker
 import (
 	"bytes"
 	"fmt"
+	"github.com/dotcloud/docker/sysinit"
 	"github.com/dotcloud/docker/utils"
 	"io"
 	"log"
@@ -77,7 +78,7 @@ func init() {
 
 	// Hack to run sys init during unit testing
 	if selfPath := utils.SelfPath(); selfPath == "/sbin/init" || selfPath == "/.dockerinit" {
-		SysInit()
+		sysinit.SysInit()
 		return
 	}
 

+ 1 - 1
sysinit.go → sysinit/sysinit.go

@@ -1,4 +1,4 @@
-package docker
+package sysinit
 
 import (
 	"flag"