Browse code

Remove chroot driver, it's not needed Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)

Michael Crosby authored on 2014/02/25 11:52:48
Showing 2 changed files
1 1
deleted file mode 100644
... ...
@@ -1,101 +0,0 @@
1
-package chroot
2
-
3
-import (
4
-	"fmt"
5
-	"github.com/dotcloud/docker/execdriver"
6
-	"github.com/dotcloud/docker/pkg/mount"
7
-	"os"
8
-	"os/exec"
9
-	"syscall"
10
-)
11
-
12
-const (
13
-	DriverName = "chroot"
14
-	Version    = "0.1"
15
-)
16
-
17
-func init() {
18
-	execdriver.RegisterInitFunc(DriverName, func(args *execdriver.InitArgs) error {
19
-		if err := mount.ForceMount("proc", "proc", "proc", ""); err != nil {
20
-			return err
21
-		}
22
-		defer mount.ForceUnmount("proc")
23
-		cmd := exec.Command(args.Args[0], args.Args[1:]...)
24
-
25
-		cmd.Stderr = os.Stderr
26
-		cmd.Stdout = os.Stdout
27
-		cmd.Stdin = os.Stdin
28
-
29
-		return cmd.Run()
30
-	})
31
-}
32
-
33
-type driver struct {
34
-}
35
-
36
-func NewDriver() (*driver, error) {
37
-	return &driver{}, nil
38
-}
39
-
40
-func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallback execdriver.StartCallback) (int, error) {
41
-	params := []string{
42
-		"chroot",
43
-		c.Rootfs,
44
-		"/.dockerinit",
45
-		"-driver",
46
-		DriverName,
47
-	}
48
-	params = append(params, c.Entrypoint)
49
-	params = append(params, c.Arguments...)
50
-
51
-	var (
52
-		name = params[0]
53
-		arg  = params[1:]
54
-	)
55
-	aname, err := exec.LookPath(name)
56
-	if err != nil {
57
-		aname = name
58
-	}
59
-	c.Path = aname
60
-	c.Args = append([]string{name}, arg...)
61
-
62
-	if err := c.Start(); err != nil {
63
-		return -1, err
64
-	}
65
-
66
-	if startCallback != nil {
67
-		startCallback(c)
68
-	}
69
-
70
-	err = c.Wait()
71
-	return getExitCode(c), err
72
-}
73
-
74
-/// Return the exit code of the process
75
-// if the process has not exited -1 will be returned
76
-func getExitCode(c *execdriver.Command) int {
77
-	if c.ProcessState == nil {
78
-		return -1
79
-	}
80
-	return c.ProcessState.Sys().(syscall.WaitStatus).ExitStatus()
81
-}
82
-
83
-func (d *driver) Kill(p *execdriver.Command, sig int) error {
84
-	return p.Process.Kill()
85
-}
86
-
87
-func (d *driver) Restore(c *execdriver.Command) error {
88
-	panic("Not Implemented")
89
-}
90
-
91
-func (d *driver) Info(id string) execdriver.Info {
92
-	panic("Not implemented")
93
-}
94
-
95
-func (d *driver) Name() string {
96
-	return fmt.Sprintf("%s-%s", DriverName, Version)
97
-}
98
-
99
-func (d *driver) GetPidsForContainer(id string) ([]int, error) {
100
-	return nil, fmt.Errorf("Not supported")
101
-}
... ...
@@ -5,7 +5,6 @@ import (
5 5
 	"flag"
6 6
 	"fmt"
7 7
 	"github.com/dotcloud/docker/execdriver"
8
-	_ "github.com/dotcloud/docker/execdriver/chroot"
9 8
 	_ "github.com/dotcloud/docker/execdriver/lxc"
10 9
 	"io"
11 10
 	"io/ioutil"