]>
Commit | Line | Data |
---|---|---|
b9c8dcd3 | 1 | #!/bin/sh |
2 | # updates percona patches | |
3 | # http://www.percona.com/docs/wiki/release:start | |
db97ae77 | 4 | # https://launchpad.net/percona-server/release-5.0.91-22 |
b9c8dcd3 | 5 | |
db97ae77 | 6 | version=release-5.0.91-22 |
b9c8dcd3 | 7 | bzr_branch=lp:percona-server/$version |
8 | branch=MYSQL_5_1 | |
9 | ||
10 | filter_names() { | |
b9c8dcd3 | 11 | grep -v 'percona-support.patch' | \ |
12 | grep -v 'mysqld_safe_syslog.patch' | \ | |
113b1023 | 13 | grep -v 'mysql-test.patch' |
b9c8dcd3 | 14 | } |
15 | ||
16 | filter_files() { | |
17 | filterdiff -x '*/configure' | |
18 | } | |
19 | ||
5267b24c ER |
20 | set -e |
21 | ||
b9c8dcd3 | 22 | if [ -d $version ]; then |
23 | cd $version | |
eacd9823 | 24 | bzr pull |
b9c8dcd3 | 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 | |
5267b24c ER |
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 | |
b9c8dcd3 | 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 | ||
5267b24c ER |
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 | |
b9c8dcd3 | 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 |