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