]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - client/rebuild-th-kernel.sh
make-request.sh: don't print dirname in autotag requests
[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
612a650b 21 xorg-driver-video-fglrx-legacy-12.x
e600b426
JR
22 xorg-driver-video-nvidia
23 xtables-addons
e80b5fcd
ER
24"
25
26pkgs_longterm="
e600b426
JR
27 iscsitarget
28 openvswitch
29 xorg-driver-video-nvidia-legacy3
e80b5fcd
ER
30"
31
32# autotag from rpm-build-macros
33# displays latest used tag for a specfile
34autotag() {
ad458cbe 35 local out spec pkg
7f33ba6f 36 for spec in "$@"; do
e80b5fcd 37 # strip branches
7f33ba6f 38 pkg=${spec%:*}
e80b5fcd 39 # ensure package ends with .spec
7f33ba6f
ER
40 spec=${pkg%.spec}.spec
41 # and pkg without subdir
42 pkg=${pkg#*/}
43 # or .ext
44 pkg=${pkg%%.spec}
68a30f8a 45 cd $pkg
113cb5b0 46 git fetch --tags
ad458cbe 47 out=$(git for-each-ref refs/tags/auto/${dist}/${pkg}-${alt_kernel}* --sort=-authordate --format='%(refname:short)' --count=1)
7f33ba6f 48 echo "$spec:$out"
f9577389 49 cd - >/dev/null
e80b5fcd
ER
50 done
51}
52
53get_last_tags() {
54 local pkg spec
ea0b3fb4
ER
55
56 echo >&2 "Fetching package tags: $*..."
57 for pkg in "$@"; do
e80b5fcd 58 echo >&2 "$pkg... "
ea0b3fb4
ER
59 if [ ! -e $pkg/$pkg.spec ]; then
60 $rpmdir/builder -g $pkg -ns -r HEAD 1>&2
61 fi
62 if [ ! -e $pkg/$pkg.spec ]; then
63 # just print it out, to fallback to base pkg name
64 echo "$pkg"
65 else
66 spec=$(autotag $pkg/$pkg.spec)
7f33ba6f 67 spec=${spec#*/}
ea0b3fb4
ER
68 echo >&2 "... $spec"
69 echo $spec
e80b5fcd 70 fi
e80b5fcd
ER
71 done
72}
73
ea0b3fb4 74cd $rpmdir
0916169e 75case "$1" in
0916169e 76 head)
7f33ba6f 77 kernel=$(get_last_tags kernel)
7cdd8ec7 78 kernel=$(echo ${kernel#*auto/??/} | tr _ .)
8e4d8772 79 specs=""
e80b5fcd 80 for pkg in $pkgs_head; do
0cd8550e 81 echo >&2 "Rebuilding $pkg..."
e80b5fcd 82 $rpmdir/builder -g $pkg -ns
98f4b7db 83 $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
8e4d8772 84 specs="$specs $pkg.spec"
0916169e 85 done
de0df67d 86 $dir/make-request.sh -nd -r -d $dist $specs
0916169e 87 ;;
e80b5fcd 88 longterm)
7f33ba6f 89 kernel=$(alt_kernel=longterm get_last_tags kernel)
7cdd8ec7 90 kernel=$(echo ${kernel#*auto/??/} | tr _ .)
8e4d8772 91 specs=""
e600b426
JR
92 for pkg in $pkgs_longterm; do
93 echo >&2 "Rebuilding $pkg..."
94 $rpmdir/builder -g $pkg -ns
98f4b7db 95 $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
8e4d8772 96 specs="$specs $pkg.spec"
e600b426 97 done
de0df67d
ER
98 # first build with main pkg (userspace), later build from tag
99 $dir/make-request.sh -nd -r -d $dist --without kernel $specs
8e4d8772 100
e600b426 101 specs=$(get_last_tags $pkgs_head $pkgs_longterm)
de0df67d 102 $dir/make-request.sh -nd -r -d $dist --kernel longterm --without userspace $specs
e80b5fcd 103 ;;
0916169e 104 *)
ea0b3fb4
ER
105 # try to parse all args, filling them with last autotag
106 while [ $# -gt 0 ]; do
107 case "$1" in
108 --kernel|--with|--without)
109 args="$1 $2"
110 shift
111 ;;
112 -*)
113 args="$args $1"
114 ;;
115 *)
116 specs="$specs $1"
117 ;;
118 esac
119 shift
120 done
121 specs=$(get_last_tags $specs)
de0df67d 122 $dir/make-request.sh -nd -r -d $dist $args $specs
0916169e
AM
123 ;;
124esac
This page took 0.172842 seconds and 4 git commands to generate.