]> TLD Linux GIT Repositories - packages/rpm-build-tools.git/blob - kde4send2builders.sh
- pull before geting tag ;)
[packages/rpm-build-tools.git] / kde4send2builders.sh
1 #!/bin/sh
2 # Authors:
3 # - Bartosz Świątek (shadzik@tld-linux.org)
4 #
5 # helps sending kde4 specs in proper order with or without autotags
6
7 usage() {
8         echo "Usage: $0 OPTIONS SPECS"
9         echo ""
10         echo "Where OPTIONS are:"
11         echo ""
12         echo "  -d   --distro VALUE"
13         echo "     set distro, probably th or ti will fit the most"
14         echo "  -at  --with-auto-tag"
15         echo "     send with current autotag, default no"
16         echo "  -b   --builder VALUE"
17         echo "     choose a particular builder, default all"
18         echo "  -p   --priority VALUE (default: 2)"
19         echo "  -h   --help"
20         echo "     show this help"
21         echo ""
22         echo "Choose SPECS out of:"
23         echo ""
24         echo "all - all * (libs, base, other, koffice, l10n)"
25         echo "libs - kdelibs and kdepimlibs"
26         echo "base - kdebase* oxygen-icons"
27         echo "other - all other * except libs and base"
28         echo "koffice - koffice"
29         echo "l10n - l10n"
30         echo "kdevelop - devplatform, kdevelop-*"
31         echo "almost-all - all but koffice and l10n"
32         echo ""
33         exit 0
34 }
35
36 DIST=
37 ATAG=no
38 SENDPRIO=
39 BUILDER=
40 PRIO=2
41 #SPECDIR=$(rpm -E %_specdir)
42 SPECDIR=~/rpm
43
44 LIBS="kdelibs.spec kdepimlibs.spec"
45 BASE="kactivities oxygen-icons.spec kde-workspace.spec kde-runtime.spec kde-baseapps.spec kde-wallpapers.spec"
46 OTHER="jovie.spec \
47 kaccessible.spec \
48 kmouth.spec \
49 kmousetool.spec \
50 kmag.spec \
51 ark.spec \
52 filelight.spec \
53 kcalc.spec \
54 kcharselect.spec \
55 kdf.spec \
56 kfloppy.spec \
57 kgpg.spec \
58 kremotecontrol.spec \
59 ktimer.spec \
60 kwallet.spec \
61 superkaramba.spec \
62 sweeper.spec \
63 python-PyKDE4.spec \
64 kdeadmin.spec \
65 libkexiv2.spec \
66 kdeartwork.spec \
67 kdegames.spec \
68 kdemultimedia.spec \
69 kdenetwork.spec \
70 kdepim-runtime.spec \
71 kdepim.spec 
72 marble.spec \
73 kdeplasma-addons.spec \
74 kdewebdev.spec \
75 libkdcraw.spec \
76 libkdeedu.spec \
77 libkipi.spec \
78 libksane.spec \
79 gwenview.spec \
80 analitza.spec \
81 kalgebra.spec \
82 kamera.spec \
83 kate.spec \
84 kcolorchooser.spec \
85 kgamma.spec \
86 kolourpaint.spec \
87 konsole.spec \
88 kruler.spec \
89 ksnapshot.spec \
90 okular.spec \
91 kdegraphics-mobipocket.spec \
92 kdegraphics-strigi-analyzer.spec \
93 kdegraphics-thumbnailers.spec \
94 svgpart.spec \
95 ksaneplugin.spec \
96 kdetoys.spec"
97 KOFFICE="koffice.spec koffice-l10n.spec"
98 L10N="l10n.spec"
99 KDEVELOP="kdevplatform.spec \
100 kdevelop.spec
101 kdevelop-plugin-php.spec"
102
103 while [ $# -gt 0 ]; do
104         case "$1" in
105                 --distro | -d )
106                         DIST=$2
107                         shift
108                         ;;
109
110                 --with-auto-tag | -at )
111                         ATAG=yes
112                         ;;
113
114                 --builder | -b )
115                         BUILDER="$BUILDER $2"
116                         shift
117                         ;;
118                 
119                 --priority | -p )
120                         PRIO=$2
121                         shift
122                         ;;
123
124                 --help | -h )
125                         usage
126                         ;;
127
128                 -* )
129                         die "Unknow option: $1"
130                         ;;
131
132                 *:* | * )
133                         specs="$specs $1"
134                         ;;
135         esac
136         shift
137 done
138
139 specs=`for s in $specs; do
140         case "$s" in
141         all) # all kde4 specs
142                         echo $LIBS $BASE $OTHER $KOFFICE $L10N
143                         ;;
144         libs) # kde4 libs, libs-experimental and pimlibs
145                         echo $LIBS
146                         ;;
147         base) # kdebase-*
148                         echo $BASE
149                         ;;
150         other) # *
151                         echo $OTHER
152                         ;;
153         koffice) # koffice
154                         echo $KOFFICE
155                         ;;
156         l10n) # l10n
157                         echo $L10N
158                         ;;
159         kdevelop) # kdevplatform and kdevelop-*
160                         echo $KDEVELOP
161                         ;;
162         almost-all) # all but koffice and l10n
163                         echo $LIBS $BASE $OTHER
164                         ;;
165         *) # not listed ones
166                         echo $s
167                         ;;
168         esac
169 done`
170
171 if [ "$DIST" == "ti-dev" ]; then
172         disttag="ti"
173 else
174         disttag=$DIST
175 fi
176
177 if [ "$ATAG" == "yes" ]; then
178         for spec in $specs; do
179                 PKG=$(echo $spec |sed -e 's/.spec//g')
180                 if [ ! -d $PKG ]; then
181                         git clone git@git.tld-linux.org:packages/${PKG}
182                 fi
183                 LAST_AUTOTAG=$(cd $PKG && git pull >/dev/null && git tag |tail -n 1)
184                 sleep 1
185                 SENDPRIO="$SENDPRIO $spec:$LAST_AUTOTAG "
186         done
187 else
188         SENDPRIO=$specs
189 fi
190
191 dir=$(dirname "$0")
192 exec sh $dir/make-request.sh ${DIST:+-d $DIST} ${BUILDER:+-b "$BUILDER"} -p $PRIO -r $SENDPRIO
193 echo >&2 "Failed to execute ./make-request.sh!"
194 exit 1