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 ppkg
50 ((p (string-split pkg #\:))
51 (l 0))
52
53 (unless (= l (length p))
54 (let pargs
55 (
56 (n 0)
57 (pk (list-ref p l))
58 )
59
60 (unless
61 (= n (string-length c))
62
63 (case (string-ref c n)
64 ((#\h)
65 (usage)
66 (exit 0)
67 )
68 ((#\u)
69 (let up (
70 (s (string-split DULL_PATH #\:))
71 (n 0)
72 )
73 (unless (= n (length s))
74 (when (file-exists? (format #f "~a/.git/" (list-ref s n)))
75 (begin
76 (chdir (list-ref s n))
77 (system* "git" "pull")
78 )
79 )
80 (up s (+ n 1))
81 )
82 )
83 )
84 ((#\b)
85 (build-pkg pk)
86 )
87 ((#\i)
88 (seteuid 0)
89 (inst-pkg pk)(desc)
90 )
91 ((#\c)
92 ;; shell out for this until i find a better method
93 (system* "rm" "-rf"
94 (format #f "~a/pkg-~a-~a" DULL_DIR pkg (ver-pkg pk))
95 (format #f "~a/src-~a-~a" DULL_DIR pkg (ver-pkg pk))
96 )
97 )
98 ((#\d)
99 (seteuid 0)
100 (del-pkg pk)(desc)
101 )
102 ((#\f)
103 (format #t "~a~%" (find-pkg pk))
104 )
105 ((#\m)
106 (pm-pkg pk)
107 )
108 )
109
110 (pargs (+ n 1) pk)
111 )
112
113 )(ppkg p (+ l 1))
114 ))