]>
Commit | Line | Data |
---|---|---|
0916169e AM |
1 | #!/bin/sh |
2 | ||
e80b5fcd ER |
3 | dir=$(cd "$(dirname "$0")"; pwd) |
4 | rpmdir=$(rpm -E %_topdir) | |
5 | dist=th | |
6 | ||
7 | pkgs_head=" | |
8 | dahdi-linux | |
a6889455 JR |
9 | e1000e |
10 | igb | |
e600b426 | 11 | ipset |
a6889455 JR |
12 | ixgbe |
13 | linuxrdac | |
e600b426 JR |
14 | lirc |
15 | madwifi-ng | |
16 | open-vm-tools | |
17 | r8168 | |
18 | VirtualBox | |
19 | xorg-driver-video-fglrx | |
20 | xorg-driver-video-nvidia | |
21 | xtables-addons | |
e80b5fcd ER |
22 | " |
23 | ||
24 | pkgs_longterm=" | |
e600b426 JR |
25 | iscsitarget |
26 | openvswitch | |
27 | xorg-driver-video-nvidia-legacy3 | |
e80b5fcd ER |
28 | " |
29 | ||
30 | # autotag from rpm-build-macros | |
31 | # displays latest used tag for a specfile | |
32 | autotag() { | |
7f33ba6f ER |
33 | local out spec pkg |
34 | for spec in "$@"; do | |
e80b5fcd | 35 | # strip branches |
7f33ba6f | 36 | pkg=${spec%:*} |
e80b5fcd | 37 | # ensure package ends with .spec |
7f33ba6f ER |
38 | spec=${pkg%.spec}.spec |
39 | # and pkg without subdir | |
40 | pkg=${pkg#*/} | |
41 | # or .ext | |
42 | pkg=${pkg%%.spec} | |
43 | out=$(cvs status -v $spec | awk "!/Sticky/&&/auto-$dist-$pkg-$alt_kernel/{if (!a++) print \$1}") | |
44 | echo "$spec:$out" | |
e80b5fcd ER |
45 | done |
46 | } | |
47 | ||
48 | get_last_tags() { | |
49 | local pkg spec | |
ea0b3fb4 ER |
50 | |
51 | echo >&2 "Fetching package tags: $*..." | |
52 | for pkg in "$@"; do | |
e80b5fcd | 53 | echo >&2 "$pkg... " |
ea0b3fb4 ER |
54 | if [ ! -e $pkg/$pkg.spec ]; then |
55 | $rpmdir/builder -g $pkg -ns -r HEAD 1>&2 | |
56 | fi | |
57 | if [ ! -e $pkg/$pkg.spec ]; then | |
58 | # just print it out, to fallback to base pkg name | |
59 | echo "$pkg" | |
60 | else | |
61 | spec=$(autotag $pkg/$pkg.spec) | |
7f33ba6f | 62 | spec=${spec#*/} |
ea0b3fb4 ER |
63 | echo >&2 "... $spec" |
64 | echo $spec | |
e80b5fcd | 65 | fi |
e80b5fcd ER |
66 | done |
67 | } | |
68 | ||
ea0b3fb4 | 69 | cd $rpmdir |
0916169e | 70 | case "$1" in |
0916169e | 71 | head) |
7f33ba6f ER |
72 | kernel=$(get_last_tags kernel) |
73 | kernel=$(echo ${kernel#*auto-??-} | tr _ .) | |
e80b5fcd | 74 | for pkg in $pkgs_head; do |
0cd8550e | 75 | echo >&2 "Rebuilding $pkg..." |
e80b5fcd | 76 | $rpmdir/builder -g $pkg -ns |
7f33ba6f | 77 | $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec && $dir/make-request.sh -r -d th $pkg.spec |
0916169e AM |
78 | done |
79 | ;; | |
e80b5fcd ER |
80 | longterm) |
81 | cd $rpmdir | |
7f33ba6f ER |
82 | kernel=$(alt_kernel=longterm get_last_tags kernel) |
83 | kernel=$(echo ${kernel#*auto-??-} | tr _ .) | |
e600b426 JR |
84 | for pkg in $pkgs_longterm; do |
85 | echo >&2 "Rebuilding $pkg..." | |
86 | $rpmdir/builder -g $pkg -ns | |
7f33ba6f | 87 | $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec && $dir/make-request.sh -r -d th --without kernel $pkg.spec |
e600b426 JR |
88 | done |
89 | specs=$(get_last_tags $pkgs_head $pkgs_longterm) | |
0cd8550e JR |
90 | for pkg in $specs; do |
91 | echo >&2 "Rebuilding $pkg..." | |
92 | $dir/make-request.sh -r -d $dist --kernel longterm --without userspace $pkg | |
93 | done | |
e80b5fcd | 94 | ;; |
0916169e | 95 | *) |
ea0b3fb4 ER |
96 | # try to parse all args, filling them with last autotag |
97 | while [ $# -gt 0 ]; do | |
98 | case "$1" in | |
99 | --kernel|--with|--without) | |
100 | args="$1 $2" | |
101 | shift | |
102 | ;; | |
103 | -*) | |
104 | args="$args $1" | |
105 | ;; | |
106 | *) | |
107 | specs="$specs $1" | |
108 | ;; | |
109 | esac | |
110 | shift | |
111 | done | |
112 | specs=$(get_last_tags $specs) | |
113 | $dir/make-request.sh -r -d $dist $args $specs | |
0916169e AM |
114 | ;; |
115 | esac |