commit 2654f6c

chld  ·  2026-02-06 05:11:51 +0000 UTC
parent 5034ef5
sync, etc
1 files changed,  +29, -1
+29, -1
 1@@ -6,10 +6,19 @@ import (
 2 	"git.sr.ht/~chld/dgr/extra"
 3 	"git.sr.ht/~chld/dgr/pkg"
 4 	"os"
 5+	"os/exec"
 6 	"path/filepath"
 7 )
 8 
 9 func help() {
10+	// ports management
11+	fmt.Printf("%s ", filepath.Base(os.Args[0]))
12+	fmt.Printf("[s]\n")
13+	// package mamagement
14+	fmt.Printf("%s ", filepath.Base(os.Args[0]))
15+	fmt.Printf("[m|mi|mic]\n")
16+
17+	// package management without compiling
18 	fmt.Printf("%s ", filepath.Base(os.Args[0]))
19 	fmt.Printf("[sp]")
20 
21@@ -22,9 +31,28 @@ func main() {
22 		return
23 	}
24 
25-	switch os.Args[1] {
26+	act := os.Args[1]
27+	pkgs := os.Args[2:] // TODO: support multiple packages
28+
29+	switch act {
30+	case "s":
31+		in, out := os.Stdin, os.Stdout
32+		cmd := exec.Command("git", "clone", "--depth", "1", "https://codeberg.org/derivelinux/ports", "/ports")
33+		cmd.Stdin, cmd.Stdout = in, out // asign stdin and stdout to cmd
34+		cmd.Stderr = os.Stderr          // and stderr, i guess
35+
36+		if err := cmd.Run(); err != nil {
37+			dgr.Die("failed to clone", "codeberg.org/derivelinux/ports", 1)
38+		}
39+
40 	case "m":
41+		dgrb.Build(pkgs[0])
42+	case "mi":
43+		dgrb.Build(os.Args[2])
44+		// TODO: install
45+	case "mic":
46 		dgrb.Build(os.Args[2])
47+		// TODO: install and clean
48 	case "sp":
49 		dgre.VC("DTR_DIR")
50 		fmt.Println(dgr.FindPkg(os.Args[2]))