MCPcopy
hub / github.com/puma/puma-dev / Setup

Function Setup

dev/setup_darwin.go:16–75  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

14)
15
16func Setup() error {
17 err := os.MkdirAll(etcDir, 0755)
18 if err != nil {
19 return err
20 }
21
22 var ok bool
23
24 sudo := os.Getenv("SUDO_USER")
25 if sudo != "" {
26 uid, err1 := strconv.Atoi(os.Getenv("SUDO_UID"))
27 gid, err2 := strconv.Atoi(os.Getenv("SUDO_GID"))
28
29 if err1 == nil && err2 == nil {
30 fmt.Printf("* Configuring %s to be owned by %s\n", etcDir, sudo)
31
32 err := os.Chown(etcDir, uid, gid)
33 if err != nil {
34 return err
35 }
36
37 err = os.Chmod(etcDir, 0755)
38 if err != nil {
39 return err
40 }
41
42 files, err := ioutil.ReadDir(etcDir)
43 if err != nil {
44 return err
45 }
46
47 for _, fi := range files {
48 path := filepath.Join(etcDir, fi.Name())
49 fmt.Printf("* Changing '%s' to be owned by %s\n", path, sudo)
50
51 err = os.Chown(path, uid, gid)
52 if err != nil {
53 return err
54 }
55
56 err = os.Chmod(path, 0644)
57 if err != nil {
58 return err
59 }
60 }
61
62 ok = true
63 }
64 }
65
66 if !ok {
67 fmt.Printf("* Configuring %s to be world writable\n", etcDir)
68 err := os.Chmod(etcDir, 0777)
69 if err != nil {
70 return err
71 }
72 }
73

Callers 1

mainFunction · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected