commit 8f9b3b5

chld  ·  2026-02-07 02:13:10 +0000 UTC
parent cbebfeb
sloppily, but dgr installs
1 files changed,  +29, -8
+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()