]> git.pld-linux.org Git - packages/rpm-build-tools.git/blame - update-kde4.sh
- rough script to update all kde4 packages to new version
[packages/rpm-build-tools.git] / update-kde4.sh
CommitLineData
5fc8c657
JR
1#!/bin/sh
2
3KDEPKGS="
4kde4-kdelibs
5kde4-kactivities
6kde4-kdepimlibs
7kde4-kdebase-workspace
8kde4-kdebase
9kde4-libkdeedu
10kde4-nepomuk-core
11kde4-kdebase-runtime
12python-PyKDE4
13kde4-kate
14kde4-okular
15kde4-smokegen
16kde4-smokeqt
17kde4-smokekde
18perl-Qt4
19perl-KDE4
20kde4-analitza
21kde4-libkexiv2
22kde4-libkcddb
23kde4-libkdcraw
24kde4-libkipi
25kde4-libksane
26kde4-marble
27kde4-qyoto
28kde4-ark
29kde4-libkcompactdisc
30kde4-audiocd-kio
31kde4-blinken
32kde4-cantor
33kde4-dragon
34kde4-ffmpegthumbs
35kde4-filelight
36kde4-gwenview
37kde4-jovie
38kde4-juk
39kde4-kaccessible
40kde4-kalgebra
41kde4-kalzium
42kde4-kamera
43kde4-kanagram
44kde4-kbruch
45kde4-kcalc
46kde4-kcharselect
47kde4-kcolorchooser
48kde4-kdebase-artwork
49kde4-wallpapers
50kde4-kdeadmin
51kde4-kdeartwork
52kde4-kdegames
53kde4-kdegraphics-mobipocket
54kde4-kdegraphics-strigi-analyzer
55kde4-kdegraphics-thumbnailers
56kde4-kdenetwork
57kde4-kdepim
58kde4-kdepim-runtime
59kde4-kdeplasma-addons
60kde4-kdesdk
61kde4-kdetoys
62kde4-kdewebdev
63kde4-kdf
64kde4-kgamma
65kde4-kgeography
66kde4-kgpg
67kde4-khangman
68kde4-kig
69kde4-kimono
70kde4-kiten
71kde4-klettres
72kde4-kmag
73kde4-kmix
74kde4-kmousetool
75kde4-kmouth
76kde4-kmplot
77kde4-kolourpaint
78kde4-konsole
79kde4-kremotecontrol
80kde4-kruler
81kde4-ksaneplugin
82kde4-kscd
83kde4-ksnapshot
84kde4-kstars
85kde4-ktimer
86kde4-ktouch
87kde4-kturtle
88kde4-kwallet
89kde4-kwordquiz
90kde4-mplayerthumbs
91kde4-oxygen-icons
92kde4-pairs
93kde4-parley
94kde4-printer-applet
95kde4-rocs
96kde4-step
97kde4-superkaramba
98kde4-svgpart
99kde4-sweeper
100"
101
102#kfloppy
103#korundum
104#kross-interpreters
105#qtruby
106
107newver="4.9.5"
108
109topdir=$(rpm -E '%{_topdir}')
110
111n="$(echo -e '\nn')"
112n="${n%%n}"
113
114get_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
124set_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
134set_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
144cd "$topdir"
145for 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
198done
This page took 0.07107 seconds and 4 git commands to generate.