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