master
main.scm
1;; parse cadr, e.g. yucbic
2;;
3;; y yes
4;; u update
5;; c clean
6;; b build
7;; i install
8;; fucky syntax, but lets be different
9
10;; resource directory creation
11(begin
12 (mkdir-p DULL_DB)
13 (mkdir-p DULL_DIR)
14 )
15
16(when (or (= (length (command-line)) 1)
17 (and (not (> (length (command-line)) 2))
18 (any (lambda (c) (string-contains (cadr (command-line)) c))
19 '("b" "d" "i" "c" "f" "m")))
20 )
21 (usage)
22 (exit 0)
23 )
24
25(unless
26 (zero? (getuid))
27 (die (format #f "you need to run ~a as root." DULL) 1))
28
29(define c
30 (if (> (length (command-line)) 1)
31 (cadr (command-line))
32 "deadbeef"
33 ))
34
35(define pkg
36 (if (> (length (command-line)) 2)
37 (caddr (command-line))
38 "deadpkg"
39 ))
40
41(when (string=? c "deadbeef")
42 (begin
43 (usage)
44 (exit 1))
45 )
46
47(desc)
48
49(let pargs
50 (
51 (n 0)
52 )
53
54 (unless
55 (= n (string-length c))
56
57 (case (string-ref c n)
58 ((#\h)
59 (usage)
60 (exit 0)
61 )
62 ((#\u)
63 (let up (
64 (s (string-split DULL_PATH #\:))
65 (n 0)
66 )
67 (unless (= n (length s))
68 (when (file-exists? (format #f "~a/.git/" (list-ref s n)))
69 (begin
70 (chdir (list-ref s n))
71 (system* "git" "pull")
72 )
73 )
74 (up s (+ n 1))
75 )
76 )
77 )
78 ((#\b)
79 (build-pkg pkg)
80 )
81 ((#\i)
82 (seteuid 0)
83 (inst-pkg pkg)(desc)
84 )
85 ((#\c)
86 ;; shell out for this until i find a better method
87 (system* "rm" "-rf"
88 (format #f "~a/pkg-~a-~a" DULL_DIR pkg (ver-pkg pkg))
89 (format #f "~a/src-~a-~a" DULL_DIR pkg (ver-pkg pkg))
90 )
91 )
92 ((#\d)
93 (seteuid 0)
94 (del-pkg pkg)(desc)
95 )
96 ((#\f)
97 (format #t "~a~%" (find-pkg pkg))
98 )
99 ((#\m)
100 (pm-pkg pkg)
101 )
102 )
103
104 (pargs (+ n 1))
105 )
106
107 )