]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - client/rebuild-th-kernel.sh
- set -e
[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 _ .)
e80b5fcd 75 for pkg in $pkgs_head; do
0cd8550e 76 echo >&2 "Rebuilding $pkg..."
e80b5fcd 77 $rpmdir/builder -g $pkg -ns
98f4b7db
ER
78 $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
79 $dir/make-request.sh -r -d th $pkg.spec
0916169e
AM
80 done
81 ;;
e80b5fcd
ER
82 longterm)
83 cd $rpmdir
7f33ba6f
ER
84 kernel=$(alt_kernel=longterm get_last_tags kernel)
85 kernel=$(echo ${kernel#*auto-??-} | tr _ .)
e600b426
JR
86 for pkg in $pkgs_longterm; do
87 echo >&2 "Rebuilding $pkg..."
88 $rpmdir/builder -g $pkg -ns
98f4b7db
ER
89 $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
90 $dir/make-request.sh -r -d th --without kernel $pkg.spec
e600b426
JR
91 done
92 specs=$(get_last_tags $pkgs_head $pkgs_longterm)
0cd8550e
JR
93 for pkg in $specs; do
94 echo >&2 "Rebuilding $pkg..."
95 $dir/make-request.sh -r -d $dist --kernel longterm --without userspace $pkg
96 done
e80b5fcd 97 ;;
0916169e 98 *)
ea0b3fb4
ER
99 # try to parse all args, filling them with last autotag
100 while [ $# -gt 0 ]; do
101 case "$1" in
102 --kernel|--with|--without)
103 args="$1 $2"
104 shift
105 ;;
106 -*)
107 args="$args $1"
108 ;;
109 *)
110 specs="$specs $1"
111 ;;
112 esac
113 shift
114 done
115 specs=$(get_last_tags $specs)
116 $dir/make-request.sh -r -d $dist $args $specs
0916169e
AM
117 ;;
118esac
This page took 0.27526 seconds and 4 git commands to generate.