]>
Commit | Line | Data |
---|---|---|
0916169e | 1 | #!/bin/sh |
98f4b7db | 2 | set -e |
0916169e | 3 | |
e80b5fcd ER |
4 | dir=$(cd "$(dirname "$0")"; pwd) |
5 | rpmdir=$(rpm -E %_topdir) | |
6 | dist=th | |
7 | ||
0c06b9d8 JR |
8 | # userspace+kernel: |
9 | # crash | |
10 | # dahdi-linux | |
11 | # ipset | |
12 | # linux-fusion | |
13 | # open-vm-tools | |
14 | # spl | |
15 | # tpm_emulator | |
16 | # VirtualBox | |
17 | # vpb-driver | |
18 | # xorg-driver-video-fglrx | |
19 | # xorg-driver-video-nvidia | |
20 | # xorg-driver-video-nvidia-legacy3 | |
21 | # xorg-driver-video-nvidia-legacy-304xx | |
22 | # xtables-addons | |
23 | # | |
24 | # lirc | |
25 | # madwifi-ng | |
26 | # | |
27 | # kernel: | |
28 | # e1000e | |
29 | # igb | |
30 | # ixgbe | |
31 | # lin_tape | |
32 | # lttng-modules | |
33 | # nvidiabl | |
34 | # r8168 | |
35 | # wl | |
36 | # | |
37 | # linuxrdac | |
38 | ||
4ec0a7a5 | 39 | pkgs_all=" |
b0917a53 | 40 | crash |
e80b5fcd | 41 | dahdi-linux |
a6889455 JR |
42 | e1000e |
43 | igb | |
e600b426 | 44 | ipset |
a6889455 | 45 | ixgbe |
b0917a53 | 46 | wl |
6655c4d8 | 47 | lin_tape |
f1bf7259 | 48 | linux-fusion |
b0917a53 | 49 | lttng-modules |
f1bf7259 | 50 | nvidiabl |
e600b426 JR |
51 | open-vm-tools |
52 | r8168 | |
b0917a53 JR |
53 | spl |
54 | tpm_emulator | |
e600b426 | 55 | VirtualBox |
f1bf7259 | 56 | vpb-driver |
e600b426 JR |
57 | xorg-driver-video-fglrx |
58 | xorg-driver-video-nvidia | |
4ec0a7a5 | 59 | xorg-driver-video-nvidia-legacy3 |
b0917a53 | 60 | xorg-driver-video-nvidia-legacy-304xx |
4ec0a7a5 JR |
61 | " |
62 | ||
63 | pkgs_head=" | |
b0917a53 | 64 | xtables-addons:master |
e80b5fcd ER |
65 | " |
66 | ||
aaff02e7 JR |
67 | pkgs_3_14=" |
68 | xtables-addons:master | |
69 | " | |
70 | ||
f6a3b70c JR |
71 | pkgs_3_10=" |
72 | xtables-addons:master | |
73 | " | |
74 | ||
75 | pkgs_3_4=" | |
4ec0a7a5 JR |
76 | lirc |
77 | madwifi-ng | |
b0917a53 | 78 | linuxrdac |
4ec0a7a5 JR |
79 | xtables-addons:XTADDONS_1 |
80 | " | |
e80b5fcd ER |
81 | |
82 | # autotag from rpm-build-macros | |
83 | # displays latest used tag for a specfile | |
84 | autotag() { | |
b0917a53 | 85 | local out spec pkg ref headobj githead |
7f33ba6f | 86 | for spec in "$@"; do |
e80b5fcd | 87 | # strip branches |
7f33ba6f | 88 | pkg=${spec%:*} |
b0917a53 JR |
89 | githead=${spec#*:} |
90 | if [ "$githead" = "$spec" ]; then | |
91 | githead= | |
92 | fi | |
e80b5fcd | 93 | # ensure package ends with .spec |
7f33ba6f ER |
94 | spec=${pkg%.spec}.spec |
95 | # and pkg without subdir | |
96 | pkg=${pkg#*/} | |
97 | # or .ext | |
98 | pkg=${pkg%%.spec} | |
68a30f8a | 99 | cd $pkg |
113cb5b0 | 100 | git fetch --tags |
5f0ba6b8 JR |
101 | if [ -n "$alt_kernel" ]; then |
102 | ref="refs/tags/auto/${dist}/${pkg}-${alt_kernel}-[0-9]*" | |
103 | else | |
104 | ref="refs/tags/auto/${dist}/${pkg}-[0-9]*" | |
105 | fi | |
b0917a53 JR |
106 | if [ -n "$githead" ]; then |
107 | headobj=$(git for-each-ref refs/heads/$githead --format='%(objectname)') | |
108 | fi | |
109 | if [ -n "$headobj" ]; then | |
110 | out=$(git for-each-ref $ref --sort=authordate --format='%(objectname) %(refname:short)' | grep "$headobj" | cut -f 2 -d ' ' | tail -n 1) | |
111 | else | |
112 | out=$(git for-each-ref $ref --sort=-authordate --format='%(refname:short)' --count=1) | |
113 | fi | |
7f33ba6f | 114 | echo "$spec:$out" |
cd5a5be0 | 115 | cd - >/dev/null |
e80b5fcd ER |
116 | done |
117 | } | |
118 | ||
119 | get_last_tags() { | |
b0917a53 | 120 | local pkg spec pkgname pkgbranch |
ea0b3fb4 ER |
121 | |
122 | echo >&2 "Fetching package tags: $*..." | |
123 | for pkg in "$@"; do | |
e80b5fcd | 124 | echo >&2 "$pkg... " |
b0917a53 JR |
125 | # strip branches |
126 | pkgname=${pkg%:*} | |
127 | pkgbranch=${pkg#*:} | |
128 | if [ "$pkgbranch" = "$pkg" ]; then | |
129 | pkgbranch="master" | |
ea0b3fb4 | 130 | fi |
b0917a53 JR |
131 | $rpmdir/builder -g $pkgname -ns -r $pkgbranch 1>&2 |
132 | if [ ! -e $pkgname/$pkgname.spec ]; then | |
ea0b3fb4 ER |
133 | # just print it out, to fallback to base pkg name |
134 | echo "$pkg" | |
135 | else | |
b0917a53 | 136 | spec=$(autotag $pkgname/$pkg) |
7f33ba6f | 137 | spec=${spec#*/} |
ea0b3fb4 ER |
138 | echo >&2 "... $spec" |
139 | echo $spec | |
e80b5fcd | 140 | fi |
e80b5fcd ER |
141 | done |
142 | } | |
143 | ||
ea0b3fb4 | 144 | cd $rpmdir |
0916169e | 145 | case "$1" in |
b0917a53 | 146 | all) |
aaff02e7 JR |
147 | srcpkgs= |
148 | for v in "-" "-3.4-" "-3.10-" "-3.14-"; do | |
4184fac7 | 149 | srcpkgs="$srcpkgs kernel${v}headers kernel${v}module-build" |
aaff02e7 JR |
150 | done |
151 | $dir/make-request.sh -b th-src -t -c "poldek -n th -n th-ready -n th-test --up ; poldek -uGv $srcpkgs" | |
b0917a53 JR |
152 | echo press enter after src builder updates kernel packages |
153 | read | |
154 | specs=$(get_last_tags $pkgs_all) | |
aaff02e7 | 155 | $dir/make-request.sh -nd -r -d $dist --define 'build_kernels 3.4,3.10,3.14' --without userspace $specs |
b0917a53 JR |
156 | if [ -n "$pkgs_head" ]; then |
157 | specs=$(get_last_tags $pkgs_head) | |
158 | $dir/make-request.sh -nd -r -d $dist --without userspace $specs | |
159 | fi | |
aaff02e7 JR |
160 | if [ -n "$pkgs_3_14" ]; then |
161 | specs=$(get_last_tags $pkgs_3_14) | |
162 | $dir/make-request.sh -nd -r -d $dist --kernel 3.14 --without userspace $specs | |
163 | fi | |
f6a3b70c JR |
164 | if [ -n "$pkgs_3_10" ]; then |
165 | specs=$(get_last_tags $pkgs_3_10) | |
166 | $dir/make-request.sh -nd -r -d $dist --kernel 3.10 --without userspace $specs | |
167 | fi | |
168 | if [ -n "$pkgs_3_4" ]; then | |
169 | specs=$(get_last_tags $pkgs_3_4) | |
170 | $dir/make-request.sh -nd -r -d $dist --kernel 3.4 --without userspace $specs | |
b0917a53 JR |
171 | fi |
172 | ;; | |
0916169e | 173 | head) |
b0917a53 JR |
174 | $dir/make-request.sh -b th-src -t -c 'poldek -n th -n th-ready -n th-test --up ; poldek -uGv kernel-headers kernel-module-build' |
175 | ||
7f33ba6f | 176 | kernel=$(get_last_tags kernel) |
7cdd8ec7 | 177 | kernel=$(echo ${kernel#*auto/??/} | tr _ .) |
b0917a53 JR |
178 | echo $kernel |
179 | echo press enter after src builder updates kernel packages | |
180 | read | |
181 | specs=$(get_last_tags $pkgs_all) | |
aaff02e7 | 182 | $dir/make-request.sh -nd -r -d $dist --define 'build_kernels 3.4,3.10,3.14' --without userspace $specs |
b0917a53 JR |
183 | if [ -n "$pkgs_head" ]; then |
184 | specs=$(get_last_tags $pkgs_head) | |
185 | $dir/make-request.sh -nd -r -d $dist --without userspace $specs | |
186 | fi | |
0916169e | 187 | ;; |
aaff02e7 JR |
188 | 3.14) |
189 | $dir/make-request.sh -b th-src -t -c 'poldek -n th -n th-ready -n th-test --up ; poldek -uGv kernel-3.14-headers kernel-3.14-module-build' | |
190 | ||
191 | kernel=$(alt_kernel=3.14 get_last_tags kernel) | |
192 | kernel=$(echo ${kernel#*auto/??/} | tr _ .) | |
193 | echo $kernel | |
194 | echo press enter after src builder updates kernel packages | |
195 | read | |
196 | specs=$(get_last_tags $pkgs_all) | |
197 | $dir/make-request.sh -nd -r -d $dist --define 'build_kernels 3.4,3.10,3.14' --without userspace $specs | |
198 | if [ -n "$pkgs_3_14" ]; then | |
199 | specs=$(get_last_tags $pkgs_3_14) | |
200 | $dir/make-request.sh -nd -r -d $dist --kernel 3_14 --without userspace $specs | |
201 | fi | |
202 | ;; | |
f6a3b70c JR |
203 | 3.10) |
204 | $dir/make-request.sh -b th-src -t -c 'poldek -n th -n th-ready -n th-test --up ; poldek -uGv kernel-3.10-headers kernel-3.10-module-build' | |
205 | ||
206 | kernel=$(alt_kernel=3.10 get_last_tags kernel) | |
207 | kernel=$(echo ${kernel#*auto/??/} | tr _ .) | |
208 | echo $kernel | |
209 | echo press enter after src builder updates kernel packages | |
210 | read | |
211 | specs=$(get_last_tags $pkgs_all) | |
aaff02e7 | 212 | $dir/make-request.sh -nd -r -d $dist --define 'build_kernels 3.4,3.10,3.14' --without userspace $specs |
f6a3b70c JR |
213 | if [ -n "$pkgs_3_10" ]; then |
214 | specs=$(get_last_tags $pkgs_3_10) | |
215 | $dir/make-request.sh -nd -r -d $dist --kernel 3_10 --without userspace $specs | |
216 | fi | |
217 | ;; | |
218 | 3.4) | |
219 | $dir/make-request.sh -b th-src -t -c 'poldek -n th -n th-ready -n th-test --up ; poldek -uGv kernel-3.4-headers kernel-3.4-module-build' | |
b0917a53 | 220 | |
f6a3b70c | 221 | kernel=$(alt_kernel=3.4 get_last_tags kernel) |
7cdd8ec7 | 222 | kernel=$(echo ${kernel#*auto/??/} | tr _ .) |
b0917a53 JR |
223 | echo $kernel |
224 | echo press enter after src builder updates kernel packages | |
225 | read | |
226 | specs=$(get_last_tags $pkgs_all) | |
aaff02e7 | 227 | $dir/make-request.sh -nd -r -d $dist --define 'build_kernels 3.4,3.10,3.14' --without userspace $specs |
f6a3b70c JR |
228 | if [ -n "$pkgs_3_4" ]; then |
229 | specs=$(get_last_tags $pkgs_3_4) | |
230 | $dir/make-request.sh -nd -r -d $dist --kernel 3_4 --without userspace $specs | |
ac57a4f6 | 231 | fi |
e80b5fcd | 232 | ;; |
0916169e | 233 | *) |
ea0b3fb4 ER |
234 | # try to parse all args, filling them with last autotag |
235 | while [ $# -gt 0 ]; do | |
236 | case "$1" in | |
237 | --kernel|--with|--without) | |
238 | args="$1 $2" | |
239 | shift | |
240 | ;; | |
241 | -*) | |
242 | args="$args $1" | |
243 | ;; | |
244 | *) | |
245 | specs="$specs $1" | |
246 | ;; | |
247 | esac | |
248 | shift | |
249 | done | |
250 | specs=$(get_last_tags $specs) | |
de0df67d | 251 | $dir/make-request.sh -nd -r -d $dist $args $specs |
0916169e AM |
252 | ;; |
253 | esac |