]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - update-kde4.sh
- nepomuk core is needed earlier
[packages/rpm-build-tools.git] / update-kde4.sh
1 #!/bin/sh
2
3 KDEPKGS="
4 kde4-kdelibs
5 kde4-nepomuk-core
6 kde4-kactivities
7 kde4-kdepimlibs
8 kde4-kdebase-workspace
9 kde4-kdebase
10 kde4-libkdeedu
11 kde4-kdebase-runtime
12 python-PyKDE4
13 kde4-kate
14 kde4-okular
15 kde4-smokegen
16 kde4-smokeqt
17 kde4-smokekde
18 perl-Qt4
19 perl-KDE4
20 kde4-analitza
21 kde4-libkexiv2
22 kde4-libkcddb
23 kde4-libkdcraw
24 kde4-libkipi
25 kde4-libksane
26 kde4-marble
27 kde4-qyoto
28 kde4-ark
29 kde4-libkcompactdisc
30 kde4-audiocd-kio
31 kde4-blinken
32 kde4-cantor
33 kde4-dragon
34 kde4-ffmpegthumbs
35 kde4-filelight
36 kde4-gwenview
37 kde4-jovie
38 kde4-juk
39 kde4-kaccessible
40 kde4-kalgebra
41 kde4-kalzium
42 kde4-kamera
43 kde4-kanagram
44 kde4-kbruch
45 kde4-kcalc
46 kde4-kcharselect
47 kde4-kcolorchooser
48 kde4-kdebase-artwork
49 kde4-wallpapers
50 kde4-kdeadmin
51 kde4-kdeartwork
52 kde4-kdegames
53 kde4-kdegraphics-mobipocket
54 kde4-kdegraphics-strigi-analyzer
55 kde4-kdegraphics-thumbnailers
56 kde4-kdenetwork
57 kde4-kdepim
58 kde4-kdepim-runtime
59 kde4-kdeplasma-addons
60 kde4-kdesdk
61 kde4-kdetoys
62 kde4-kdewebdev
63 kde4-kdf
64 kde4-kgamma
65 kde4-kgeography
66 kde4-kgpg
67 kde4-khangman
68 kde4-kig
69 kde4-kimono
70 kde4-kiten
71 kde4-klettres
72 kde4-kmag
73 kde4-kmix
74 kde4-kmousetool
75 kde4-kmouth
76 kde4-kmplot
77 kde4-kolourpaint
78 kde4-konsole
79 kde4-kremotecontrol
80 kde4-kruler
81 kde4-ksaneplugin
82 kde4-kscd
83 kde4-ksnapshot
84 kde4-kstars
85 kde4-ktimer
86 kde4-ktouch
87 kde4-kturtle
88 kde4-kwallet
89 kde4-kwordquiz
90 kde4-mplayerthumbs
91 kde4-oxygen-icons
92 kde4-pairs
93 kde4-parley
94 kde4-printer-applet
95 kde4-rocs
96 kde4-step
97 kde4-superkaramba
98 kde4-svgpart
99 kde4-sweeper
100 "
101
102 #kfloppy
103 #korundum
104 #kross-interpreters
105 #qtruby
106
107 newver="4.9.5"
108
109 topdir=$(rpm -E '%{_topdir}')
110
111 n="$(echo -e '\nn')"
112 n="${n%%n}"
113
114 get_dump() {
115         local specfile="$1"
116         if ! out=$(rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1); then
117                 echo >&2 "$out"
118                 echo >&2 "You need icon files being present in SOURCES."
119                 exit 1
120         fi
121         echo "$out"
122 }
123
124 set_release() {
125         local specfile="$1"
126         local rel="$2"
127         local newrel="$3"
128         sed -i -e "
129                 s/^\(%define[ \t]\+_\?rel[ \t]\+\)$rel\$/\1$newrel/
130                 s/^\(Release:[ \t]\+\)$rel\$/\1$newrel/
131         " $specfile
132 }
133
134 set_version() {
135         local specfile="$1"
136         local rel="$2"
137         local newrel="$3"
138         sed -i -e "
139                 s/^\(%define[ \t]\+_\?ver[ \t]\+\)$rel\$/\1$newrel/
140                 s/^\(Version:[ \t]\+\)$rel\$/\1$newrel/
141         " $specfile
142 }
143
144 cd "$topdir"
145 for pkg in $KDEPKGS ; do
146         # spec: package/package.spec
147         spec=$(rpm -D "name $pkg" -E '%{_specdir}/%{name}.spec')
148         spec=${spec#$topdir/}
149
150         # pkgdir: package/
151         pkgdir=${spec%/*}
152
153         # specname: only spec filename
154         specname=${spec##*/}
155
156         # start real work
157         echo "$pkg ..."
158
159         # get package
160         [ "$get" = 1 -a -d "$pkgdir" ] && continue
161
162         if [ "$update" = "1" -o "$get" = "1" ]; then
163                 ./builder -g -ns "$spec"
164         fi
165
166         [ "$get" = 1 ] && continue
167
168         # update .spec files
169         dump=$(get_dump "$spec")
170
171         ver=$(awk '/^%define[   ]+_?rel[        ]+/{print $NF}' $spec)
172         if [ -z "$ver" ]; then
173                 ver=$(echo "$dump" | awk '/PACKAGE_VERSION/{print $NF; exit}')
174         fi
175         rel=$(awk '/^%define[   ]+_?rel[        ]+/{print $NF}' $spec)
176         if [ -z "$rel" ]; then
177                 rel=$(echo "$dump" | awk '/PACKAGE_RELEASE/{print $NF; exit}')
178         fi
179         echo $ver-$rel
180
181         set_release "$spec" $rel "1"
182         set_version "$spec" $ver $newver
183
184         # update md5sums
185         ./builder -U "$spec"
186
187         # commit the changes
188         msg=""
189         [ -n "$message" ] && msg="$msg- $message$n"
190         msg="$msg- updated to $newver (by update-kde4.sh)"
191         echo git commit -m "$msg" $spec
192         if [ "$test" != 1 ]; then
193                 cd $pkgdir
194                 git commit -m "$msg" $specname
195                 git push
196                 cd ..
197         fi
198 done
This page took 0.039001 seconds and 4 git commands to generate.