]> TLD Linux GIT Repositories - tld-builder.git/blob - client/kde4send2builders.sh
- show full time and date in HTML queue, drop filtering by requester
[tld-builder.git] / client / kde4send2builders.sh
1 #!/bin/sh
2 # Authors:
3 # - Bartosz Świątek (shadzik@pld-linux.org)
4 # - Elan Ruusamäe (glen@pld-linux.org)
5 #
6 # helps sending kde4 specs in proper order with or without autotags
7
8 usage() {
9         echo "Usage: $0 OPTIONS SPECS"
10         echo ""
11         echo "Where OPTIONS are:"
12         echo ""
13         echo "  -d   --distro VALUE"
14         echo "     set distro, probably th or ti will fit the most"
15         echo "  -at  --with-auto-tag"
16         echo "     send with current autotag, default no"
17         echo "  -b   --builder VALUE"
18         echo "     choose a particular builder, default all"
19         echo "  -p   --priority VALUE (default: 2)"
20         echo "  -h   --help"
21         echo "     show this help"
22         echo ""
23         echo "Choose SPECS out of:"
24         echo ""
25         echo "all - all kde4-* (libs, base, other, koffice, l10n)"
26         echo "libs - kde4-kdelibs and kde4-kdepimlibs"
27         echo "base - kde4-kdebase* kde4-oxygen-icons"
28         echo "other - all other kde4-* except libs and base"
29         echo "koffice - kde4-koffice"
30         echo "l10n - kde4-l10n"
31         echo "kdevelop - kde4-devplatform, kde4-kdevelop-*"
32         echo "almost-all - all but koffice and l10n"
33         echo ""
34         exit 0
35 }
36
37 DIST=
38 ATAG=no
39 SENDPRIO=
40 BUILDER=
41 PRIO=2
42 #SPECDIR=$(rpm -E %_specdir)
43 SPECDIR=~/rpm
44
45 LIBS="kde4-kdelibs.spec kde4-kdepimlibs.spec"
46 BASE="kde4-oxygen-icons.spec kde4-kdebase-runtime.spec kde4-kdebase-workspace.spec kde4-kwebkitpart.spec kde4-kdebase.spec"
47 OTHER="kde4-kdemultimedia.spec kde4-kdegraphics.spec \
48 kde4-kdenetwork.spec \
49 kde4-kdepim.spec \
50 kde4-kdepim-runtime.spec \
51 kde4-kdeartwork.spec \
52 kde4-kdewebdev.spec \
53 kde4-kdeutils.spec \
54 kde4-kdeaccessibility.spec \
55 kde4-kdebindings.spec \
56 kde4-kdegames.spec \
57 kde4-kdeedu.spec \
58 kde4-kdeplasma-addons.spec \
59 kde4-kdesdk.spec \
60 kde4-kdeadmin.spec \
61 kde4-kdetoys.spec \
62 kde4-kget.spec \
63 kde4-kppp.spec \
64 kde4-krfb.spec"
65 KOFFICE="kde4-koffice.spec kde4-koffice-l10n.spec"
66 L10N="kde4-l10n.spec"
67 KDEVELOP="kde4-kdevplatform.spec \
68 kde4-kdevelop.spec
69 kde4-kdevelop-plugin-php.spec"
70
71 while [ $# -gt 0 ]; do
72         case "$1" in
73                 --distro | -d )
74                         DIST=$2
75                         shift
76                         ;;
77
78                 --with-auto-tag | -at )
79                         ATAG=yes
80                         ;;
81
82                 --builder | -b )
83                         BUILDER="$BUILDER $2"
84                         shift
85                         ;;
86                 
87                 --priority | -p )
88                         PRIO=$2
89                         shift
90                         ;;
91
92                 --help | -h )
93                         usage
94                         ;;
95
96                 -* )
97                         die "Unknow option: $1"
98                         ;;
99
100                 *:* | * )
101                         specs="$specs $1"
102                         ;;
103         esac
104         shift
105 done
106
107 specs=`for s in $specs; do
108         case "$s" in
109         all) # all kde4 specs
110                         echo $LIBS $BASE $OTHER $KOFFICE $L10N
111                         ;;
112         libs) # kde4 libs, libs-experimental and pimlibs
113                         echo $LIBS
114                         ;;
115         base) # kde4-kdebase-*
116                         echo $BASE
117                         ;;
118         other) # kde4-*
119                         echo $OTHER
120                         ;;
121         koffice) # kde4-koffice
122                         echo $KOFFICE
123                         ;;
124         l10n) # kde4-l10n
125                         echo $L10N
126                         ;;
127         kdevelop) # kde4-kdevplatform and kde4-kdevelop-*
128                         echo $KDEVELOP
129                         ;;
130         almost-all) # all but koffice and l10n
131                         echo $LIBS $BASE $OTHER
132                         ;;
133         *) # not listed ones
134                         echo $s
135                         ;;
136         esac
137 done`
138
139 if [ "$DIST" == "ti-dev" ]; then
140        disttag="ti"
141 else
142        disttag=$DIST
143 fi
144
145 if [ "$ATAG" == "yes" ]; then
146         for spec in $specs; do
147                 PKG=$(echo $spec |sed -e 's/.spec//g')
148                 LAST_AUTOTAG=$(cd $SPECDIR/packages && ./builder -g -ns $PKG/$spec >/dev/null 2>&1 && cvs status -v $PKG/$spec | awk -vdist=$disttag '!/Sticky/ && $1 ~ "^auto-" dist "-"{if (!a++) print $1}')
149                 sleep 1
150                 SENDPRIO="$SENDPRIO $spec:$LAST_AUTOTAG "
151         done
152 else
153         SENDPRIO=$specs
154 fi
155
156 dir=$(dirname "$0")
157 exec $dir/make-request.sh ${DIST:+-d $DIST} ${BUILDER:+-b "$BUILDER"} -p $PRIO -r $SENDPRIO
158 echo >&2 "Failed to execute ./make-request.sh!"
159 exit 1