]>
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() { | |
33 | local out s | |
34 | for s in "$@"; do | |
35 | # strip branches | |
36 | s=${s%:*} | |
37 | # ensure package ends with .spec | |
38 | s=${s%.spec}.spec | |
39 | out=$(cvs status -v $s | awk "!/Sticky/&&/auto-$dist-/{if (!a++) print \$1}") | |
40 | echo "$s:$out" | |
41 | done | |
42 | } | |
43 | ||
44 | get_last_tags() { | |
45 | local pkg spec | |
ea0b3fb4 ER |
46 | |
47 | echo >&2 "Fetching package tags: $*..." | |
48 | for pkg in "$@"; do | |
e80b5fcd | 49 | echo >&2 "$pkg... " |
ea0b3fb4 ER |
50 | if [ ! -e $pkg/$pkg.spec ]; then |
51 | $rpmdir/builder -g $pkg -ns -r HEAD 1>&2 | |
52 | fi | |
53 | if [ ! -e $pkg/$pkg.spec ]; then | |
54 | # just print it out, to fallback to base pkg name | |
55 | echo "$pkg" | |
56 | else | |
57 | spec=$(autotag $pkg/$pkg.spec) | |
cd63efd1 | 58 | spec=${spec:#*/} |
ea0b3fb4 ER |
59 | echo >&2 "... $spec" |
60 | echo $spec | |
e80b5fcd | 61 | fi |
e80b5fcd ER |
62 | done |
63 | } | |
64 | ||
ea0b3fb4 | 65 | cd $rpmdir |
0916169e | 66 | case "$1" in |
0916169e | 67 | head) |
e80b5fcd | 68 | for pkg in $pkgs_head; do |
0cd8550e | 69 | echo >&2 "Rebuilding $pkg..." |
e80b5fcd | 70 | $rpmdir/builder -g $pkg -ns |
2024e645 | 71 | $rpmdir/relup.sh -ui $pkg/$pkg.spec && $dir/make-request.sh -r -d th $pkg.spec |
0916169e AM |
72 | done |
73 | ;; | |
e80b5fcd ER |
74 | longterm) |
75 | cd $rpmdir | |
e600b426 JR |
76 | for pkg in $pkgs_longterm; do |
77 | echo >&2 "Rebuilding $pkg..." | |
78 | $rpmdir/builder -g $pkg -ns | |
79 | $rpmdir/relup.sh -ui $pkg/$pkg.spec && $dir/make-request.sh -r -d th --without kernel $pkg.spec | |
80 | done | |
81 | specs=$(get_last_tags $pkgs_head $pkgs_longterm) | |
0cd8550e JR |
82 | for pkg in $specs; do |
83 | echo >&2 "Rebuilding $pkg..." | |
84 | $dir/make-request.sh -r -d $dist --kernel longterm --without userspace $pkg | |
85 | done | |
e80b5fcd | 86 | ;; |
0916169e | 87 | *) |
ea0b3fb4 ER |
88 | # try to parse all args, filling them with last autotag |
89 | while [ $# -gt 0 ]; do | |
90 | case "$1" in | |
91 | --kernel|--with|--without) | |
92 | args="$1 $2" | |
93 | shift | |
94 | ;; | |
95 | -*) | |
96 | args="$args $1" | |
97 | ;; | |
98 | *) | |
99 | specs="$specs $1" | |
100 | ;; | |
101 | esac | |
102 | shift | |
103 | done | |
104 | specs=$(get_last_tags $specs) | |
105 | $dir/make-request.sh -r -d $dist $args $specs | |
0916169e AM |
106 | ;; |
107 | esac |