]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - update-kde4.sh
- haskell hackage support
[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-kdeadmin
53 kde4-kdeartwork
54 kde4-kdegames
55 kde4-kdegraphics-mobipocket
56 kde4-kdegraphics-strigi-analyzer
57 kde4-kdegraphics-thumbnailers
58 kde4-kdenetwork
59 kde4-kdepim
60 kde4-kdepim-runtime
61 kde4-kdeplasma-addons
62 kde4-kdesdk
63 kde4-kdetoys
64 kde4-kdewebdev
65 kde4-kdf
66 kde4-kgamma
67 kde4-kgeography
68 kde4-kgpg
69 kde4-khangman
70 kde4-kig
71 kde4-kimono
72 kde4-kiten
73 kde4-klettres
74 kde4-kmag
75 kde4-kmix
76 kde4-kmousetool
77 kde4-kmouth
78 kde4-kmplot
79 kde4-kolourpaint
80 kde4-konsole
81 kde4-kremotecontrol
82 kde4-kruler
83 kde4-ksaneplugin
84 kde4-kscd
85 kde4-ksnapshot
86 kde4-kstars
87 kde4-ktimer
88 kde4-ktouch
89 kde4-kturtle
90 kde4-kwallet
91 kde4-kwordquiz
92 kde4-mplayerthumbs
93 kde4-pairs
94 kde4-parley
95 kde4-printer-applet
96 kde4-rocs
97 kde4-step
98 kde4-superkaramba
99 kde4-svgpart
100 kde4-sweeper
101 "
102
103 #kfloppy
104 #korundum
105 #kross-interpreters
106 #qtruby
107
108 newver="4.9.5"
109
110 topdir=$(rpm -E '%{_topdir}')
111
112 n="$(echo -e '\nn')"
113 n="${n%%n}"
114
115 get_dump() {
116         local specfile="$1"
117         if ! out=$(rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1); then
118                 echo >&2 "$out"
119                 echo >&2 "You need icon files being present in SOURCES."
120                 exit 1
121         fi
122         echo "$out"
123 }
124
125 set_release() {
126         local specfile="$1"
127         local rel="$2"
128         local newrel="$3"
129         sed -i -e "
130                 s/^\(%define[ \t]\+_\?rel[ \t]\+\)$rel\$/\1$newrel/
131                 s/^\(Release:[ \t]\+\)$rel\$/\1$newrel/
132         " $specfile
133 }
134
135 set_version() {
136         local specfile="$1"
137         local rel="$2"
138         local newrel="$3"
139         sed -i -e "
140                 s/^\(%define[ \t]\+_\?ver[ \t]\+\)$rel\$/\1$newrel/
141                 s/^\(Version:[ \t]\+\)$rel\$/\1$newrel/
142         " $specfile
143 }
144
145 cd "$topdir"
146 for pkg in $KDEPKGS ; do
147         # spec: package/package.spec
148         spec=$(rpm -D "name $pkg" -E '%{_specdir}/%{name}.spec')
149         spec=${spec#$topdir/}
150
151         # pkgdir: package/
152         pkgdir=${spec%/*}
153
154         # specname: only spec filename
155         specname=${spec##*/}
156
157         # start real work
158         echo "$pkg ..."
159
160         # get package
161         [ "$get" = 1 -a -d "$pkgdir" ] && continue
162
163         if [ "$update" = "1" -o "$get" = "1" ]; then
164                 ./builder -g -ns "$spec"
165         fi
166
167         [ "$get" = 1 ] && continue
168
169         # update .spec files
170         dump=$(get_dump "$spec")
171
172         ver=$(awk '/^%define[   ]+_?rel[        ]+/{print $NF}' $spec)
173         if [ -z "$ver" ]; then
174                 ver=$(echo "$dump" | awk '/PACKAGE_VERSION/{print $NF; exit}')
175         fi
176         rel=$(awk '/^%define[   ]+_?rel[        ]+/{print $NF}' $spec)
177         if [ -z "$rel" ]; then
178                 rel=$(echo "$dump" | awk '/PACKAGE_RELEASE/{print $NF; exit}')
179         fi
180         echo $ver-$rel
181
182         set_release "$spec" $rel "1"
183         set_version "$spec" $ver $newver
184
185         # update md5sums
186         ./builder -U "$spec"
187
188         # commit the changes
189         msg=""
190         [ -n "$message" ] && msg="$msg- $message$n"
191         msg="$msg- updated to $newver (by update-kde4.sh)"
192         echo git commit -m "$msg" $spec
193         if [ "$test" != 1 ]; then
194                 cd $pkgdir
195                 git commit -m "$msg" $specname
196                 git push
197                 cd ..
198         fi
199 done
This page took 0.047867 seconds and 3 git commands to generate.