]> git.pld-linux.org Git - projects/pld-builder.new.git/blame_incremental - client/rebuild-th-kernel.sh
- batch make-request calls
[projects/pld-builder.new.git] / client / rebuild-th-kernel.sh
... / ...
CommitLineData
1#!/bin/sh
2set -e
3
4dir=$(cd "$(dirname "$0")"; pwd)
5rpmdir=$(rpm -E %_topdir)
6dist=th
7
8pkgs_head="
9 dahdi-linux
10 e1000e
11 igb
12 ipset
13 ixgbe
14 linuxrdac
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
23"
24
25pkgs_longterm="
26 iscsitarget
27 openvswitch
28 xorg-driver-video-nvidia-legacy3
29"
30
31# autotag from rpm-build-macros
32# displays latest used tag for a specfile
33autotag() {
34 local out spec pkg
35 for spec in "$@"; do
36 # strip branches
37 pkg=${spec%:*}
38 # ensure package ends with .spec
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"
46 done
47}
48
49get_last_tags() {
50 local pkg spec
51
52 echo >&2 "Fetching package tags: $*..."
53 for pkg in "$@"; do
54 echo >&2 "$pkg... "
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)
63 spec=${spec#*/}
64 echo >&2 "... $spec"
65 echo $spec
66 fi
67 done
68}
69
70cd $rpmdir
71case "$1" in
72 head)
73 kernel=$(get_last_tags kernel)
74 kernel=$(echo ${kernel#*auto-??-} | tr _ .)
75 specs=""
76 for pkg in $pkgs_head; do
77 echo >&2 "Rebuilding $pkg..."
78 $rpmdir/builder -g $pkg -ns
79 $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
80 specs="$specs $pkg.spec"
81 done
82 $dir/make-request.sh -r -d $dist $specs
83 ;;
84 longterm)
85 kernel=$(alt_kernel=longterm get_last_tags kernel)
86 kernel=$(echo ${kernel#*auto-??-} | tr _ .)
87 specs=""
88 for pkg in $pkgs_longterm; do
89 echo >&2 "Rebuilding $pkg..."
90 $rpmdir/builder -g $pkg -ns
91 $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
92 specs="$specs $pkg.spec"
93 done
94 $dir/make-request.sh -r -d $dist --without kernel $specs
95
96 specs=$(get_last_tags $pkgs_head $pkgs_longterm)
97 $dir/make-request.sh -r -d $dist --kernel longterm --without userspace $specs
98 ;;
99 *)
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
118 ;;
119esac
This page took 0.026631 seconds and 4 git commands to generate.