commit 8f9b3b5
chld
·
2026-02-07 02:13:10 +0000 UTC
parent cbebfeb
sloppily, but dgr installs
1 files changed,
+29,
-8
M
main.go
M
main.go
+29,
-8
1@@ -43,6 +43,9 @@ func main() {
2 if x := os.Getenv("DTR_DIR"); x == "" {
3 os.Setenv("DTR_DIR", "/ports")
4 }
5+ if x := os.Getenv("DTR_ROOT"); x == "" {
6+ os.Setenv("DTR_ROOT", "/")
7+ }
8
9 act := os.Args[1]
10 pkgs := os.Args[2:]
11@@ -78,14 +81,32 @@ func main() {
12 for i := range len(pkgs) {
13 dgrb.Build(pkgs[i], "make")
14 }
15- /*
16- case "mi":
17- dgrb.Build(os.Args[2])
18- // TODO: install
19- case "mic":
20- dgrb.Build(os.Args[2])
21- // TODO: install and clean
22- */
23+ case "mi":
24+ for i := range len(pkgs) {
25+ in, out := os.Stdin, os.Stdout
26+ //cmd := exec.Command("cp", "-r", filepath.Join("/var/tmp/dtr", "pkg-"+pkgs[i]+"-git", "*"), os.Getenv("DTR_ROOT"))
27+ pkginst := filepath.Join("/var/tmp/dtr", "pkg-"+pkgs[i]+"-git", "*")
28+ pk, err := filepath.Glob(pkginst)
29+
30+ if err != nil || len(pk) == 0 {
31+ dgr.Die("no files to install in", pkginst, 1)
32+ }
33+
34+ args := append([]string{"-r"}, pk...)
35+ args = append(args, os.Getenv("DTR_ROOT"))
36+
37+ cmd := exec.Command("cp", args...)
38+
39+ cmd.Stdin, cmd.Stdout = in, out // asign stdin and stdout to cmd
40+ cmd.Stderr = os.Stderr // and stderr, i guess
41+
42+ if err := cmd.Run(); err != nil {
43+ dgr.Die("failed to copy package files to root", os.Getenv("DTR_ROOT"), 1)
44+ } else {
45+ dgr.Msg("installing", pkgs[i])
46+ }
47+ }
48+ case "mic":
49 case "sp":
50 if len(pkgs) < 1 {
51 help()