]> git.pld-linux.org Git - projects/pld-builder.new.git/blob - client/rebuild-th-kernel.sh
9969267a64d327839a7e0e378e0237499a0c36c0
[projects/pld-builder.new.git] / client / rebuild-th-kernel.sh
1 #!/bin/sh
2
3 dir=$(cd "$(dirname "$0")"; pwd)
4 rpmdir=$(rpm -E %_topdir)
5 dist=th
6
7 pkgs_head="
8         dahdi-linux
9         ipset
10         iscsitarget
11         lirc
12         madwifi-ng
13         open-vm-tools
14         r8168
15         VirtualBox
16         xorg-driver-video-nvidia
17         xorg-driver-video-nvidia-legacy3
18         xtables-addons
19         xorg-driver-video-fglrx
20 "
21
22 pkgs_longterm="
23         $pkgs_head
24         openvswitch
25 "
26 pkgs_longterm_only="
27         e1000e
28         igb
29 "
30
31 # autotag from rpm-build-macros
32 # displays latest used tag for a specfile
33 autotag() {
34         local out s
35         for s in "$@"; do
36                 # strip branches
37                 s=${s%:*}
38                 # ensure package ends with .spec
39                 s=${s%.spec}.spec
40                 out=$(cvs status -v $s | awk "!/Sticky/&&/auto-$dist-/{if (!a++) print \$1}")
41                 echo "$s:$out"
42         done
43 }
44
45 get_last_tags() {
46         local pkg spec
47
48         echo >&2 "Fetching package tags: $*..."
49         for pkg in "$@"; do
50                 echo >&2 "$pkg... "
51                 if [ ! -e $pkg/$pkg.spec ]; then
52                         $rpmdir/builder -g $pkg -ns -r HEAD 1>&2
53                 fi
54                 if [ ! -e $pkg/$pkg.spec ]; then
55                         # just print it out, to fallback to base pkg name
56                         echo "$pkg"
57                 else
58                         spec=$(autotag $pkg/$pkg.spec)
59                         echo >&2 "... $spec"
60                         echo $spec
61                 fi
62         done
63 }
64
65 cd $rpmdir
66 case "$1" in
67         head)
68                 for pkg in $pkgs_head; do
69                         $rpmdir/builder -g $pkg -ns
70                         $rpmdir/relup.sh -ui $pkg/$pkg.spec && $dir/make-request.sh -d th $pkg.spec
71                 done
72                 ;;
73         longterm)
74                 cd $rpmdir
75                 specs=$(get_last_tags $pkgs_longterm)
76                 $dir/make-request.sh -r -d $dist --kernel longterm --without userspace $specs
77
78                 specs=$pkgs_longterm_only
79                 $dir/make-request.sh -r -d $dist --kernel longterm $specs
80                 ;;
81         *)
82                 # try to parse all args, filling them with last autotag
83                 while [ $# -gt 0 ]; do
84                         case "$1" in
85                         --kernel|--with|--without)
86                                 args="$1 $2"
87                                 shift
88                                 ;;
89                         -*)
90                                 args="$args $1"
91                                 ;;
92                         *)
93                                 specs="$specs $1"
94                                 ;;
95                         esac
96                         shift
97                 done
98                 specs=$(get_last_tags $specs)
99                 $dir/make-request.sh -r -d $dist $args $specs
100                 ;;
101 esac
This page took 0.027229 seconds and 3 git commands to generate.