]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - update-kde4.sh
- kde4-kdebase-workspace looks alive and well
[packages/rpm-build-tools.git] / update-kde4.sh
1 #!/bin/sh
2
3 KDEPKGS="
4 kde4-kdelibs
5 kde4-nepomuk-core
6 kde4-nepomuk-widgets
7 kde4-kactivities
8 kde4-kdepimlibs
9 kde4-oxygen-icons
10 kde4-kdebase-workspace
11 kde4-kdebase
12 kde4-libkdeedu
13 kde4-kdebase-runtime
14 python-PyKDE4
15 kde4-kate
16 kde4-okular
17 kde4-smokegen
18 kde4-smokeqt
19 kde4-smokekde
20 perl-Qt4
21 perl-KDE4
22 kde4-analitza
23 kde4-libkexiv2
24 kde4-libkcddb
25 kde4-libkdcraw
26 kde4-libkipi
27 kde4-libksane
28 kde4-marble
29 kde4-qyoto
30 kde4-ark
31 kde4-libkcompactdisc
32 kde4-audiocd-kio
33 kde4-blinken
34 kde4-cantor
35 kde4-dragon
36 kde4-ffmpegthumbs
37 kde4-filelight
38 kde4-gwenview
39 kde4-jovie
40 kde4-juk
41 kde4-kaccessible
42 kde4-kalgebra
43 kde4-kalzium
44 kde4-kamera
45 kde4-kanagram
46 kde4-kbruch
47 kde4-kcalc
48 kde4-kcharselect
49 kde4-kcolorchooser
50 kde4-kdebase-artwork
51 kde4-wallpapers
52 kde4-kdeartwork
53 kde4-kdegraphics-mobipocket
54 kde4-kdegraphics-strigi-analyzer
55 kde4-kdegraphics-thumbnailers
56 kde4-kdepim
57 kde4-kdepim-runtime
58 kde4-kdeplasma-addons
59 kde4-kdewebdev
60 kde4-kdf
61 kde4-kgamma
62 kde4-kgeography
63 kde4-kgpg
64 kde4-khangman
65 kde4-kig
66 kde4-kimono
67 kde4-kiten
68 kde4-klettres
69 kde4-kmag
70 kde4-kmix
71 kde4-kmousetool
72 kde4-kmouth
73 kde4-kmplot
74 kde4-kolourpaint
75 kde4-konsole
76 kde4-kremotecontrol
77 kde4-kruler
78 kde4-ksaneplugin
79 kde4-kscd
80 kde4-ksnapshot
81 kde4-kstars
82 kde4-ktimer
83 kde4-ktouch
84 kde4-kturtle
85 kde4-kwallet
86 kde4-kwordquiz
87 kde4-mplayerthumbs
88 kde4-pairs
89 kde4-parley
90 kde4-print-manager
91 kde4-rocs
92 kde4-step
93 kde4-superkaramba
94 kde4-svgpart
95 kde4-sweeper
96 kde4-libkdegames
97 kde4-libkmahjongg
98 kde4-bomber
99 kde4-bovo
100 kde4-granatier
101 kde4-kajongg
102 kde4-kapman
103 kde4-katomic
104 kde4-kblackbox
105 kde4-kblocks
106 kde4-kbounce
107 kde4-kbreakout
108 kde4-kdiamond
109 kde4-kfourinline
110 kde4-kgoldrunner
111 kde4-kigo
112 kde4-killbots
113 kde4-kiriki
114 kde4-kjumpingcube
115 kde4-klickety
116 kde4-klines
117 kde4-kmahjongg
118 kde4-kmines
119 kde4-knavalbattle
120 kde4-knetwalk
121 kde4-kolf
122 kde4-kollision
123 kde4-konquest
124 kde4-kpat
125 kde4-kreversi
126 kde4-kshisen
127 kde4-ksirk
128 kde4-ksnakeduel
129 kde4-kspaceduel
130 kde4-ksquares
131 kde4-ksudoku
132 kde4-ktuberling
133 kde4-kubrick
134 kde4-lskat
135 kde4-palapeli
136 kde4-picmi
137 kde4-amor
138 kde4-kteatime
139 kde4-ktux
140 kde4-cervisia
141 kde4-dolphin-plugins
142 kde4-kapptemplate
143 kde4-kcachegrind
144 kde4-kde-dev-scripts
145 kde4-kde-dev-utils
146 kde4-kdesdk-kioslaves
147 kde4-kdesdk-strigi-analyzers
148 kde4-kdesdk-thumbnailers
149 kde4-kompare
150 kde4-lokalize
151 kde4-poxml
152 kde4-umbrello
153 kde4-kuser
154 kde4-ksystemlog
155 kde4-kdenetwork-filesharing
156 kde4-kdenetwork-strigi-analyzers
157 "
158
159 #kde4-korundum
160
161 newver="4.12.0"
162
163 topdir=$(rpm -E '%{_topdir}')
164
165 n="$(echo -e '\nn')"
166 n="${n%%n}"
167
168 get_dump() {
169         local specfile="$1"
170         if ! out=$(rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1); then
171                 echo >&2 "$out"
172                 echo >&2 "You need icon files being present in SOURCES."
173                 exit 1
174         fi
175         echo "$out"
176 }
177
178 set_release() {
179         local specfile="$1"
180         local rel="$2"
181         local newrel="$3"
182         sed -i -e "
183                 s/^\(%define[ \t]\+_\?rel[ \t]\+\)$rel\$/\1$newrel/
184                 s/^\(Release:[ \t]\+\)$rel\$/\1$newrel/
185         " $specfile
186 }
187
188 set_version() {
189         local specfile="$1"
190         local rel="$2"
191         local newrel="$3"
192         sed -i -e "
193                 s/^\(%define[ \t]\+_\?ver[ \t]\+\)$rel\$/\1$newrel/
194                 s/^\(Version:[ \t]\+\)$rel\$/\1$newrel/
195         " $specfile
196 }
197
198 cd "$topdir"
199 for pkg in $KDEPKGS ; do
200         # spec: package/package.spec
201         spec=$(rpm -D "name $pkg" -E '%{_specdir}/%{name}.spec')
202         spec=${spec#$topdir/}
203
204         # pkgdir: package/
205         pkgdir=${spec%/*}
206
207         # specname: only spec filename
208         specname=${spec##*/}
209
210         # start real work
211         echo "$pkg ..."
212
213         # get package
214         [ "$get" = 1 -a -d "$pkgdir" ] && continue
215
216         if [ "$update" = "1" -o "$get" = "1" ]; then
217                 ./builder -g -ns "$spec"
218         fi
219
220         [ "$get" = 1 ] && continue
221
222         # update .spec files
223         dump=$(get_dump "$spec")
224
225         ver=$(awk '/^%define[   ]+_?rel[        ]+/{print $NF}' $spec)
226         if [ -z "$ver" ]; then
227                 ver=$(echo "$dump" | awk '/PACKAGE_VERSION/{print $NF; exit}')
228         fi
229         rel=$(awk '/^%define[   ]+_?rel[        ]+/{print $NF}' $spec)
230         if [ -z "$rel" ]; then
231                 rel=$(echo "$dump" | awk '/PACKAGE_RELEASE/{print $NF; exit}')
232         fi
233         echo $ver-$rel
234
235         set_release "$spec" $rel "1"
236         set_version "$spec" $ver $newver
237
238         # update md5sums
239         ./builder -U "$spec"
240
241         # commit the changes
242         msg=""
243         [ -n "$message" ] && msg="$msg- $message$n"
244         msg="$msg- updated to $newver (by update-kde4.sh)"
245         echo git commit -m "$msg" $spec
246         if [ "$test" != 1 ]; then
247                 cd $pkgdir
248                 git commit -m "$msg" $specname
249                 git push
250                 cd ..
251         fi
252 done
This page took 0.051892 seconds and 4 git commands to generate.