commit e8874ec
chld
·
2026-02-07 07:17:16 +0000 UTC
parent f7d2d2e
deps resolve
2 files changed,
+15,
-2
M
main.go
+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 }