commit e8874ec

chld  ·  2026-02-07 07:17:16 +0000 UTC
parent f7d2d2e
deps resolve
2 files changed,  +15, -2
+8, -2
 1@@ -52,6 +52,9 @@ func main() {
 2 	if x := os.Getenv("DTR_ROOT"); x == "" {
 3 		os.Setenv("DTR_ROOT", "/")
 4 	}
 5+	if x := os.Getenv("DTR_DB"); x == "" {
 6+		os.Setenv("DTR_DB", "/var/db/dtr")
 7+	}
 8 
 9 	act := os.Args[1]
10 	pkgs := os.Args[2:]
11@@ -167,8 +170,11 @@ func main() {
12 			// now build dependencies
13 
14 			for n := range len(nf) {
15-				dgrb.Build(nf[n], "make")
16-				dgrb.Inst(nf[n])
17+				// skip if installed
18+				if x, _ := os.ReadFile(filepath.Join(os.Getenv("DTR_DB"), "installed")); !strings.Contains(string(x), nf[n]) {
19+					dgrb.Build(nf[n], "make")
20+					dgrb.Inst(nf[n])
21+				}
22 				n++
23 				continue
24 			}
+7, -0
 1@@ -22,6 +22,13 @@ func Inst(pkg string) {
 2 	if err != nil {
 3 		dgr.Die("failed to copy package files to root", os.Getenv("DTR_ROOT"), 1)
 4 	} else {
 5+		// write the installed package to a installed file for tracking
 6+		f, _ := os.Create(filepath.Join(os.Getenv("DTR_DB"), "installed"))
 7+		defer f.Close()
 8+		f.Write([]byte(pkg))
 9+		f.Write([]byte{10}) // write a EOL too!
10+		f.Sync()
11+
12 		dgr.Msg("installed \033[1;32m", pkg, "\033[m successfully")
13 	}
14 }