]> git.pld-linux.org Git - packages/mysql.git/blob - percona.sh
move status action to status function
[packages/mysql.git] / percona.sh
1 #!/bin/sh
2 # updates percona patches
3 # http://www.percona.com/docs/wiki/release:start
4 # https://launchpad.net/percona-server/release-5.0.91-22
5
6 version=release-5.0.91-22
7 bzr_branch=lp:percona-server/$version
8 branch=MYSQL_5_1
9
10 filter_names() {
11         grep -v 'percona-support.patch' | \
12         grep -v 'mysqld_safe_syslog.patch' | \
13         grep -v 'mysql-test.patch'
14 }
15
16 filter_files() {
17         filterdiff -x '*/configure'
18 }
19
20 set -e
21
22 if [ -d $version ]; then
23         cd $version
24         bzr pull
25         cd ..
26 else
27         bzr branch $bzr_branch $version
28 fi
29
30 > .percona.spec
31 > .patch.spec
32 i=100
33 for patch in $(cat $version/series | filter_names); do
34         # if patch already existed, use mysql- prefix
35         if [ -f mysql-$patch ]; then
36                 file=mysql-$patch
37         else
38                 file=$patch
39         fi
40         cat $version/$patch | filter_files > $file
41
42         if [ -z "$(awk -vfile=$file -F/ '$2 == file{print}' CVS/Entries)" ]; then
43                 cvs add $file
44                 ${branch:+cvs up -r $branch $file}
45         fi
46
47         if [ "$patch" != "$file" ]; then
48                 echo >&2 "Adding: $file ($patch)"
49         else
50                 echo >&2 "Adding: $file"
51         fi
52         printf "Patch%d:\t%s\n" $i $(echo "$file" | sed -e 's,^mysql-,%{name}-,') >> .percona.spec
53         printf "%%patch%d -p1\n" $i >> .patch.spec
54         i=$((i+1))
55 done
56
57 # update PatchX section
58 sed -i -e '
59 /^# <percona patches/,/^# <\/percona>/ {
60         /^ <\/percona>/b
61         /^# <percona patches/ {
62                 p # print header
63                 r .percona.spec
64                 a# </percona>
65         }
66         d
67 }
68 ' mysql.spec
69
70 # update %patchX section
71 sed -i -e '
72 /^# <percona %patches/,/^# <\/percona>/ {
73         /^ <\/percona>/b
74         /^# <percona %patches/ {
75                 p # print header
76                 r .patch.spec
77                 a# </percona>
78         }
79         d
80 }
81 ' mysql.spec
This page took 0.029794 seconds and 3 git commands to generate.