]> git.pld-linux.org Git - projects/cleanbuild.git/blame_incremental - bin/multibuild
Add verbosity to build output what script is doing
[projects/cleanbuild.git] / bin / multibuild
... / ...
CommitLineData
1#!/bin/sh
2
3b="$(echo -n -e '\033[1m')"
4B="$(echo -n -e '\033[22m')"
5r="$(echo -n -e '\033[31m')"
6g="$(echo -n -e '\033[32m')"
7c="$(echo -n -e '\033[33m')"
8e="$(echo -n -e '\033[0m')"
9
10ignore() { }
11MULTI_CONTINUE=false
12[ -r .cleanbuildrc ] && . ./.cleanbuildrc
13
14[ -d mbuild ] || mkdir mbuild
15
16end_pkg()
17{
18 result=fail
19 [ $ret -eq 0 ] && result=ok
20 mv mbuild/start.$package mbuild/$result.$package
21}
22
23get_pkg()
24{
25 list="$1"
26 package=""
27 [ -r $list ] || return
28 while read pkg info; do
29 if [ ! -r mbuild/ok.$pkg ] && [ ! -r mbuild/fail.$pkg ] \
30 && [ ! -r mbuild/start.$pkg ]; then
31 package="$pkg"
32 touch mbuild/start.$package
33 break
34 fi
35 done < $list
36}
37
38
39next_pkg()
40{
41 get_pkg blist
42
43 [ -n "$package" ] && return
44
45 get_pkg blist2
46
47 if [ -z "$package" ]; then
48 echo "${c}Nothing to build${e}"
49 exit
50 fi
51}
52
53./clean "$@"
54package=
55next_pkg
56build="cleanbuild"
57while true; do
58 time ./$build "$@" $package
59 ret=$?
60
61 OLDPWD="$PWD"
62 cd $HOME/rpm/packages/$package
63 DIFF="$(cvs -z3 diff -u $package.spec)"
64 echo "$DIFF" | colordiff
65 cd $OLDPWD
66
67 if [ $ret -eq 0 ]; then
68 COLOR="$g"
69 else
70 COLOR="$r"
71 fi
72 echo "$COLOR$package build finished with exit status $ret$e"
73
74 if $MULTI_CONTINUE && [ $ret -eq 0 -a -z "$DIFF" ]; then
75 echo "Nothing changed: continuing\n"
76 ./clean "$@"
77 end_pkg
78 exec $0 "$@"
79 exit
80 fi
81
82 MULTI_CONTINUE=false
83
84 while true; do
85 echo
86 echo -n "${c}clean ${b}r${B}ebuild," "re${b}b${B}uild," \
87 "${b}i${B}nstall," "${b}a${B}ddbr," \
88 "${b}v${B}im," "${b}c${B}i," \
89 "${b}l${B}og," "${b}N${B}ext ?${e} "
90
91 read ans
92 case "x$ans" in
93 x[rR])
94 build="cleanbuild"
95 ;;
96 x[bB])
97 build="build"
98 ;;
99 x[iI])
100 echo -n "${c}install>${e} "
101 read pkg
102 ./install "$@" $pkg
103 echo "pkg installed with exit status $?"
104 continue
105 ;;
106 x[aA])
107 echo -n "${c}br>${e} "
108 read pkg
109 ./install "$@" $pkg
110 echo "pkg installed with exit status $?"
111 [ $? == 0 ] && ./addbr $package $pkg "requested"
112 continue
113 ;;
114 x[vV])
115 vim $HOME/rpm/packages/$package/$package.spec
116 continue
117 ;;
118 x[cC])
119 cd $HOME/rpm/packages/
120 ./ci $package
121 cd -
122 continue
123 ;;
124 x[lL])
125 vim buildlogs/$package
126 continue
127 ;;
128 xN)
129 ./clean "$@"
130 end_pkg
131 exec $0 "$@"
132 exit
133 ;;
134 xn)
135 echo "upper case N required"
136 continue
137 ;;
138 x[qQ])
139 ./clean "$@"
140 end_pkg
141 exit
142 ;;
143 *)
144 continue
145 ;;
146 esac
147 break
148 done
149done
150
151# vim: ts=4:sw=4
This page took 0.078523 seconds and 4 git commands to generate.