]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - client/rebuild-th-kernel.sh
- debug off
[projects/pld-builder.new.git] / client / rebuild-th-kernel.sh
CommitLineData
0916169e
AM
1#!/bin/sh
2
e80b5fcd
ER
3dir=$(cd "$(dirname "$0")"; pwd)
4rpmdir=$(rpm -E %_topdir)
5dist=th
6
7pkgs_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
24pkgs_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
32autotag() {
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
48get_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 69cd $rpmdir
0916169e 70case "$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 ;;
115esac
This page took 0.065454 seconds and 4 git commands to generate.