]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - client/rebuild-th-kernel.sh
Replace rebuild-th-kernel.sh with rebuild-kernel-packages.py
[projects/pld-builder.new.git] / client / rebuild-th-kernel.sh
CommitLineData
0916169e 1#!/bin/sh
98f4b7db 2set -e
0916169e 3
e80b5fcd
ER
4dir=$(cd "$(dirname "$0")"; pwd)
5rpmdir=$(rpm -E %_topdir)
6dist=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 39pkgs_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
63pkgs_head="
b0917a53 64 xtables-addons:master
e80b5fcd
ER
65"
66
aaff02e7
JR
67pkgs_3_14="
68 xtables-addons:master
69"
70
f6a3b70c
JR
71pkgs_3_10="
72 xtables-addons:master
73"
74
75pkgs_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
84autotag() {
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
119get_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 144cd $rpmdir
0916169e 145case "$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 ;;
253esac
This page took 0.134438 seconds and 4 git commands to generate.