Merge lp:~ignacio-nin/percona-server/5.6-bug1165098 into lp:percona-server/5.6

Proposed by Ignacio Nin
Status: Merged
Approved by: Laurynas Biveinis
Approved revision: no longer in the source branch.
Merged at revision: 337
Proposed branch: lp:~ignacio-nin/percona-server/5.6-bug1165098
Merge into: lp:percona-server/5.6
Diff against target: 4508 lines (+0/-2332)
5 files modified
build/build-shared-compat-rpm.sh (+0/-152)
build/debian/control (+0/-135)
build/debian/rules (+0/-77)
build/percona-server.spec (+0/-1877)
build/percona-shared-compat.spec (+0/-91)
To merge this branch: bzr merge lp:~ignacio-nin/percona-server/5.6-bug1165098
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve
Review via email: mp+158136@code.launchpad.net

Description of the change

file-ids fix.

Most of the files under build/ (including build/ itself) were created with a different file-id than its 5.5/5.1 counterparts, leading to problems when merging changes from these branches.

This branches fixes this by re-adding the files with the proper file-ids. This is mostly a cosmetic change, except for a few exceptions no other change to the code.

To post a comment you must log in.
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory 'build'
=== removed directory 'build'
=== renamed file 'build/build-binary.sh' => 'build/build-binary.sh'
=== renamed file 'build/build-dpkg.sh' => 'build/build-dpkg.sh'
=== renamed file 'build/build-rpm.sh' => 'build/build-rpm.sh'
=== removed file 'build/build-shared-compat-rpm.sh'
--- build/build-shared-compat-rpm.sh 2013-03-06 11:00:39 +0000
+++ build/build-shared-compat-rpm.sh 1970-01-01 00:00:00 +0000
@@ -1,152 +0,0 @@
1#!/bin/sh
2#
3# Execute this tool to setup and build the shared-compat RPM starting
4# from a fresh tree
5#
6# Usage: build-shared-compat-rpm.sh [target dir]
7# The default target directory is the current directory. If it is not
8# supplied and the current directory is not empty, it will issue an error in
9# order to avoid polluting the current directory after a test run.
10#
11# The program will setup the rpm building environment, download the sources
12# and ultimately call rpmbuild with the appropiate parameters.
13#
14
15# Bail out on errors, be strict
16set -ue
17
18# Examine parameters
19TARGET=''
20TARGET_ARG=''
21TARGET_CFLAGS=''
22SIGN='--sign'
23
24# Check if we have a functional getopt(1)
25if ! getopt --test
26then
27 go_out="$(getopt --options="iK" --longoptions=i686,nosign \
28 --name="$(basename "$0")" -- "$@")"
29 test $? -eq 0 || exit 1
30 eval set -- $go_out
31fi
32
33for arg
34do
35 case "$arg" in
36 -- ) shift; break;;
37 -i | --i686 )
38 shift
39 TARGET='i686'
40 TARGET_ARG="--target i686"
41 TARGET_CFLAGS="-m32 -march=i686"
42 ;;
43 -K | --nosign )
44 shift
45 SIGN=''
46 ;;
47 esac
48done
49
50# Working directory
51if test "$#" -eq 0
52then
53 WORKDIR="$(pwd)"
54
55 # Check that the current directory is not empty
56 if test "x$(echo *)" != "x*"
57 then
58 echo >&2 \
59 "Current directory is not empty. Use $0 . to force build in ."
60 exit 1
61 fi
62
63elif test "$#" -eq 1
64then
65 WORKDIR="$1"
66
67 # Check that the provided directory exists and is a directory
68 if ! test -d "$WORKDIR"
69 then
70 echo >&2 "$WORKDIR is not a directory"
71 exit 1
72 fi
73
74else
75 echo >&2 "Usage: $0 [target dir]"
76 exit 1
77
78fi
79
80WORKDIR_ABS="$(cd "$WORKDIR"; pwd)"
81
82# If we're in 32 bits, ensure that we're compiling for i686.
83if test "x$TARGET" == "x"
84then
85 if test "x$(uname -m)" != "xx86_64"
86 then
87 TARGET='i686'
88 TARGET_ARG="--target i686"
89 TARGET_CFLAGS='-m32 -march=i686'
90 fi
91
92fi
93
94SOURCEDIR="$(cd $(dirname "$0"); cd ..; pwd)"
95test -e "$SOURCEDIR/Makefile" || exit 2
96
97# Extract version from the Makefile
98MYSQL_VERSION="$(grep ^MYSQL_VERSION= "$SOURCEDIR/Makefile" \
99 | cut -d = -f 2)"
100PERCONA_SERVER_VERSION="$(grep ^PERCONA_SERVER_VERSION= \
101 "$SOURCEDIR/Makefile" | cut -d = -f 2)"
102PRODUCT="Percona-Server-$MYSQL_VERSION-$PERCONA_SERVER_VERSION"
103
104# Build information
105REDHAT_RELEASE="$(grep -o 'release [0-9][0-9]*' /etc/redhat-release | \
106 cut -d ' ' -f 2)"
107REVISION="$(cd "$SOURCEDIR"; bzr log -r-1 | grep ^revno: | cut -d ' ' -f 2)"
108
109# Compilation flags
110export CC=gcc
111export CXX=gcc
112export CFLAGS="-fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer $TARGET_CFLAGS"
113export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fno-exceptions $TARGET_CFLAGS"
114export MAKE_JFLAG=-j4
115
116# Create directories for rpmbuild if these don't exist
117(cd "$WORKDIR" && mkdir -p BUILD RPMS SOURCES SPECS SRPMS)
118
119# Prepare sources
120(
121 cd "$WORKDIR/SOURCES/"
122
123 # Download the sources from the community site
124 if test "x$TARGET" = "xi686"
125 then
126 RPMVER=i386
127 elif test "x$(uname -m)" = "xx86_64"
128 then
129 RPMVER=x86_64
130 else
131 RPMVER=i386
132 fi
133
134 wget "http://www.percona.com/downloads/community/shared-compat/MySQL-shared-compat-$MYSQL_VERSION-1.linux2.6.$RPMVER.rpm"
135
136)
137
138# Issue rpmbuild command
139(
140 cd "$WORKDIR"
141
142 # Issue RPM command
143 rpmbuild -ba --clean --with yassl $SIGN \
144 "$SOURCEDIR/build/percona-shared-compat.spec" \
145 --define "_topdir $WORKDIR_ABS" \
146 --define "redhat_version $REDHAT_RELEASE" \
147 --define "gotrevision $REVISION" \
148 --define "release $PERCONA_SERVER_VERSION" \
149 $TARGET_ARG
150
151)
152
1530
=== added directory 'build/debian'
=== removed directory 'build/debian'
=== renamed file 'build/debian/README.source' => 'build/debian/README.source'
=== renamed directory 'build/debian/additions' => 'build/debian/additions'
=== renamed file 'build/debian/changelog' => 'build/debian/changelog'
=== renamed file 'build/debian/compat' => 'build/debian/compat'
=== added file 'build/debian/control'
--- build/debian/control 1970-01-01 00:00:00 +0000
+++ build/debian/control 2013-04-10 15:00:36 +0000
@@ -0,0 +1,135 @@
1Source: percona-server-5.6
2Section: database
3Priority: extra
4Maintainer: Percona Server Development Team <mysql-dev@percona.com>
5Uploaders: Ignacio Nin <ignacio.nin@percona.com>
6Build-Depends: debhelper (>= 7.0), dpatch, cmake, libtool, automake, autoconf, libncurses5-dev, perl, bison, fakeroot, devscripts, libaio-dev
7Standards-Version: 3.9.1
8Homepage: http://www.percona.com/software/percona-server/
9Vcs-Bzr: bzr+ssh://bazaar.launchpad.net/~percona-core/percona-server/5.6
10Vcs-Browser: http://bazaar.launchpad.net/~percona-core/percona-server/5.6
11
12Package: libmysqlclient18
13Section: libs
14Architecture: any
15Replaces: libpercona-server-client18
16Depends: ${misc:Depends}
17Description: Percona Server database client library
18 Percona Server is a fast, stable and true multi-user,
19 multi-threaded SQL database server. SQL (Structured Query Language)
20 is the most popular database query language in the world. The main
21 goals of Percona Server are speed, robustness and ease of use.
22 .
23 This package includes the client library.
24
25Package: libmysqlclient18-dev
26Architecture: any
27Section: libdevel
28Depends: libmysqlclient-dev (= ${binary:Version}), ${misc:Depends}
29Description: Percona Server database development files - empty transitional
30 package. This is an empty package that depends on libmysqlclient-dev to ease
31 the transition for packages with versioned build-deps on libmysqlclient18-dev.
32
33Package: libmysqlclient-dev
34Architecture: any
35Section: libdevel
36Depends: libmysqlclient18 (= ${binary:Version}), zlib1g-dev, ${misc:Depends}
37Conflicts: libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev
38Replaces: libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev, libpercona-xtradb-client-dev
39Description: Percona Server database development files
40 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
41 database server. SQL (Structured Query Language) is the most popular
42 database query language in the world. The main goals of Percona Server are
43 speed, robustness and ease of use.
44 .
45 This package includes development libraries and header files.
46
47Package: percona-server-common-5.6
48Section: database
49Architecture: any
50Depends: ${misc:Depends}
51Conflicts: mysql-common-4.1, mysql-common-5.0, mysql-common-5.1, mysql-common, percona-server-common-5.1, percona-server-common-5.5
52Provides: mysql-common
53Replaces: mysql-common-4.1, mysql-common-5.0, mysql-common-5.1, mysql-common, percona-server-common-5.1, percona-server-common-5.5
54Description: Percona Server database common files (e.g. /etc/mysql/my.cnf)
55 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
56 database server. SQL (Structured Query Language) is the most popular database
57 query language in the world. The main goals of Percona Server are speed,
58 robustness and ease of use.
59 .
60 This package includes files needed by all versions of the client library
61 (e.g. /etc/mysql/my.cnf).
62
63Package: percona-server-test-5.6
64Architecture: any
65Depends: percona-server-client-5.6 (>= ${source:Version}), percona-server-server-5.6 (>= ${source:Version})
66Provides: mysql-client
67Description: Percona Server database test suite
68 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
69 database server. SQL (Structured Query Language) is the most popular database
70 query language in the world. The main goals of Percona Server are speed,
71 robustness and ease of use.
72 .
73 This package includes the Percona Server test framework that provides
74 a means for verifying that Percona Server and its client programs
75 operate according to expectations
76
77Package: percona-server-client-5.6
78Architecture: any
79Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.6 (>= ${source:Version}), libmysqlclient18, ${shlib:Depends}, ${misc:Depends}
80Provides: mysql-client, virtual-mysql-client
81Conflicts: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, percona-xtradb-client-5.0, percona-server-client-5.1, percona-server-client-5.5
82Replaces: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, percona-xtradb-client-5.0, percona-server-client-5.1, percona-server-client-5.5
83Description: Percona Server database client binaries
84 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
85 database server. SQL (Structured Query Language) is the most popular database
86 query language in the world. The main goals of Percona Server are speed,
87 robustness and ease of use.
88 .
89 This package includes the client binaries and the additional tools
90 innotop and mysqlreport.
91
92Package: percona-server-server-5.6
93Architecture: any
94Suggests: tinyca
95Depends: percona-server-client-5.6 (>= ${source:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10), percona-server-common-5.6 (>= ${source:Version}), adduser (>= 3.40), debconf
96Conflicts: mysql-server (<< ${source:Version}), mysql-server-4.1, mysql-server-core-5.1, percona-xtradb-server-5.0, percona-server-server-5.1, percona-server-server-5.5
97Provides: mysql-server
98Replaces: mysql-server (<< ${source:Version}), mysql-server-5.0, mysql-server-core-5.1, percona-xtradb-server-5.0, percona-server-server-5.1, percona-server-server-5.5
99Description: Percona Server database server binaries
100 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
101 database server. SQL (Structured Query Language) is the most popular database
102 query language in the world. The main goals of Percona Server are speed,
103 robustness and ease of use.
104 .
105 This package includes the server binaries.
106
107Package: percona-server-server
108Section: database
109Architecture: any
110Depends: percona-server-server-5.6, ${misc:Depends}
111Description: Percona Server database server
112 (metapackage depending on the latest version)
113 This is an empty package that depends on the current "best" version of
114 percona-server-server (currently percona-server-server-5.6), as determined
115 by the Percona Server maintainers. Install this package if in doubt
116 about which Percona Server version you need. That will install the version
117 recommended by the package maintainers.
118 .
119 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
120 database server. SQL (Structured Query Language) is the most popular database
121 query language in the world. The main goals of Percona Server are speed,
122 robustness and ease of use.
123
124Package: percona-server-client
125Section: database
126Architecture: any
127Depends: percona-server-client-5.6, ${misc:Depends}
128Description: Percona Server database client
129 (metapackage depending on the latest version)
130 This is an empty package that depends on the current "best" version of
131 percona-server-client (currently percona-server-client-5.6), as determined
132 by the Percona Server maintainers. Install this package if in doubt
133 about which Percona Server version you want, as this is the one we consider
134 to be in the best shape.
135
0136
=== removed file 'build/debian/control'
--- build/debian/control 2013-04-10 04:47:26 +0000
+++ build/debian/control 1970-01-01 00:00:00 +0000
@@ -1,135 +0,0 @@
1Source: percona-server-5.6
2Section: database
3Priority: extra
4Maintainer: Percona Server Development Team <mysql-dev@percona.com>
5Uploaders: Ignacio Nin <ignacio.nin@percona.com>
6Build-Depends: debhelper (>= 7.0), dpatch, cmake, libtool, automake, autoconf, libncurses5-dev, perl, bison, fakeroot, devscripts, libaio-dev
7Standards-Version: 3.9.1
8Homepage: http://www.percona.com/software/percona-server/
9Vcs-Bzr: bzr+ssh://bazaar.launchpad.net/~percona-core/percona-server/5.6
10Vcs-Browser: http://bazaar.launchpad.net/~percona-core/percona-server/5.6
11
12Package: libmysqlclient18
13Section: libs
14Architecture: any
15Replaces: libpercona-server-client18
16Depends: ${misc:Depends}
17Description: Percona Server database client library
18 Percona Server is a fast, stable and true multi-user,
19 multi-threaded SQL database server. SQL (Structured Query Language)
20 is the most popular database query language in the world. The main
21 goals of Percona Server are speed, robustness and ease of use.
22 .
23 This package includes the client library.
24
25Package: libmysqlclient18-dev
26Architecture: any
27Section: libdevel
28Depends: libmysqlclient-dev (= ${binary:Version}), ${misc:Depends}
29Description: Percona Server database development files - empty transitional
30 package. This is an empty package that depends on libmysqlclient-dev to ease
31 the transition for packages with versioned build-deps on libmysqlclient18-dev.
32
33Package: libmysqlclient-dev
34Architecture: any
35Section: libdevel
36Depends: libmysqlclient18 (= ${binary:Version}), zlib1g-dev, ${misc:Depends}
37Conflicts: libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev
38Replaces: libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev, libpercona-xtradb-client-dev
39Description: Percona Server database development files
40 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
41 database server. SQL (Structured Query Language) is the most popular
42 database query language in the world. The main goals of Percona Server are
43 speed, robustness and ease of use.
44 .
45 This package includes development libraries and header files.
46
47Package: percona-server-common-5.6
48Section: database
49Architecture: any
50Depends: ${misc:Depends}
51Conflicts: mysql-common-4.1, mysql-common-5.0, mysql-common-5.1, mysql-common, percona-server-common-5.1, percona-server-common-5.5
52Provides: mysql-common
53Replaces: mysql-common-4.1, mysql-common-5.0, mysql-common-5.1, mysql-common, percona-server-common-5.1, percona-server-common-5.5
54Description: Percona Server database common files (e.g. /etc/mysql/my.cnf)
55 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
56 database server. SQL (Structured Query Language) is the most popular database
57 query language in the world. The main goals of Percona Server are speed,
58 robustness and ease of use.
59 .
60 This package includes files needed by all versions of the client library
61 (e.g. /etc/mysql/my.cnf).
62
63Package: percona-server-test-5.6
64Architecture: any
65Depends: percona-server-client-5.6 (>= ${source:Version}), percona-server-server-5.6 (>= ${source:Version})
66Provides: mysql-client
67Description: Percona Server database test suite
68 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
69 database server. SQL (Structured Query Language) is the most popular database
70 query language in the world. The main goals of Percona Server are speed,
71 robustness and ease of use.
72 .
73 This package includes the Percona Server test framework that provides
74 a means for verifying that Percona Server and its client programs
75 operate according to expectations
76
77Package: percona-server-client-5.6
78Architecture: any
79Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.6 (>= ${source:Version}), libmysqlclient18, ${shlib:Depends}, ${misc:Depends}
80Provides: mysql-client, virtual-mysql-client
81Conflicts: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, percona-xtradb-client-5.0, percona-server-client-5.1, percona-server-client-5.5
82Replaces: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, percona-xtradb-client-5.0, percona-server-client-5.1, percona-server-client-5.5
83Description: Percona Server database client binaries
84 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
85 database server. SQL (Structured Query Language) is the most popular database
86 query language in the world. The main goals of Percona Server are speed,
87 robustness and ease of use.
88 .
89 This package includes the client binaries and the additional tools
90 innotop and mysqlreport.
91
92Package: percona-server-server-5.6
93Architecture: any
94Suggests: tinyca
95Depends: percona-server-client-5.6 (>= ${source:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10), percona-server-common-5.6 (>= ${source:Version}), adduser (>= 3.40), debconf
96Conflicts: mysql-server (<< ${source:Version}), mysql-server-4.1, mysql-server-core-5.1, percona-xtradb-server-5.0, percona-server-server-5.1, percona-server-server-5.5
97Provides: mysql-server
98Replaces: mysql-server (<< ${source:Version}), mysql-server-5.0, mysql-server-core-5.1, percona-xtradb-server-5.0, percona-server-server-5.1, percona-server-server-5.5
99Description: Percona Server database server binaries
100 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
101 database server. SQL (Structured Query Language) is the most popular database
102 query language in the world. The main goals of Percona Server are speed,
103 robustness and ease of use.
104 .
105 This package includes the server binaries.
106
107Package: percona-server-server
108Section: database
109Architecture: any
110Depends: percona-server-server-5.6, ${misc:Depends}
111Description: Percona Server database server
112 (metapackage depending on the latest version)
113 This is an empty package that depends on the current "best" version of
114 percona-server-server (currently percona-server-server-5.6), as determined
115 by the Percona Server maintainers. Install this package if in doubt
116 about which Percona Server version you need. That will install the version
117 recommended by the package maintainers.
118 .
119 Percona Server is a fast, stable and true multi-user, multi-threaded SQL
120 database server. SQL (Structured Query Language) is the most popular database
121 query language in the world. The main goals of Percona Server are speed,
122 robustness and ease of use.
123
124Package: percona-server-client
125Section: database
126Architecture: any
127Depends: percona-server-client-5.6, ${misc:Depends}
128Description: Percona Server database client
129 (metapackage depending on the latest version)
130 This is an empty package that depends on the current "best" version of
131 percona-server-client (currently percona-server-client-5.6), as determined
132 by the Percona Server maintainers. Install this package if in doubt
133 about which Percona Server version you want, as this is the one we consider
134 to be in the best shape.
135
1360
=== renamed file 'build/debian/copyright' => 'build/debian/copyright'
=== renamed file 'build/debian/libmysqlclient-dev.README.Maintainer' => 'build/debian/libmysqlclient-dev.README.Maintainer'
=== renamed file 'build/debian/libmysqlclient-dev.install' => 'build/debian/libmysqlclient-dev.install'
=== renamed file 'build/debian/libmysqlclient-dev.links' => 'build/debian/libmysqlclient-dev.links'
=== renamed file 'build/debian/libmysqlclient18.docs' => 'build/debian/libmysqlclient18.docs'
=== renamed file 'build/debian/libmysqlclient18.info' => 'build/debian/libmysqlclient18.info'
=== renamed file 'build/debian/libmysqlclient18.install' => 'build/debian/libmysqlclient18.install'
=== renamed file 'build/debian/libmysqlclient18.postinst' => 'build/debian/libmysqlclient18.postinst'
=== renamed directory 'build/debian/patches' => 'build/debian/patches'
=== renamed file 'build/debian/percona-server-client-5.6.README.Debian' => 'build/debian/percona-server-client-5.6.README.Debian'
=== renamed file 'build/debian/percona-server-client-5.6.dirs' => 'build/debian/percona-server-client-5.6.dirs'
=== renamed file 'build/debian/percona-server-client-5.6.docs' => 'build/debian/percona-server-client-5.6.docs'
=== renamed file 'build/debian/percona-server-client-5.6.install' => 'build/debian/percona-server-client-5.6.install'
=== renamed file 'build/debian/percona-server-client-5.6.links' => 'build/debian/percona-server-client-5.6.links'
=== renamed file 'build/debian/percona-server-client-5.6.lintian-overrides' => 'build/debian/percona-server-client-5.6.lintian-overrides'
=== renamed file 'build/debian/percona-server-client-5.6.menu' => 'build/debian/percona-server-client-5.6.menu'
=== renamed file 'build/debian/percona-server-common-5.5.dirs' => 'build/debian/percona-server-common-5.5.dirs'
=== renamed file 'build/debian/percona-server-server-5.6.README.Debian' => 'build/debian/percona-server-server-5.6.README.Debian'
=== renamed file 'build/debian/percona-server-server-5.6.config' => 'build/debian/percona-server-server-5.6.config'
=== renamed file 'build/debian/percona-server-server-5.6.dirs' => 'build/debian/percona-server-server-5.6.dirs'
=== renamed file 'build/debian/percona-server-server-5.6.docs' => 'build/debian/percona-server-server-5.6.docs'
=== renamed file 'build/debian/percona-server-server-5.6.install' => 'build/debian/percona-server-server-5.6.install'
=== renamed file 'build/debian/percona-server-server-5.6.lintian-overrides' => 'build/debian/percona-server-server-5.6.lintian-overrides'
=== renamed file 'build/debian/percona-server-server-5.6.logcheck.ignore.paranoid' => 'build/debian/percona-server-server-5.6.logcheck.ignore.paranoid'
=== renamed file 'build/debian/percona-server-server-5.6.logcheck.ignore.server' => 'build/debian/percona-server-server-5.6.logcheck.ignore.server'
=== renamed file 'build/debian/percona-server-server-5.6.logcheck.ignore.workstation' => 'build/debian/percona-server-server-5.6.logcheck.ignore.workstation'
=== renamed file 'build/debian/percona-server-server-5.6.logrotate' => 'build/debian/percona-server-server-5.6.logrotate'
=== renamed file 'build/debian/percona-server-server-5.6.mysql.init' => 'build/debian/percona-server-server-5.6.mysql.init'
=== renamed file 'build/debian/percona-server-server-5.6.postinst' => 'build/debian/percona-server-server-5.6.postinst'
=== renamed file 'build/debian/percona-server-server-5.6.postrm' => 'build/debian/percona-server-server-5.6.postrm'
=== renamed file 'build/debian/percona-server-server-5.6.preinst' => 'build/debian/percona-server-server-5.6.preinst'
=== renamed file 'build/debian/percona-server-server-5.6.prerm' => 'build/debian/percona-server-server-5.6.prerm'
=== renamed file 'build/debian/percona-server-server-5.6.templates' => 'build/debian/percona-server-server-5.6.templates'
=== renamed file 'build/debian/percona-server-test-5.6.install' => 'build/debian/percona-server-test-5.6.install'
=== renamed file 'build/debian/percona-server-test-5.6.links' => 'build/debian/percona-server-test-5.6.links'
=== renamed directory 'build/debian/po' => 'build/debian/po'
=== added file 'build/debian/rules'
--- build/debian/rules 1970-01-01 00:00:00 +0000
+++ build/debian/rules 2013-04-10 15:00:36 +0000
@@ -0,0 +1,77 @@
1#!/usr/bin/make -f
2
3#export DH_VERBOSE=1
4
5include /usr/share/dpatch/dpatch.make
6
7CMAKE=cmake
8TMP=$(CURDIR)/debian/tmp/
9
10feature_set="community"
11compilation_comment_release="Percona Server (GPL), Release 60.2"
12server_suffix="-56"
13prefix="/usr"
14
15clean: clean-patched unpatch
16
17clean-patched:
18 dh clean
19 rm -rf CMakeFiles
20
21build: patch
22 dh_testdir
23 $(CMAKE) . -DBUILD_CONFIG=mysql_release \
24 -DINSTALL_LAYOUT=DEB \
25 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
26 -DWITH_EMBEDDED_SERVER=OFF \
27 -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
28 -DFEATURE_SET=$(feature_set) \
29 -DCOMPILATION_COMMENT=$(compilation_comment_release) \
30 -DMYSQL_SERVER_SUFFIX=$(server_suffix)
31 make $(MAKE_JFLAG)
32
33 # Build UDF
34 cd UDF && \
35 CXX=g++ CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/include" \
36 ./configure --includedir=$(CURDIR)/include \
37 --libdir=$(prefix)/lib/mysql/plugin && \
38 make $(MAKE_JFLAG)
39
40 dh_auto_test
41
42binary:
43 echo "Making binary"
44 dh --before dh_auto_install binary
45 dh_auto_install
46 cd UDF && make DESTDIR=$(TMP) install
47 dh --after dh_auto_install --before dh_installinit binary
48 dh_installinit --name=mysql
49 dh --after dh_installinit binary
50
51
52binary-arch:
53 echo "Making binary"
54 dh --before dh_auto_install binary-arch
55 dh_auto_install
56 cd UDF && make DESTDIR=$(TMP) install
57 dh --after dh_auto_install --before dh_installinit binary-arch
58 dh_installinit --name=mysql
59 dh --after dh_installinit binary-arch
60
61binary-indep:
62 echo "Making binary"
63 dh --before dh_auto_install binary-indep
64 dh_auto_install
65 cd UDF && make DESTDIR=$(TMP) install
66 dh --after dh_auto_install --before dh_installinit binary-indep
67 dh_installinit --name=mysql
68 dh --after dh_installinit binary-indep
69
70install:
71 echo "Making binary"
72 dh --before dh_auto_install install
73 dh_auto_install
74 cd UDF && make DESTDIR=$(TMP) install
75 dh --after dh_auto_install --before dh_installinit install
76 dh_installinit --name=mysql
77 dh --after dh_installinit install
078
=== removed file 'build/debian/rules'
--- build/debian/rules 2013-04-10 04:47:26 +0000
+++ build/debian/rules 1970-01-01 00:00:00 +0000
@@ -1,77 +0,0 @@
1#!/usr/bin/make -f
2
3#export DH_VERBOSE=1
4
5include /usr/share/dpatch/dpatch.make
6
7CMAKE=cmake
8TMP=$(CURDIR)/debian/tmp/
9
10feature_set="community"
11compilation_comment_release="Percona Server (GPL), Release 60.2"
12server_suffix="-56"
13prefix="/usr"
14
15clean: clean-patched unpatch
16
17clean-patched:
18 dh clean
19 rm -rf CMakeFiles
20
21build: patch
22 dh_testdir
23 $(CMAKE) . -DBUILD_CONFIG=mysql_release \
24 -DINSTALL_LAYOUT=DEB \
25 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
26 -DWITH_EMBEDDED_SERVER=OFF \
27 -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
28 -DFEATURE_SET=$(feature_set) \
29 -DCOMPILATION_COMMENT=$(compilation_comment_release) \
30 -DMYSQL_SERVER_SUFFIX=$(server_suffix)
31 make $(MAKE_JFLAG)
32
33 # Build UDF
34 cd UDF && \
35 CXX=g++ CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/include" \
36 ./configure --includedir=$(CURDIR)/include \
37 --libdir=$(prefix)/lib/mysql/plugin && \
38 make $(MAKE_JFLAG)
39
40 dh_auto_test
41
42binary:
43 echo "Making binary"
44 dh --before dh_auto_install binary
45 dh_auto_install
46 cd UDF && make DESTDIR=$(TMP) install
47 dh --after dh_auto_install --before dh_installinit binary
48 dh_installinit --name=mysql
49 dh --after dh_installinit binary
50
51
52binary-arch:
53 echo "Making binary"
54 dh --before dh_auto_install binary-arch
55 dh_auto_install
56 cd UDF && make DESTDIR=$(TMP) install
57 dh --after dh_auto_install --before dh_installinit binary-arch
58 dh_installinit --name=mysql
59 dh --after dh_installinit binary-arch
60
61binary-indep:
62 echo "Making binary"
63 dh --before dh_auto_install binary-indep
64 dh_auto_install
65 cd UDF && make DESTDIR=$(TMP) install
66 dh --after dh_auto_install --before dh_installinit binary-indep
67 dh_installinit --name=mysql
68 dh --after dh_installinit binary-indep
69
70install:
71 echo "Making binary"
72 dh --before dh_auto_install install
73 dh_auto_install
74 cd UDF && make DESTDIR=$(TMP) install
75 dh --after dh_auto_install --before dh_installinit install
76 dh_installinit --name=mysql
77 dh --after dh_installinit install
780
=== renamed directory 'build/debian/source' => 'build/debian/source'
=== added file 'build/percona-server.spec'
--- build/percona-server.spec 1970-01-01 00:00:00 +0000
+++ build/percona-server.spec 2013-04-10 15:00:36 +0000
@@ -0,0 +1,1877 @@
1# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
2#
3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation; version 2 of the License.
6#
7# This program is distributed in the hope that it will be useful,
8# but WITHOUT ANY WARRANTY; without even the implied warranty of
9# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10# GNU General Public License for more details.
11#
12# You should have received a copy of the GNU General Public License
13# along with this program; see the file COPYING. If not, write to the
14# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
15# MA 02110-1301 USA.
16
17##############################################################################
18# Some common macro definitions
19##############################################################################
20
21# NOTE: "vendor" is used in upgrade/downgrade check, so you can't
22# change these, has to be exactly as is.
23%define mysql_old_vendor MySQL AB
24%define mysql_vendor_2 Sun Microsystems, Inc.
25%define mysql_vendor Oracle and/or its affiliates
26%define percona_server_vendor Percona, Inc
27
28%define mysql_version 5.6.10
29%define redhatversion %(lsb_release -rs | awk -F. '{ print $1}')
30%define majorversion 60
31%define minorversion 2
32%define distribution rhel%{redhatversion}
33%define percona_server_version alpha%{majorversion}.%{minorversion}
34
35%define mysqld_user mysql
36%define mysqld_group mysql
37%define mysqldatadir /var/lib/mysql
38
39%define release alpha%{majorversion}.%{minorversion}.%{gotrevision}.%{distribution}
40
41#
42# Macros we use which are not available in all supported versions of RPM
43#
44# - defined/undefined are missing on RHEL4
45#
46%if %{expand:%{?defined:0}%{!?defined:1}}
47%define defined() %{expand:%%{?%{1}:1}%%{!?%{1}:0}}
48%endif
49%if %{expand:%{?undefined:0}%{!?undefined:1}}
50%define undefined() %{expand:%%{?%{1}:0}%%{!?%{1}:1}}
51%endif
52
53# ----------------------------------------------------------------------------
54# RPM build tools now automatically detect Perl module dependencies. This
55# detection causes problems as it is broken in some versions, and it also
56# provides unwanted dependencies from mandatory scripts in our package.
57# It might not be possible to disable this in all versions of RPM, but here we
58# try anyway. We keep the "AutoReqProv: no" for the "test" sub package, as
59# disabling here might fail, and that package has the most problems.
60# See:
61# http://fedoraproject.org/wiki/Packaging/Perl#Filtering_Requires:_and_Provides
62# http://www.wideopen.com/archives/rpm-list/2002-October/msg00343.html
63# ----------------------------------------------------------------------------
64%undefine __perl_provides
65%undefine __perl_requires
66
67##############################################################################
68# Command line handling
69##############################################################################
70#
71# To set options:
72#
73# $ rpmbuild --define="option <x>" ...
74#
75
76# ----------------------------------------------------------------------------
77# Commercial builds
78# ----------------------------------------------------------------------------
79%if %{undefined commercial}
80%define commercial 0
81%endif
82
83# ----------------------------------------------------------------------------
84# Source name
85# ----------------------------------------------------------------------------
86%if %{undefined src_base}
87%define src_base Percona-Server
88%endif
89%define src_dir %{src_base}-%{mysql_version}-%{percona_server_version}
90
91# ----------------------------------------------------------------------------
92# Feature set (storage engines, options). Default to community (everything)
93# ----------------------------------------------------------------------------
94%if %{undefined feature_set}
95%define feature_set community
96%endif
97
98# ----------------------------------------------------------------------------
99# Server comment strings
100# ----------------------------------------------------------------------------
101%if %{undefined compilation_comment_debug}
102%define compilation_comment_debug Percona Server - Debug (GPL), Release %{percona_server_version}, Revision %{gotrevision}
103%endif
104%if %{undefined compilation_comment_release}
105%define compilation_comment_release Percona Server (GPL), Release %{percona_server_version}, Revision %{gotrevision}
106%endif
107
108
109# ----------------------------------------------------------------------------
110# Product and server suffixes
111# ----------------------------------------------------------------------------
112%define product_suffix -56
113%if %{undefined product_suffix}
114 %if %{defined short_product_tag}
115 %define product_suffix -%{short_product_tag}
116 %else
117 %define product_suffix %{nil}
118 %endif
119%endif
120
121%define server_suffix %{product_suffix}
122%if %{undefined server_suffix}
123%define server_suffix %{nil}
124%endif
125
126# ----------------------------------------------------------------------------
127# Distribution support
128# ----------------------------------------------------------------------------
129%if %{undefined distro_specific}
130%define distro_specific 0
131%endif
132%if %{distro_specific}
133 %if %(test -f /etc/enterprise-release && echo 1 || echo 0)
134 %define oelver %(rpm -qf --qf '%%{version}\\n' /etc/enterprise-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
135 %if "%oelver" == "4"
136 %define distro_description Oracle Enterprise Linux 4
137 %define distro_releasetag oel4
138 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
139 %define distro_requires chkconfig coreutils grep procps shadow-utils
140 %else
141 %if "%oelver" == "5"
142 %define distro_description Oracle Enterprise Linux 5
143 %define distro_releasetag oel5
144 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
145 %define distro_requires chkconfig coreutils grep procps shadow-utils
146 %else
147 %{error:Oracle Enterprise Linux %{oelver} is unsupported}
148 %endif
149 %endif
150 %else
151 %if %(test -f /etc/redhat-release && echo 1 || echo 0)
152 %define rhelver %(rpm -qf --qf '%%{version}\\n' /etc/redhat-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
153 %if "%rhelver" == "4"
154 %define distro_description Red Hat Enterprise Linux 4
155 %define distro_releasetag rhel4
156 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
157 %define distro_requires chkconfig coreutils grep procps shadow-utils
158 %else
159 %if "%rhelver" == "5"
160 %define distro_description Red Hat Enterprise Linux 5
161 %define distro_releasetag rhel5
162 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
163 %define distro_requires chkconfig coreutils grep procps shadow-utils
164 %else
165 %{error:Red Hat Enterprise Linux %{rhelver} is unsupported}
166 %endif
167 %endif
168 %else
169 %if %(test -f /etc/SuSE-release && echo 1 || echo 0)
170 %define susever %(rpm -qf --qf '%%{version}\\n' /etc/SuSE-release)
171 %if "%susever" == "10"
172 %define distro_description SUSE Linux Enterprise Server 10
173 %define distro_releasetag sles10
174 %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client readline-devel zlib-devel libaio-devel bison cmake
175 %define distro_requires aaa_base coreutils grep procps pwdutils
176 %else
177 %if "%susever" == "11"
178 %define distro_description SUSE Linux Enterprise Server 11
179 %define distro_releasetag sles11
180 %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client procps pwdutils readline-devel zlib-devel libaio-devel bison cmake
181 %define distro_requires aaa_base coreutils grep procps pwdutils
182 %else
183 %{error:SuSE %{susever} is unsupported}
184 %endif
185 %endif
186 %else
187 %{error:Unsupported distribution}
188 %endif
189 %endif
190 %endif
191%else
192 %define generic_kernel %(uname -r | cut -d. -f1-2)
193 %define distro_description Generic Linux (kernel %{generic_kernel})
194 %define distro_releasetag linux%{generic_kernel}
195 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
196 %define distro_requires coreutils grep procps /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd
197%endif
198
199# ----------------------------------------------------------------------------
200# Support optional "tcmalloc" library (experimental)
201# ----------------------------------------------------------------------------
202%if %{defined malloc_lib_target}
203%define WITH_TCMALLOC 1
204%else
205%define WITH_TCMALLOC 0
206%endif
207
208##############################################################################
209# Configuration based upon above user input, not to be set directly
210##############################################################################
211
212%if %{commercial}
213%define license_files_server %{src_dir}/LICENSE.mysql
214%define license_type Commercial
215%else
216%define license_files_server %{src_dir}/COPYING %{src_dir}/README
217%define license_type GPL
218%endif
219
220##############################################################################
221# Main spec file section
222##############################################################################
223
224Name: Percona-Server%{product_suffix}
225Summary: Percona-Server: a very fast and reliable SQL database server
226Group: Applications/Databases
227Version: %{mysql_version}
228Release: %{release}
229Distribution: %{distro_description}
230License: Copyright (c) 2000, 2010, %{mysql_vendor}. All rights reserved. Use is subject to license terms. Under %{license_type} license as shown in the Description field.
231Source: http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-%{mysql_version}-%{majorversion}.%{minorversion}/source/%{src_dir}.tar.gz
232URL: http://www.percona.com/
233Packager: Percona MySQL Development Team <mysqldev@percona.com>
234Vendor: %{percona_server_vendor}
235Provides: mysql-server
236BuildRequires: %{distro_buildreq}
237
238# Think about what you use here since the first step is to
239# run a rm -rf
240BuildRoot: %{_tmppath}/%{name}-%{version}-build
241
242# From the manual
243%description
244The Percona Server software delivers a very fast, multi-threaded, multi-user,
245and robust SQL (Structured Query Language) database server. Percona Server
246is intended for mission-critical, heavy-load production systems.
247
248Percona recommends that all production deployments be protected with a support
249contract (http://www.percona.com/mysql-suppport/) to ensure the highest uptime,
250be eligible for hot fixes, and boost your team's productivity.
251
252##############################################################################
253# Sub package definition
254##############################################################################
255
256%package -n Percona-Server-server%{product_suffix}
257Summary: Percona Server: a very fast and reliable SQL database server
258Group: Applications/Databases
259Requires: %{distro_requires} Percona-Server-shared%{product_suffix}
260Provides: mysql-server MySQL-server
261
262%description -n Percona-Server-server%{product_suffix}
263The Percona Server software delivers a very fast, multi-threaded, multi-user,
264and robust SQL (Structured Query Language) database server. Percona Server
265is intended for mission-critical, heavy-load production systems.
266
267Percona recommends that all production deployments be protected with a support
268contract (http://www.percona.com/mysql-suppport/) to ensure the highest uptime,
269be eligible for hot fixes, and boost your team's productivity.
270
271This package includes the Percona Server with XtraDB binary
272as well as related utilities to run and administer Percona Server.
273
274If you want to access and work with the database, you have to install
275package "Percona-Server-client%{product_suffix}" as well!
276
277# ----------------------------------------------------------------------------
278%package -n Percona-Server-client%{product_suffix}
279Summary: Percona Server - Client
280Group: Applications/Databases
281Requires: Percona-Server-shared%{product_suffix}
282Provides: mysql-client MySQL-client mysql MySQL
283
284%description -n Percona-Server-client%{product_suffix}
285This package contains the standard Percona Server client and administration tools.
286
287For a description of Percona Server see http://www.percona.com/software/percona-server/
288
289# ----------------------------------------------------------------------------
290%package -n Percona-Server-test%{product_suffix}
291Requires: Percona-Server-client%{product_suffix} perl
292Summary: Percona Server - Test suite
293Group: Applications/Databases
294Provides: mysql-test
295AutoReqProv: no
296
297%description -n Percona-Server-test%{product_suffix}
298This package contains the Percona Server regression test suite.
299
300For a description of Percona Server see http://www.percona.com/software/percona-server/
301
302# ----------------------------------------------------------------------------
303%package -n Percona-Server-devel%{product_suffix}
304Summary: Percona Server - Development header files and libraries
305Group: Applications/Databases
306Provides: mysql-devel
307
308%description -n Percona-Server-devel%{product_suffix}
309This package contains the development header files and libraries necessary
310to develop Percona Server client applications.
311
312For a description of Percona Server see http://www.percona.com/software/percona-server/
313
314# ----------------------------------------------------------------------------
315%package -n Percona-Server-shared%{product_suffix}
316Summary: Percona Server - Shared libraries
317Group: Applications/Databases
318Provides: mysql-shared
319
320%description -n Percona-Server-shared%{product_suffix}
321This package contains the shared libraries (*.so*) which certain languages
322and applications need to dynamically load and use Percona Server.
323
324##############################################################################
325%prep
326%setup -T -a 0 -c -n %{src_dir}
327
328##############################################################################
329%build
330
331# Be strict about variables, bail at earliest opportunity, etc.
332set -uex
333
334BuildUDF() {
335 cd UDF
336 CXX="${UDF_CXX:-g++}"\
337 CXXFLAGS="$CXXFLAGS -I$RPM_BUILD_DIR/%{src_dir}/release/include" \
338 ./configure --includedir=$RPM_BUILD_DIR/%{src_dir}/%{src_dir}/include \
339 --libdir=%{_libdir}/mysql/plugin
340 make all
341 cd -
342}
343
344# Optional package files
345touch optional-files-devel
346
347#
348# Set environment in order of preference, MYSQL_BUILD_* first, then variable
349# name, finally a default. RPM_OPT_FLAGS is assumed to be a part of the
350# default RPM build environment.
351#
352# We set CXX=gcc by default to support so-called 'generic' binaries, where we
353# do not have a dependancy on libgcc/libstdc++. This only works while we do
354# not require C++ features such as exceptions, and may need to be removed at
355# a later date.
356#
357
358# This is a hack, $RPM_OPT_FLAGS on ia64 hosts contains flags which break
359# the compile in cmd-line-utils/readline - needs investigation, but for now
360# we simply unset it and use those specified directly in cmake.
361%if "%{_arch}" == "ia64"
362RPM_OPT_FLAGS=
363%endif
364
365export PATH=${MYSQL_BUILD_PATH:-$PATH}
366export CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
367export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}}
368export CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
369export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}}
370export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}}
371export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}}
372export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-${MAKE_JFLAG:-}}
373
374# Build debug mysqld and libmysqld.a
375mkdir debug
376(
377 cd debug
378 # Attempt to remove any optimisation flags from the debug build
379 CFLAGS=`echo " ${CFLAGS} " | \
380 sed -e 's/ -O[0-9]* / /' \
381 -e 's/ -unroll2 / /' \
382 -e 's/ -ip / /' \
383 -e 's/^ //' \
384 -e 's/ $//'`
385 CXXFLAGS=`echo " ${CXXFLAGS} " | \
386 sed -e 's/ -O[0-9]* / /' \
387 -e 's/ -unroll2 / /' \
388 -e 's/ -ip / /' \
389 -e 's/^ //' \
390 -e 's/ $//'`
391 # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
392 # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
393 ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
394 -DCMAKE_BUILD_TYPE=Debug \
395 -DENABLE_DTRACE=OFF \
396 -DWITH_EMBEDDED_SERVER=OFF \
397 -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
398 -DFEATURE_SET="%{feature_set}" \
399 -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \
400 -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
401 echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG
402 make ${MAKE_JFLAG}
403)
404# Build full release
405mkdir release
406(
407 cd release
408 # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
409 # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
410 ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
411 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
412 -DENABLE_DTRACE=OFF \
413 -DWITH_EMBEDDED_SERVER=OFF \
414 -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
415 -DFEATURE_SET="%{feature_set}" \
416 -DCOMPILATION_COMMENT="%{compilation_comment_release}" \
417 -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
418 echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG
419 make ${MAKE_JFLAG}
420 cd ../%{src_dir}
421 d="`pwd`"
422 BuildUDF
423 cd "$d"
424)
425
426# For the debuginfo extraction stage, some source files are not located in the release
427# and debug dirs, but in the source dir. Make a link there to avoid errors in the
428# strip phase.
429for d in debug release
430do
431 for f in pars/lexyy.cc pars/pars0grm.cc pars/pars0grm.y pars/pars0lex.l \
432 fts/fts0pars.cc fts/fts0pars.y fts/fts0blex.l fts/fts0blex.cc \
433 include/fts0pars.h fts/fts0tlex.cc fts/fts0tlex.l
434 do
435 ln -s "../../../%{src_dir}/storage/innobase/$f" "$d/storage/innobase/"
436 done
437 mkdir -p "$d/storage/include/"
438 ln -s "../../../%{src_dir}/storage/innobase/include/fts0tlex.h" \
439 "$d/storage/include/"
440 ln -s "../../../%{src_dir}/storage/innobase/include/fts0blex.h" \
441 "$d/storage/include/"
442done
443
444# Use the build root for temporary storage of the shared libraries.
445RBR=$RPM_BUILD_ROOT
446
447# Clean up the BuildRoot first
448[ "$RBR" != "/" ] && [ -d "$RBR" ] && rm -rf "$RBR";
449
450# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921). This
451# needs to be during build phase as $CC is not set during install.
452if "$CC" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1
453then
454 libgcc=`$CC $CFLAGS --print-libgcc-file`
455 if [ -f $libgcc ]
456 then
457 mkdir -p $RBR%{_libdir}/mysql
458 install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a
459 echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel
460 fi
461fi
462
463# Move temporarily the saved files to the BUILD directory since the BUILDROOT
464# dir will be cleaned at the start of the install phase
465mkdir -p "$(dirname $RPM_BUILD_DIR/%{_libdir})"
466mv $RBR%{_libdir} $RPM_BUILD_DIR/%{_libdir}
467
468##############################################################################
469%install
470
471RBR=$RPM_BUILD_ROOT
472MBD=$RPM_BUILD_DIR/%{src_dir}
473
474# Move back the libdir from BUILD dir to BUILDROOT
475mkdir -p "$(dirname $RBR%{_libdir})"
476mv $RPM_BUILD_DIR/%{_libdir} $RBR%{_libdir}
477
478# Ensure that needed directories exists
479install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
480install -d $RBR%{mysqldatadir}/mysql
481install -d $RBR%{_datadir}/mysql-test
482install -d $RBR%{_datadir}/mysql/SELinux/RHEL4
483install -d $RBR%{_includedir}
484install -d $RBR%{_libdir}
485install -d $RBR%{_mandir}
486install -d $RBR%{_sbindir}
487install -d $RBR%{_libdir}/mysql/plugin
488
489(
490 cd $MBD/release
491 make DESTDIR=$RBR benchdir_root=%{_datadir} install
492 d="`pwd`"
493 cd $MBD/%{src_dir}/UDF
494 make DESTDIR=$RBR benchdir_root=%{_datadir} install
495 cd "$d"
496)
497
498# Install all binaries
499(
500 cd $MBD/release
501 make DESTDIR=$RBR install
502)
503
504# FIXME: at some point we should stop doing this and just install everything
505# FIXME: directly into %{_libdir}/mysql - perhaps at the same time as renaming
506# FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax
507mv -v $RBR/%{_libdir}/*.a $RBR/%{_libdir}/mysql/
508
509# Install logrotate and autostart
510install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
511install -m 755 $MBD/release/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql
512
513# Create a symlink "rcmysql", pointing to the init.script. SuSE users
514# will appreciate that, as all services usually offer this.
515ln -s %{_sysconfdir}/init.d/mysql $RBR%{_sbindir}/rcmysql
516
517# Touch the place where the my.cnf config file might be located
518# Just to make sure it's in the file list and marked as a config file
519touch $RBR%{_sysconfdir}/my.cnf
520
521# Install SELinux files in datadir
522install -m 600 $MBD/%{src_dir}/support-files/RHEL4-SElinux/mysql.{fc,te} \
523 $RBR%{_datadir}/mysql/SELinux/RHEL4
524
525%if %{WITH_TCMALLOC}
526# Even though this is a shared library, put it under /usr/lib*/mysql, so it
527# doesn't conflict with possible shared lib by the same name in /usr/lib*. See
528# `mysql_config --variable=pkglibdir` and mysqld_safe for how this is used.
529install -m 644 "%{malloc_lib_source}" \
530 "$RBR%{_libdir}/mysql/%{malloc_lib_target}"
531%endif
532
533# Remove man pages we explicitly do not want to package, avoids 'unpackaged
534# files' warning.
535rm -f $RBR%{_mandir}/man1/make_win_bin_dist.1*
536
537##############################################################################
538# Post processing actions, i.e. when installed
539##############################################################################
540
541%pre -n Percona-Server-server%{product_suffix}
542
543# ATTENTION: Parts of this are duplicated in the "triggerpostun" !
544
545mysql_datadir=%{mysqldatadir}
546# Check if we can safely upgrade. An upgrade is only safe if it's from one
547# of our RPMs in the same version family.
548
549installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
550if [ $? -eq 0 -a -n "$installed" ]; then
551 vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
552 version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
553 myoldvendor='%{mysql_old_vendor}'
554 myvendor_2='%{mysql_vendor_2}'
555 myvendor='%{mysql_vendor}'
556 perconaservervendor='%{percona_server_vendor}'
557 myversion='%{mysql_version}'
558
559 old_family=`echo $version \
560 | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
561 new_family=`echo $myversion \
562 | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
563
564 [ -z "$vendor" ] && vendor='<unknown>'
565 [ -z "$old_family" ] && old_family="<unrecognized version $version>"
566 [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
567
568 error_text=
569 if [ "$vendor" != "$myoldvendor" \
570 -a "$vendor" != "$myvendor_2" \
571 -a "$vendor" != "$myvendor" \
572 -a "$vendor" != "$perconaservervendor" ]; then
573 error_text="$error_text
574The current MySQL server package is provided by a different
575vendor ($vendor) than $myoldvendor, $myvendor_2,
576$myvendor, or $perconaservervendor.
577Some files may be installed to different locations, including log
578files and the service startup script in %{_sysconfdir}/init.d/.
579"
580 fi
581
582 if [ "$old_family" != "$new_family" ]; then
583 error_text="$error_text
584Upgrading directly from MySQL $old_family to MySQL $new_family may not
585be safe in all cases. A manual dump and restore using mysqldump is
586recommended. It is important to review the MySQL manual's Upgrading
587section for version-specific incompatibilities.
588"
589 fi
590
591 if [ -n "$error_text" ]; then
592 cat <<HERE >&2
593
594******************************************************************
595A MySQL server package ($installed) is installed.
596$error_text
597A manual upgrade is required.
598
599- Ensure that you have a complete, working backup of your data and my.cnf
600 files
601- Shut down the MySQL server cleanly
602- Remove the existing MySQL packages. Usually this command will
603 list the packages you should remove:
604 rpm -qa | grep -i '^mysql-'
605
606 You may choose to use 'rpm --nodeps -ev <package-name>' to remove
607 the package which contains the mysqlclient shared library. The
608 library will be reinstalled by the MySQL-shared-compat package.
609- Install the new MySQL packages supplied by $myvendor
610- Ensure that the MySQL server is started
611- Run the 'mysql_upgrade' program
612
613This is a brief description of the upgrade process. Important details
614can be found in the MySQL manual, in the Upgrading section.
615******************************************************************
616HERE
617 exit 1
618 fi
619fi
620
621# We assume that if there is exactly one ".pid" file,
622# it contains the valid PID of a running MySQL server.
623NR_PID_FILES=`ls $mysql_datadir/*.pid 2>/dev/null | wc -l`
624case $NR_PID_FILES in
625 0 ) SERVER_TO_START='' ;; # No "*.pid" file == no running server
626 1 ) SERVER_TO_START='true' ;;
627 * ) SERVER_TO_START='' # Situation not clear
628 SEVERAL_PID_FILES=true ;;
629esac
630# That logic may be debated: We might check whether it is non-empty,
631# contains exactly one number (possibly a PID), and whether "ps" finds it.
632# OTOH, if there is no such process, it means a crash without a cleanup -
633# is that a reason not to start a new server after upgrade?
634
635STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
636
637if [ -f $STATUS_FILE ]; then
638 echo "Some previous upgrade was not finished:"
639 ls -ld $STATUS_FILE
640 echo "Please check its status, then do"
641 echo " rm $STATUS_FILE"
642 echo "before repeating the MySQL upgrade."
643 exit 1
644elif [ -n "$SEVERAL_PID_FILES" ] ; then
645 echo "Your MySQL directory '$mysql_datadir' has more than one PID file:"
646 ls -ld $mysql_datadir/*.pid
647 echo "Please check which one (if any) corresponds to a running server"
648 echo "and delete all others before repeating the MySQL upgrade."
649 exit 1
650fi
651
652NEW_VERSION=%{mysql_version}-%{release}
653
654# The "pre" section code is also run on a first installation,
655# when there is no data directory yet. Protect against error messages.
656if [ -d $mysql_datadir ] ; then
657 echo "MySQL RPM upgrade to version $NEW_VERSION" > $STATUS_FILE
658 echo "'pre' step running at `date`" >> $STATUS_FILE
659 echo >> $STATUS_FILE
660 echo "ERR file(s):" >> $STATUS_FILE
661 ls -ltr $mysql_datadir/*.err >> $STATUS_FILE
662 echo >> $STATUS_FILE
663 echo "Latest 'Version' line in latest file:" >> $STATUS_FILE
664 grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \
665 tail -1 >> $STATUS_FILE
666 echo >> $STATUS_FILE
667
668 if [ -n "$SERVER_TO_START" ] ; then
669 # There is only one PID file, race possibility ignored
670 echo "PID file:" >> $STATUS_FILE
671 ls -l $mysql_datadir/*.pid >> $STATUS_FILE
672 cat $mysql_datadir/*.pid >> $STATUS_FILE
673 echo >> $STATUS_FILE
674 echo "Server process:" >> $STATUS_FILE
675 ps -fp `cat $mysql_datadir/*.pid` >> $STATUS_FILE
676 echo >> $STATUS_FILE
677 echo "SERVER_TO_START=$SERVER_TO_START" >> $STATUS_FILE
678 else
679 # Take a note we checked it ...
680 echo "PID file:" >> $STATUS_FILE
681 ls -l $mysql_datadir/*.pid >> $STATUS_FILE 2>&1
682 fi
683fi
684
685# Shut down a previously installed server first
686# Note we *could* make that depend on $SERVER_TO_START, but we rather don't,
687# so a "stop" is attempted even if there is no PID file.
688# (Maybe the "stop" doesn't work then, but we might fix that in itself.)
689if [ -x %{_sysconfdir}/init.d/mysql ] ; then
690 %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
691 echo "Giving mysqld 5 seconds to exit nicely"
692 sleep 5
693fi
694
695%post -n Percona-Server-server%{product_suffix}
696
697# ATTENTION: Parts of this are duplicated in the "triggerpostun" !
698
699mysql_datadir=%{mysqldatadir}
700NEW_VERSION=%{mysql_version}-%{release}
701STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
702
703# ----------------------------------------------------------------------
704# Create data directory if needed, check whether upgrade or install
705# ----------------------------------------------------------------------
706if [ ! -d $mysql_datadir ] ; then mkdir -m 755 $mysql_datadir; fi
707if [ -f $STATUS_FILE ] ; then
708 SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
709else
710 SERVER_TO_START=''
711fi
712# echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
713if [ ! -d $mysql_datadir/mysql ] ; then
714 mkdir $mysql_datadir/mysql;
715 echo "MySQL RPM installation of version $NEW_VERSION" >> $STATUS_FILE
716else
717 # If the directory exists, we may assume it is an upgrade.
718 echo "MySQL RPM upgrade to version $NEW_VERSION" >> $STATUS_FILE
719fi
720if [ ! -d $mysql_datadir/test ] ; then mkdir $mysql_datadir/test; fi
721
722# ----------------------------------------------------------------------
723# Make MySQL start/shutdown automatically when the machine does it.
724# ----------------------------------------------------------------------
725# NOTE: This still needs to be debated. Should we check whether these links
726# for the other run levels exist(ed) before the upgrade?
727# use chkconfig on Enterprise Linux and newer SuSE releases
728if [ -x /sbin/chkconfig ] ; then
729 /sbin/chkconfig --add mysql
730# use insserv for older SuSE Linux versions
731elif [ -x /sbin/insserv ] ; then
732 /sbin/insserv %{_sysconfdir}/init.d/mysql
733fi
734
735# ----------------------------------------------------------------------
736# Create a MySQL user and group. Do not report any problems if it already
737# exists.
738# ----------------------------------------------------------------------
739groupadd -r %{mysqld_group} 2> /dev/null || true
740useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" \
741 -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
742# The user may already exist, make sure it has the proper group nevertheless
743# (BUG#12823)
744usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
745
746# ----------------------------------------------------------------------
747# Change permissions so that the user that will run the MySQL daemon
748# owns all database files.
749# ----------------------------------------------------------------------
750chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
751
752# ----------------------------------------------------------------------
753# Initiate databases if needed
754# ----------------------------------------------------------------------
755%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
756
757# ----------------------------------------------------------------------
758# Upgrade databases if needed would go here - but it cannot be automated yet
759# ----------------------------------------------------------------------
760
761# ----------------------------------------------------------------------
762# Change permissions again to fix any new files.
763# ----------------------------------------------------------------------
764chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
765
766# ----------------------------------------------------------------------
767# Fix permissions for the permission database so that only the user
768# can read them.
769# ----------------------------------------------------------------------
770chmod -R og-rw $mysql_datadir/mysql
771
772# ----------------------------------------------------------------------
773# install SELinux files - but don't override existing ones
774# ----------------------------------------------------------------------
775SETARGETDIR=/etc/selinux/targeted/src/policy
776SEDOMPROG=$SETARGETDIR/domains/program
777SECONPROG=$SETARGETDIR/file_contexts/program
778if [ -f /etc/redhat-release ] \
779 && (grep -q "Red Hat Enterprise Linux .. release 4" /etc/redhat-release \
780 || grep -q "CentOS release 4" /etc/redhat-release) ; then
781 echo
782 echo
783 echo 'Notes regarding SELinux on this platform:'
784 echo '========================================='
785 echo
786 echo 'The default policy might cause server startup to fail because it is'
787 echo 'not allowed to access critical files. In this case, please update'
788 echo 'your installation.'
789 echo
790 echo 'The default policy might also cause inavailability of SSL related'
791 echo 'features because the server is not allowed to access /dev/random'
792 echo 'and /dev/urandom. If this is a problem, please do the following:'
793 echo
794 echo ' 1) install selinux-policy-targeted-sources from your OS vendor'
795 echo ' 2) add the following two lines to '$SEDOMPROG/mysqld.te':'
796 echo ' allow mysqld_t random_device_t:chr_file read;'
797 echo ' allow mysqld_t urandom_device_t:chr_file read;'
798 echo ' 3) cd to '$SETARGETDIR' and issue the following command:'
799 echo ' make load'
800 echo
801 echo
802fi
803
804if [ -x sbin/restorecon ] ; then
805 sbin/restorecon -R var/lib/mysql
806fi
807
808# Was the server running before the upgrade? If so, restart the new one.
809if [ "$SERVER_TO_START" = "true" ] ; then
810 # Restart in the same way that mysqld will be started normally.
811 if [ -x %{_sysconfdir}/init.d/mysql ] ; then
812 %{_sysconfdir}/init.d/mysql start
813 echo "Giving mysqld 5 seconds to start"
814 sleep 5
815 fi
816fi
817
818echo "Percona Server is distributed with several useful UDF (User Defined Function) from Maatkit."
819echo "Run the following commands to create these functions:"
820echo "mysql -e \"CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'\""
821echo "mysql -e \"CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'\""
822echo "mysql -e \"CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'\""
823echo "See http://code.google.com/p/maatkit/source/browse/trunk/udf for more details"
824
825# Collect an upgrade history ...
826echo "Upgrade/install finished at `date`" >> $STATUS_FILE
827echo >> $STATUS_FILE
828echo "=====" >> $STATUS_FILE
829STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
830cat $STATUS_FILE >> $STATUS_HISTORY
831mv -f $STATUS_FILE ${STATUS_FILE}-LAST # for "triggerpostun"
832
833
834#echo "Thank you for installing the MySQL Community Server! For Production
835#systems, we recommend MySQL Enterprise, which contains enterprise-ready
836#software, intelligent advisory services, and full production support with
837#scheduled service packs and more. Visit www.mysql.com/enterprise for more
838#information."
839
840%preun -n Percona-Server-server%{product_suffix}
841
842# Which '$1' does this refer to? Fedora docs have info:
843# " ... a count of the number of versions of the package that are installed.
844# Action Count
845# Install the first time 1
846# Upgrade 2 or higher (depending on the number of versions installed)
847# Remove last version of package 0 "
848#
849# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html
850
851if [ $1 = 0 ] ; then
852 # Stop MySQL before uninstalling it
853 if [ -x %{_sysconfdir}/init.d/mysql ] ; then
854 %{_sysconfdir}/init.d/mysql stop > /dev/null
855 # Remove autostart of MySQL
856 # use chkconfig on Enterprise Linux and newer SuSE releases
857 if [ -x /sbin/chkconfig ] ; then
858 /sbin/chkconfig --del mysql
859 # For older SuSE Linux versions
860 elif [ -x /sbin/insserv ] ; then
861 /sbin/insserv -r %{_sysconfdir}/init.d/mysql
862 fi
863 fi
864fi
865
866# We do not remove the mysql user since it may still own a lot of
867# database files.
868
869%triggerpostun -n Percona-Server-server%{product_suffix} --MySQL-server-community
870
871# Setup: We renamed this package, so any existing "server-community"
872# package will be removed when this "server" is installed.
873# Problem: RPM will first run the "pre" and "post" sections of this script,
874# and only then the "preun" of that old community server.
875# But this "preun" includes stopping the server and uninstalling the service,
876# "chkconfig --del mysql" which removes the symlinks to the start script.
877# Solution: *After* the community server got removed, restart this server
878# and re-install the service.
879#
880# For information about triggers in spec files, see the Fedora docs:
881# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch10s02.html
882# For all details of this code, see the "pre" and "post" sections.
883
884mysql_datadir=%{mysqldatadir}
885NEW_VERSION=%{mysql_version}-%{release}
886STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER-LAST # Note the difference!
887STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
888
889if [ -f $STATUS_FILE ] ; then
890 SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
891else
892 # This should never happen, but let's be prepared
893 SERVER_TO_START=''
894fi
895echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
896
897if [ -x /sbin/chkconfig ] ; then
898 /sbin/chkconfig --add mysql
899# use insserv for older SuSE Linux versions
900elif [ -x /sbin/insserv ] ; then
901 /sbin/insserv %{_sysconfdir}/init.d/mysql
902fi
903
904# Was the server running before the upgrade? If so, restart the new one.
905if [ "$SERVER_TO_START" = "true" ] ; then
906 # Restart in the same way that mysqld will be started normally.
907 if [ -x %{_sysconfdir}/init.d/mysql ] ; then
908 %{_sysconfdir}/init.d/mysql start
909 echo "Giving mysqld 5 seconds to start"
910 sleep 5
911 fi
912fi
913
914echo "Trigger 'postun --community' finished at `date`" >> $STATUS_HISTORY
915echo >> $STATUS_HISTORY
916echo "=====" >> $STATUS_HISTORY
917
918
919# ----------------------------------------------------------------------
920# Clean up the BuildRoot after build is done
921# ----------------------------------------------------------------------
922%clean
923[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] \
924 && rm -rf $RPM_BUILD_ROOT;
925
926##############################################################################
927# Files section
928##############################################################################
929
930%files -n Percona-Server-server%{product_suffix}
931%defattr(-,root,root,0755)
932
933%if %{defined license_files_server}
934%doc %{license_files_server}
935%endif
936%doc release/Docs/INFO_SRC
937%doc release/Docs/INFO_BIN
938%doc release/support-files/my-*.cnf
939
940%doc %attr(644, root, root) %{_infodir}/mysql.info*
941
942%doc %attr(644, root, man) %{_mandir}/man1/innochecksum.1*
943%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
944%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
945%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
946%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
947%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1*
948%doc %attr(644, root, man) %{_mandir}/man1/mysql_convert_table_format.1*
949%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_extensions.1*
950%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
951%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
952%doc %attr(644, root, man) %{_mandir}/man1/mysqldumpslow.1*
953%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
954%doc %attr(644, root, man) %{_mandir}/man1/mysql_secure_installation.1*
955%doc %attr(644, root, man) %{_mandir}/man1/mysql_setpermission.1*
956%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
957%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
958%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
959%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
960%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1*
961%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1*
962%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
963%doc %attr(644, root, man) %{_mandir}/man1/mysqlbug.1*
964%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
965%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
966%doc %attr(644, root, man) %{_mandir}/man1/resolve_stack_dump.1*
967%doc %attr(644, root, man) %{_mandir}/man1/resolveip.1*
968%doc %attr(644, root, man) %{_mandir}/man1/mysql_plugin.1*
969
970%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
971
972%attr(755, root, root) %{_bindir}/innochecksum
973%attr(755, root, root) %{_bindir}/my_print_defaults
974%attr(755, root, root) %{_bindir}/myisam_ftdump
975%attr(755, root, root) %{_bindir}/myisamchk
976%attr(755, root, root) %{_bindir}/myisamlog
977%attr(755, root, root) %{_bindir}/myisampack
978%attr(755, root, root) %{_bindir}/mysql_convert_table_format
979%attr(755, root, root) %{_bindir}/mysql_fix_extensions
980%attr(755, root, root) %{_bindir}/mysql_install_db
981%attr(755, root, root) %{_bindir}/mysql_secure_installation
982%attr(755, root, root) %{_bindir}/mysql_setpermission
983%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql
984%attr(755, root, root) %{_bindir}/mysql_upgrade
985%attr(755, root, root) %{_bindir}/mysql_plugin
986%attr(755, root, root) %{_bindir}/mysql_zap
987%attr(755, root, root) %{_bindir}/mysqlbug
988%attr(755, root, root) %{_bindir}/mysqld_multi
989%attr(755, root, root) %{_bindir}/mysqld_safe
990%attr(755, root, root) %{_bindir}/mysqldumpslow
991%attr(755, root, root) %{_bindir}/mysqlhotcopy
992%attr(755, root, root) %{_bindir}/mysqltest
993%attr(755, root, root) %{_bindir}/perror
994%attr(755, root, root) %{_bindir}/replace
995%attr(755, root, root) %{_bindir}/resolve_stack_dump
996%attr(755, root, root) %{_bindir}/resolveip
997
998%attr(755, root, root) %{_sbindir}/mysqld
999%attr(755, root, root) %{_sbindir}/mysqld-debug
1000%attr(755, root, root) %{_sbindir}/rcmysql
1001%attr(755, root, root) %{_libdir}/mysql/plugin/daemon_example.ini
1002%attr(755, root, root) %{_libdir}/mysql/plugin/adt_null.so
1003%attr(755, root, root) %{_libdir}/mysql/plugin/libdaemon_example.so
1004%attr(755, root, root) %{_libdir}/mysql/plugin/mypluglib.so
1005%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_master.so
1006%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_slave.so
1007%attr(755, root, root) %{_libdir}/mysql/plugin/auth.so
1008%attr(755, root, root) %{_libdir}/mysql/plugin/auth_socket.so
1009%attr(755, root, root) %{_libdir}/mysql/plugin/auth_test_plugin.so
1010%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_client.so
1011%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_interface.so
1012%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_server.so
1013%attr(755, root, root) %{_libdir}/mysql/plugin/validate_password.so
1014%attr(755, root, root) %{_libdir}/mysql/plugin/debug/adt_null.so
1015%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libdaemon_example.so
1016%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mypluglib.so
1017%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_master.so
1018%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_slave.so
1019%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth.so
1020%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_socket.so
1021%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_test_plugin.so
1022%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_client.so
1023%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_interface.so
1024%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_server.so
1025%attr(755, root, root) %{_libdir}/mysql/plugin/debug/validate_password.so
1026# UDF files
1027%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.so
1028%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.so.0
1029%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.so.0.0.0
1030%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.so
1031%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.so.0
1032%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.so.0.0.0
1033%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.so
1034%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.so.0
1035%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.so.0.0.0
1036
1037
1038
1039
1040%if %{WITH_TCMALLOC}
1041%attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target}
1042%endif
1043
1044%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
1045%attr(755, root, root) %{_sysconfdir}/init.d/mysql
1046
1047%attr(755, root, root) %{_datadir}/mysql/
1048
1049# ----------------------------------------------------------------------------
1050%files -n Percona-Server-client%{product_suffix}
1051
1052%defattr(-, root, root, 0755)
1053%attr(755, root, root) %{_bindir}/msql2mysql
1054%attr(755, root, root) %{_bindir}/mysql
1055%attr(755, root, root) %{_bindir}/mysql_find_rows
1056%attr(755, root, root) %{_bindir}/mysql_waitpid
1057%attr(755, root, root) %{_bindir}/mysqlaccess
1058# XXX: This should be moved to %{_sysconfdir}
1059%attr(644, root, root) %{_bindir}/mysqlaccess.conf
1060%attr(755, root, root) %{_bindir}/mysqladmin
1061%attr(755, root, root) %{_bindir}/mysqlbinlog
1062%attr(755, root, root) %{_bindir}/mysqlcheck
1063%attr(755, root, root) %{_bindir}/mysqldump
1064%attr(755, root, root) %{_bindir}/mysqlimport
1065%attr(755, root, root) %{_bindir}/mysqlshow
1066%attr(755, root, root) %{_bindir}/mysqlslap
1067%attr(755, root, root) %{_bindir}/mysql_config_editor
1068
1069%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1*
1070%doc %attr(644, root, man) %{_mandir}/man1/mysql.1*
1071%doc %attr(644, root, man) %{_mandir}/man1/mysql_find_rows.1*
1072%doc %attr(644, root, man) %{_mandir}/man1/mysql_waitpid.1*
1073%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1*
1074%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1*
1075%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1*
1076%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1*
1077%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
1078%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1*
1079%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
1080%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
1081
1082# ----------------------------------------------------------------------------
1083%files -n Percona-Server-devel%{product_suffix} -f optional-files-devel
1084%defattr(-, root, root, 0755)
1085%doc %attr(644, root, man) %{_mandir}/man1/comp_err.1*
1086%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
1087%attr(755, root, root) %{_bindir}/mysql_config
1088%dir %attr(755, root, root) %{_includedir}/mysql
1089%dir %attr(755, root, root) %{_libdir}/mysql
1090%{_includedir}/mysql/*
1091%{_datadir}/aclocal/mysql.m4
1092%{_libdir}/mysql/libmysqlclient.a
1093%{_libdir}/mysql/libmysqlclient_r.a
1094%{_libdir}/mysql/libmysqlservices.a
1095
1096# ----------------------------------------------------------------------------
1097%files -n Percona-Server-shared%{product_suffix}
1098%defattr(-, root, root, 0755)
1099# Shared libraries (omit for architectures that don't support them)
1100%{_libdir}/libmysql*.so*
1101# Maatkit UDF libs
1102%{_libdir}/mysql/plugin/libfnv1a_udf.a
1103%{_libdir}/mysql/plugin/libfnv1a_udf.la
1104%{_libdir}/mysql/plugin/libfnv_udf.a
1105%{_libdir}/mysql/plugin/libfnv_udf.la
1106%{_libdir}/mysql/plugin/libmurmur_udf.a
1107%{_libdir}/mysql/plugin/libmurmur_udf.la
1108
1109%post -n Percona-Server-shared%{product_suffix}
1110/sbin/ldconfig
1111
1112%postun -n Percona-Server-shared%{product_suffix}
1113/sbin/ldconfig
1114
1115# ----------------------------------------------------------------------------
1116%files -n Percona-Server-test%{product_suffix}
1117%defattr(-, root, root, 0755)
1118%attr(-, root, root) %{_datadir}/mysql-test
1119%attr(755, root, root) %{_bindir}/mysql_client_test
1120#%attr(755, root, root) %{_bindir}/mysql_client_test_embedded
1121#%attr(755, root, root) %{_bindir}/mysqltest_embedded
1122%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1*
1123%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1*
1124%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1*
1125%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1*
1126%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
1127
1128##############################################################################
1129# The spec file changelog only includes changes made to the spec file
1130# itself - note that they must be ordered by date (important when
1131# merging BK trees)
1132##############################################################################
1133%changelog
1134* Thu Feb 10 2011 Ignacio Nin <ignacio.nin@percona.com>
1135
1136- Removed lines which prevented -debuginfo packages from being built.
1137
1138* Tue Nov 23 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
1139
1140- EXCEPTIONS-CLIENT has been deleted, remove it from here too
1141- Support MYSQL_BUILD_MAKE_JFLAG environment variable for passing
1142 a '-j' argument to make.
1143
1144* Mon Nov 1 2010 Georgi Kodinov <georgi.godinov@oracle.com>
1145
1146- Added test authentication (WL#1054) plugin binaries
1147
1148* Wed Oct 6 2010 Georgi Kodinov <georgi.godinov@oracle.com>
1149
1150- Added example external authentication (WL#1054) plugin binaries
1151
1152* Wed Aug 11 2010 Joerg Bruehe <joerg.bruehe@oracle.com>
1153
1154- With a recent spec file cleanup, names have changed: A "-community" part was dropped.
1155 Reflect that in the "Obsoletes" specifications.
1156- Add a "triggerpostun" to handle the uninstall of the "-community" server RPM.
1157- This fixes bug#55015 "MySQL server is not restarted properly after RPM upgrade".
1158
1159* Tue Jun 15 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1160
1161- Change the behaviour on installation and upgrade:
1162 On installation, do not autostart the server.
1163 *Iff* the server was stopped before the upgrade is started, this is taken as a
1164 sign the administrator is handling that manually, and so the new server will
1165 not be started automatically at the end of the upgrade.
1166 The start/stop scripts will still be installed, so the server will be started
1167 on the next machine boot.
1168 This is the 5.5 version of fixing bug#27072 (RPM autostarting the server).
1169
1170* Tue Jun 1 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
1171
1172- Implement SELinux checks from distribution-specific spec file.
1173
1174* Wed May 12 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
1175
1176- Large number of changes to build using CMake
1177- Introduce distribution-specific RPMs
1178- Drop debuginfo, build all binaries with debug/symbols
1179- Remove __os_install_post, use native macro
1180- Remove _unpackaged_files_terminate_build, make it an error to have
1181 unpackaged files
1182- Remove cluster RPMs
1183
1184* Wed Mar 24 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1185
1186- Add "--with-perfschema" to the configure options.
1187
1188* Mon Mar 22 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1189
1190- User "usr/lib*" to allow for both "usr/lib" and "usr/lib64",
1191 mask "rmdir" return code 1.
1192- Remove "ha_example.*" files from the list, they aren't built.
1193
1194* Wed Mar 17 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1195
1196- Fix a wrong path name in handling the debug plugins.
1197
1198* Wed Mar 10 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1199
1200- Take the result of the debug plugin build and put it into the optimized tree,
1201 so that it becomes part of the final installation;
1202 include the files in the packlist. Part of the fixes for bug#49022.
1203
1204* Mon Mar 01 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1205
1206- Set "Oracle and/or its affiliates" as the vendor and copyright owner,
1207 accept upgrading from packages showing MySQL or Sun as vendor.
1208
1209* Fri Feb 12 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1210
1211- Formatting changes:
1212 Have a consistent structure of separator lines and of indentation
1213 (8 leading blanks => tab).
1214- Introduce the variable "src_dir".
1215- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence
1216 over "CC" ("CXX").
1217- Drop the old "with_static" argument analysis, this is not supported
1218 in 5.1 since ages.
1219- Introduce variables to control the handlers individually, as well
1220 as other options.
1221- Use the new "--with-plugin" notation for the table handlers.
1222- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql"
1223 was done back in 2002 already.
1224- Make "--with-zlib-dir=bundled" the default, add an option to disable it.
1225- Add missing manual pages to the file list.
1226- Improve the runtime check for "libgcc.a", protect it against being tried
1227 with the Intel compiler "icc".
1228
1229* Mon Jan 11 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1230
1231- Change RPM file naming:
1232 - Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc".
1233 - Release counts from 1, not 0.
1234
1235* Wed Dec 23 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1236
1237- The "semisync" plugin file name has lost its introductory "lib",
1238 adapt the file lists for the subpackages.
1239 This is a part missing from the fix for bug#48351.
1240- Remove the "fix_privilege_tables" manual, it does not exist in 5.5
1241 (and likely, the whole script will go, too).
1242
1243* Mon Nov 16 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1244
1245- Fix some problems with the directives around "tcmalloc" (experimental),
1246 remove erroneous traces of the InnoDB plugin (that is 5.1 only).
1247
1248* Fri Oct 06 2009 Magnus Blaudd <mvensson@mysql.com>
1249
1250- Removed mysql_fix_privilege_tables
1251
1252* Fri Oct 02 2009 Alexander Nozdrin <alexander.nozdrin@sun.com>
1253
1254- "mysqlmanager" got removed from version 5.4, all references deleted.
1255
1256* Fri Aug 28 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1257
1258- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin.
1259
1260* Thu Aug 27 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1261
1262- This version does not contain the "Instance manager", "mysqlmanager":
1263 Remove it from the spec file so that packaging succeeds.
1264
1265* Mon Aug 24 2009 Jonathan Perkin <jperkin@sun.com>
1266
1267- Add conditionals for bundled zlib and innodb plugin
1268
1269* Fri Aug 21 2009 Jonathan Perkin <jperkin@sun.com>
1270
1271- Install plugin libraries in appropriate packages.
1272- Disable libdaemon_example and ftexample plugins.
1273
1274* Thu Aug 20 2009 Jonathan Perkin <jperkin@sun.com>
1275
1276- Update variable used for mysql-test suite location to match source.
1277
1278* Fri Nov 07 2008 Joerg Bruehe <joerg@mysql.com>
1279
1280- Correct yesterday's fix, so that it also works for the last flag,
1281 and fix a wrong quoting: un-quoted quote marks must not be escaped.
1282
1283* Thu Nov 06 2008 Kent Boortz <kent.boortz@sun.com>
1284
1285- Removed "mysql_upgrade_shell"
1286- Removed some copy/paste between debug and normal build
1287
1288* Thu Nov 06 2008 Joerg Bruehe <joerg@mysql.com>
1289
1290- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized.
1291 This should cover both gcc and icc flags. Fixes bug#40546.
1292
1293* Fri Aug 29 2008 Kent Boortz <kent@mysql.com>
1294
1295- Removed the "Federated" storage engine option, and enabled in all
1296
1297* Tue Aug 26 2008 Joerg Bruehe <joerg@mysql.com>
1298
1299- Get rid of the "warning: Installed (but unpackaged) file(s) found:"
1300 Some generated files aren't needed in RPMs:
1301 - the "sql-bench/" subdirectory
1302 Some files were missing:
1303 - /usr/share/aclocal/mysql.m4 ("devel" subpackage)
1304 - Manual "mysqlbug" ("server" subpackage)
1305 - Program "innochecksum" and its manual ("server" subpackage)
1306 - Manual "mysql_find_rows" ("client" subpackage)
1307 - Script "mysql_upgrade_shell" ("client" subpackage)
1308 - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage)
1309 - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage)
1310
1311* Mon Mar 31 2008 Kent Boortz <kent@mysql.com>
1312
1313- Made the "Federated" storage engine an option
1314- Made the "Cluster" storage engine and sub packages an option
1315
1316* Wed Mar 19 2008 Joerg Bruehe <joerg@mysql.com>
1317
1318- Add the man pages for "ndbd" and "ndb_mgmd".
1319
1320* Mon Feb 18 2008 Timothy Smith <tim@mysql.com>
1321
1322- Require a manual upgrade if the alread-installed mysql-server is
1323 from another vendor, or is of a different major version.
1324
1325* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com>
1326
1327- "ndb_size.tmpl" is not needed any more,
1328 "man1/mysql_install_db.1" lacked the trailing '*'.
1329
1330* Sat Apr 07 2007 Kent Boortz <kent@mysql.com>
1331
1332- Removed man page for "mysql_create_system_tables"
1333
1334* Wed Mar 21 2007 Daniel Fischer <df@mysql.com>
1335
1336- Add debug server.
1337
1338* Mon Mar 19 2007 Daniel Fischer <df@mysql.com>
1339
1340- Remove Max RPMs; the server RPMs contain a mysqld compiled with all
1341 features that previously only were built into Max.
1342
1343* Fri Mar 02 2007 Joerg Bruehe <joerg@mysql.com>
1344
1345- Add several man pages for NDB which are now created.
1346
1347* Fri Jan 05 2007 Kent Boortz <kent@mysql.com>
1348
1349- Put back "libmygcc.a", found no real reason it was removed.
1350
1351- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
1352 correct "libgcc.a" path is returned for the 32/64 bit architecture.
1353
1354* Mon Dec 18 2006 Joerg Bruehe <joerg@mysql.com>
1355
1356- Fix the move of "mysqlmanager" to section 8: Directory name was wrong.
1357
1358* Thu Dec 14 2006 Joerg Bruehe <joerg@mysql.com>
1359
1360- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql"
1361 in the server RPM.
1362- The "mysqlmanager" man page got moved from section 1 to 8.
1363
1364* Thu Nov 30 2006 Joerg Bruehe <joerg@mysql.com>
1365
1366- Call "make install" using "benchdir_root=%{_datadir}",
1367 because that is affecting the regression test suite as well.
1368
1369* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
1370
1371- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB)
1372 replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
1373 (bug#22081).
1374
1375* Mon Nov 13 2006 Joerg Bruehe <joerg@mysql.com>
1376
1377- Add "--with-partition" to all server builds.
1378
1379- Use "--report-features" in one test run per server build.
1380
1381* Tue Aug 15 2006 Joerg Bruehe <joerg@mysql.com>
1382
1383- The "max" server is removed from packages, effective from 5.1.12-beta.
1384 Delete all steps to build, package, or install it.
1385
1386* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>
1387
1388- Fix a typing error in the "make" target for the Perl script to run the tests.
1389
1390* Tue Jul 04 2006 Joerg Bruehe <joerg@mysql.com>
1391
1392- Use the Perl script to run the tests, because it will automatically check
1393 whether the server is configured with SSL.
1394
1395* Tue Jun 27 2006 Joerg Bruehe <joerg@mysql.com>
1396
1397- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216)
1398
1399- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade,
1400 there are some more aspects which need to be solved before this is possible.
1401 For now, just ensure the binary "mysql_upgrade" is delivered and installed.
1402
1403* Thu Jun 22 2006 Joerg Bruehe <joerg@mysql.com>
1404
1405- Close a gap of the previous version by explicitly using
1406 a newly created temporary directory for the socket to be used
1407 in the "mysql_upgrade" operation, overriding any local setting.
1408
1409* Tue Jun 20 2006 Joerg Bruehe <joerg@mysql.com>
1410
1411- To run "mysql_upgrade", we need a running server;
1412 start it in isolation and skip password checks.
1413
1414* Sat May 20 2006 Kent Boortz <kent@mysql.com>
1415
1416- Always compile for PIC, position independent code.
1417
1418* Wed May 10 2006 Kent Boortz <kent@mysql.com>
1419
1420- Use character set "all" when compiling with Cluster, to make Cluster
1421 nodes independent on the character set directory, and the problem
1422 that two RPM sub packages both wants to install this directory.
1423
1424* Mon May 01 2006 Kent Boortz <kent@mysql.com>
1425
1426- Use "./libtool --mode=execute" instead of searching for the
1427 executable in current directory and ".libs".
1428
1429* Fri Apr 28 2006 Kent Boortz <kent@mysql.com>
1430
1431- Install and run "mysql_upgrade"
1432
1433* Wed Apr 12 2006 Jim Winstead <jimw@mysql.com>
1434
1435- Remove sql-bench, and MySQL-bench RPM (will be built as an independent
1436 project from the mysql-bench repository)
1437
1438* Tue Apr 11 2006 Jim Winstead <jimw@mysql.com>
1439
1440- Remove old mysqltestmanager and related programs
1441* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>
1442
1443- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS
1444
1445* Wed Mar 07 2006 Kent Boortz <kent@mysql.com>
1446
1447- Changed product name from "Community Edition" to "Community Server"
1448
1449* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>
1450
1451- Fast mutexes is now disabled by default, but should be
1452 used in Linux builds.
1453
1454* Mon Feb 20 2006 Kent Boortz <kent@mysql.com>
1455
1456- Reintroduced a max build
1457- Limited testing of 'debug' and 'max' servers
1458- Berkeley DB only in 'max'
1459
1460* Mon Feb 13 2006 Joerg Bruehe <joerg@mysql.com>
1461
1462- Use "-i" on "make test-force";
1463 this is essential for later evaluation of this log file.
1464
1465* Thu Feb 09 2006 Kent Boortz <kent@mysql.com>
1466
1467- Pass '-static' to libtool, link static with our own libraries, dynamic
1468 with system libraries. Link with the bundled zlib.
1469
1470* Wed Feb 08 2006 Kristian Nielsen <knielsen@mysql.com>
1471
1472- Modified RPM spec to match new 5.1 debug+max combined community packaging.
1473
1474* Sun Dec 18 2005 Kent Boortz <kent@mysql.com>
1475
1476- Added "client/mysqlslap"
1477
1478* Mon Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
1479
1480- Added zlib to the list of (static) libraries installed
1481- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
1482- Compile MySQL with bundled zlib
1483- Fixed %packager name to "MySQL Production Engineering Team"
1484
1485* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>
1486
1487- Avoid using the "bundled" zlib on "shared" builds:
1488 As it is not installed (on the build system), this gives dependency
1489 problems with "libtool" causing the build to fail.
1490 (Change was done on Nov 11, but left uncommented.)
1491
1492* Tue Nov 22 2005 Joerg Bruehe <joerg@mysql.com>
1493
1494- Extend the file existence check for "init.d/mysql" on un-install
1495 to also guard the call to "insserv"/"chkconfig".
1496
1497* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>
1498
1499- added more man pages
1500
1501* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
1502
1503- Made yaSSL support an option (off by default)
1504
1505* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
1506
1507- Enabled yaSSL support
1508
1509* Sat Oct 15 2005 Kent Boortz <kent@mysql.com>
1510
1511- Give mode arguments the same way in all places
1512- Moved copy of mysqld.a to "standard" build, but
1513 disabled it as we don't do embedded yet in 5.0
1514
1515* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
1516
1517- For 5.x, always compile with --with-big-tables
1518- Copy the config.log file to location outside
1519 the build tree
1520
1521* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
1522
1523- Removed unneeded/obsolete configure options
1524- Added archive engine to standard server
1525- Removed the embedded server from experimental server
1526- Changed suffix "-Max" => "-max"
1527- Changed comment string "Max" => "Experimental"
1528
1529* Thu Oct 13 2005 Lenz Grimmer <lenz@mysql.com>
1530
1531- added a usermod call to assign a potential existing mysql user to the
1532 correct user group (BUG#12823)
1533- Save the perror binary built during Max build so it supports the NDB
1534 error codes (BUG#13740)
1535- added a separate macro "mysqld_group" to be able to define the
1536 user group of the mysql user seperately, if desired.
1537
1538* Thu Sep 29 2005 Lenz Grimmer <lenz@mysql.com>
1539
1540- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
1541 $RBR variable did not get expanded, thus leaving old build roots behind)
1542
1543* Thu Aug 04 2005 Lenz Grimmer <lenz@mysql.com>
1544
1545- Fixed the creation of the mysql user group account in the postinstall
1546 section (BUG 12348)
1547- Fixed enabling the Archive storage engine in the Max binary
1548
1549* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>
1550
1551- Fixed the Requires: tag for the server RPM (BUG 12233)
1552
1553* Fri Jul 15 2005 Lenz Grimmer <lenz@mysql.com>
1554
1555- create a "mysql" user group and assign the mysql user account to that group
1556 in the server postinstall section. (BUG 10984)
1557
1558* Tue Jun 14 2005 Lenz Grimmer <lenz@mysql.com>
1559
1560- Do not build statically on i386 by default, only when adding either "--with
1561 static" or "--define '_with_static 1'" to the RPM build options. Static
1562 linking really only makes sense when linking against the specially patched
1563 glibc 2.2.5.
1564
1565* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>
1566
1567- added mysql_client_test to the "bench" subpackage (BUG 10676)
1568- added the libndbclient static and shared libraries (BUG 10676)
1569
1570* Wed Jun 01 2005 Lenz Grimmer <lenz@mysql.com>
1571
1572- use "mysqldatadir" variable instead of hard-coding the path multiple times
1573- use the "mysqld_user" variable on all occasions a user name is referenced
1574- removed (incomplete) Brazilian translations
1575- removed redundant release tags from the subpackage descriptions
1576
1577* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>
1578
1579- Added a "make clean" between separate calls to "BuildMySQL".
1580
1581* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com>
1582
1583- Removed the mysql_tableinfo script made obsolete by the information schema
1584
1585* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>
1586
1587- Enabled the "blackhole" storage engine for the Max RPM
1588
1589* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
1590
1591- removed the MySQL manual files (html/ps/texi) - they have been removed
1592 from the MySQL sources and are now available seperately.
1593
1594* Mon Apr 4 2005 Petr Chardin <petr@mysql.com>
1595
1596- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into
1597 mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively
1598
1599* Fri Mar 18 2005 Lenz Grimmer <lenz@mysql.com>
1600
1601- Disabled RAID in the Max binaries once and for all (it has finally been
1602 removed from the source tree)
1603
1604* Sun Feb 20 2005 Petr Chardin <petr@mysql.com>
1605
1606- Install MySQL Instance Manager together with mysqld, touch mysqlmanager
1607 password file
1608
1609* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
1610
1611- Fixed the compilation comments and moved them into the separate build sections
1612 for Max and Standard
1613
1614* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
1615
1616- enabled the "Ndbcluster" storage engine for the max binary
1617- added extra make install in ndb subdir after Max build to get ndb binaries
1618- added packages for ndbcluster storage engine
1619
1620* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>
1621
1622- replaced obsoleted "BuildPrereq" with "BuildRequires" instead
1623
1624* Thu Jan 13 2005 Lenz Grimmer <lenz@mysql.com>
1625
1626- enabled the "Federated" storage engine for the max binary
1627
1628* Tue Jan 04 2005 Petr Chardin <petr@mysql.com>
1629
1630- ISAM and merge storage engines were purged. As well as appropriate
1631 tools and manpages (isamchk and isamlog)
1632
1633* Thu Dec 31 2004 Lenz Grimmer <lenz@mysql.com>
1634
1635- enabled the "Archive" storage engine for the max binary
1636- enabled the "CSV" storage engine for the max binary
1637- enabled the "Example" storage engine for the max binary
1638
1639* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>
1640
1641- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860)
1642
1643* Fri Aug 20 2004 Lenz Grimmer <lenz@mysql.com>
1644
1645- do not link statically on IA64/AMD64 as these systems do not have
1646 a patched glibc installed
1647
1648* Tue Aug 10 2004 Lenz Grimmer <lenz@mysql.com>
1649
1650- Added libmygcc.a to the devel subpackage (required to link applications
1651 against the the embedded server libmysqld.a) (BUG 4921)
1652
1653* Mon Aug 09 2004 Lenz Grimmer <lenz@mysql.com>
1654
1655- Added EXCEPTIONS-CLIENT to the "devel" package
1656
1657* Thu Jul 29 2004 Lenz Grimmer <lenz@mysql.com>
1658
1659- disabled OpenSSL in the Max binaries again (the RPM packages were the
1660 only exception to this anyway) (BUG 1043)
1661
1662* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>
1663
1664- fixed server postinstall (mysql_install_db was called with the wrong
1665 parameter)
1666
1667* Thu Jun 24 2004 Lenz Grimmer <lenz@mysql.com>
1668
1669- added mysql_tzinfo_to_sql to the server subpackage
1670- run "make clean" instead of "make distclean"
1671
1672* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>
1673
1674- added ncurses-devel to the build prerequisites (BUG 3377)
1675
1676* Thu Feb 12 2004 Lenz Grimmer <lenz@mysql.com>
1677
1678- when using gcc, _always_ use CXX=gcc
1679- replaced Copyright with License field (Copyright is obsolete)
1680
1681* Tue Feb 03 2004 Lenz Grimmer <lenz@mysql.com>
1682
1683- added myisam_ftdump to the Server package
1684
1685* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>
1686
1687- link the mysql client against libreadline instead of libedit (BUG 2289)
1688
1689* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>
1690
1691- marked /etc/logrotate.d/mysql as a config file (BUG 2156)
1692
1693* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>
1694
1695- fixed file permissions (BUG 1672)
1696
1697* Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>
1698
1699- made testing for gcc3 a bit more robust
1700
1701* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>
1702
1703- added missing file mysql_create_system_tables to the server subpackage
1704
1705* Fri Nov 21 2003 Lenz Grimmer <lenz@mysql.com>
1706
1707- removed dependency on MySQL-client from the MySQL-devel subpackage
1708 as it is not really required. (BUG 1610)
1709
1710* Fri Aug 29 2003 Lenz Grimmer <lenz@mysql.com>
1711
1712- Fixed BUG 1162 (removed macro names from the changelog)
1713- Really fixed BUG 998 (disable the checking for installed but
1714 unpackaged files)
1715
1716* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>
1717
1718- Fixed BUG 959 (libmysqld not being compiled properly)
1719- Fixed BUG 998 (RPM build errors): added missing files to the
1720 distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
1721 mysql_fix_privilege_tables.1), removed "-n" from install section.
1722
1723* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>
1724
1725- removed the GIF Icon (file was not included in the sources anyway)
1726- removed unused variable shared_lib_version
1727- do not run automake before building the standard binary
1728 (should not be necessary)
1729- add server suffix '-standard' to standard binary (to be in line
1730 with the binary tarball distributions)
1731- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
1732 _datadir, _includedir) throughout the spec file.
1733- allow overriding CC and CXX (required when building with other compilers)
1734
1735* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>
1736
1737- re-enabled RAID again
1738
1739* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>
1740
1741- disabled MyISAM RAID (--with-raid) - it throws an assertion which
1742 needs to be investigated first.
1743
1744* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>
1745
1746- added missing file mysql_secure_installation to server subpackage
1747 (BUG 141)
1748
1749* Tue Feb 11 2003 Lenz Grimmer <lenz@mysql.com>
1750
1751- re-added missing pre- and post(un)install scripts to server subpackage
1752- added config file /etc/my.cnf to the file list (just for completeness)
1753- make sure to create the datadir with 755 permissions
1754
1755* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>
1756
1757- removed unused CC and CXX variables
1758- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS
1759
1760* Fri Jan 24 2003 Lenz Grimmer <lenz@mysql.com>
1761
1762- renamed package "MySQL" to "MySQL-server"
1763- fixed Copyright tag
1764- added mysql_waitpid to client subpackage (required for mysql-test-run)
1765
1766* Wed Nov 27 2002 Lenz Grimmer <lenz@mysql.com>
1767
1768- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of
1769 Linux distributions now support this scheme as proposed by the LSB either
1770 directly or via a compatibility symlink)
1771- Use new "restart" init script action instead of starting and stopping
1772 separately
1773- Be more flexible in activating the automatic bootup - use insserv (on
1774 older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and
1775 others) to create the respective symlinks
1776
1777* Wed Sep 25 2002 Lenz Grimmer <lenz@mysql.com>
1778
1779- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches
1780 (mixing 3.23 and 4.0 packages)
1781
1782* Fri Aug 09 2002 Lenz Grimmer <lenz@mysql.com>
1783
1784- Turn off OpenSSL in MySQL-Max for now until it works properly again
1785- enable RAID for the Max binary instead
1786- added compatibility link: safe_mysqld -> mysqld_safe to ease the
1787 transition from 3.23
1788
1789* Thu Jul 18 2002 Lenz Grimmer <lenz@mysql.com>
1790
1791- Reworked the build steps a little bit: the Max binary is supposed
1792 to include OpenSSL, which cannot be linked statically, thus trying
1793 to statically link against a special glibc is futile anyway
1794- because of this, it is not required to make yet another build run
1795 just to compile the shared libs (saves a lot of time)
1796- updated package description of the Max subpackage
1797- clean up the BuildRoot directory afterwards
1798
1799* Mon Jul 15 2002 Lenz Grimmer <lenz@mysql.com>
1800
1801- Updated Packager information
1802- Fixed the build options: the regular package is supposed to
1803 include InnoDB and linked statically, while the Max package
1804 should include BDB and SSL support
1805
1806* Fri May 03 2002 Lenz Grimmer <lenz@mysql.com>
1807
1808- Use more RPM macros (e.g. infodir, mandir) to make the spec
1809 file more portable
1810- reorganized the installation of documentation files: let RPM
1811 take care of this
1812- reorganized the file list: actually install man pages along
1813 with the binaries of the respective subpackage
1814- do not include libmysqld.a in the devel subpackage as well, if we
1815 have a special "embedded" subpackage
1816- reworked the package descriptions
1817
1818* Mon Oct 8 2001 Monty
1819
1820- Added embedded server as a separate RPM
1821
1822* Fri Apr 13 2001 Monty
1823
1824- Added mysqld-max to the distribution
1825
1826* Tue Jan 2 2001 Monty
1827
1828- Added mysql-test to the bench package
1829
1830* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
1831
1832- Added separate libmysql_r directory; now both a threaded
1833 and non-threaded library is shipped.
1834
1835* Wed Sep 28 1999 David Axmark <davida@mysql.com>
1836
1837- Added the support-files/my-example.cnf to the docs directory.
1838
1839- Removed devel dependency on base since it is about client
1840 development.
1841
1842* Wed Sep 8 1999 David Axmark <davida@mysql.com>
1843
1844- Cleaned up some for 3.23.
1845
1846* Thu Jul 1 1999 David Axmark <davida@mysql.com>
1847
1848- Added support for shared libraries in a separate sub
1849 package. Original fix by David Fox (dsfox@cogsci.ucsd.edu)
1850
1851- The --enable-assembler switch is now automatically disables on
1852 platforms there assembler code is unavailable. This should allow
1853 building this RPM on non i386 systems.
1854
1855* Mon Feb 22 1999 David Axmark <david@detron.se>
1856
1857- Removed unportable cc switches from the spec file. The defaults can
1858 now be overridden with environment variables. This feature is used
1859 to compile the official RPM with optimal (but compiler version
1860 specific) switches.
1861
1862- Removed the repetitive description parts for the sub rpms. Maybe add
1863 again if RPM gets a multiline macro capability.
1864
1865- Added support for a pt_BR translation. Translation contributed by
1866 Jorge Godoy <jorge@bestway.com.br>.
1867
1868* Wed Nov 4 1998 David Axmark <david@detron.se>
1869
1870- A lot of changes in all the rpm and install scripts. This may even
1871 be a working RPM :-)
1872
1873* Sun Aug 16 1998 David Axmark <david@detron.se>
1874
1875- A developers changelog for MySQL is available in the source RPM. And
1876 there is a history of major user visible changed in the Reference
1877 Manual. Only RPM specific changes will be documented here.
01878
=== removed file 'build/percona-server.spec'
--- build/percona-server.spec 2013-04-10 04:47:26 +0000
+++ build/percona-server.spec 1970-01-01 00:00:00 +0000
@@ -1,1877 +0,0 @@
1# Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
2#
3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation; version 2 of the License.
6#
7# This program is distributed in the hope that it will be useful,
8# but WITHOUT ANY WARRANTY; without even the implied warranty of
9# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10# GNU General Public License for more details.
11#
12# You should have received a copy of the GNU General Public License
13# along with this program; see the file COPYING. If not, write to the
14# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
15# MA 02110-1301 USA.
16
17##############################################################################
18# Some common macro definitions
19##############################################################################
20
21# NOTE: "vendor" is used in upgrade/downgrade check, so you can't
22# change these, has to be exactly as is.
23%define mysql_old_vendor MySQL AB
24%define mysql_vendor_2 Sun Microsystems, Inc.
25%define mysql_vendor Oracle and/or its affiliates
26%define percona_server_vendor Percona, Inc
27
28%define mysql_version 5.6.10
29%define redhatversion %(lsb_release -rs | awk -F. '{ print $1}')
30%define majorversion 60
31%define minorversion 2
32%define distribution rhel%{redhatversion}
33%define percona_server_version alpha%{majorversion}.%{minorversion}
34
35%define mysqld_user mysql
36%define mysqld_group mysql
37%define mysqldatadir /var/lib/mysql
38
39%define release alpha%{majorversion}.%{minorversion}.%{gotrevision}.%{distribution}
40
41#
42# Macros we use which are not available in all supported versions of RPM
43#
44# - defined/undefined are missing on RHEL4
45#
46%if %{expand:%{?defined:0}%{!?defined:1}}
47%define defined() %{expand:%%{?%{1}:1}%%{!?%{1}:0}}
48%endif
49%if %{expand:%{?undefined:0}%{!?undefined:1}}
50%define undefined() %{expand:%%{?%{1}:0}%%{!?%{1}:1}}
51%endif
52
53# ----------------------------------------------------------------------------
54# RPM build tools now automatically detect Perl module dependencies. This
55# detection causes problems as it is broken in some versions, and it also
56# provides unwanted dependencies from mandatory scripts in our package.
57# It might not be possible to disable this in all versions of RPM, but here we
58# try anyway. We keep the "AutoReqProv: no" for the "test" sub package, as
59# disabling here might fail, and that package has the most problems.
60# See:
61# http://fedoraproject.org/wiki/Packaging/Perl#Filtering_Requires:_and_Provides
62# http://www.wideopen.com/archives/rpm-list/2002-October/msg00343.html
63# ----------------------------------------------------------------------------
64%undefine __perl_provides
65%undefine __perl_requires
66
67##############################################################################
68# Command line handling
69##############################################################################
70#
71# To set options:
72#
73# $ rpmbuild --define="option <x>" ...
74#
75
76# ----------------------------------------------------------------------------
77# Commercial builds
78# ----------------------------------------------------------------------------
79%if %{undefined commercial}
80%define commercial 0
81%endif
82
83# ----------------------------------------------------------------------------
84# Source name
85# ----------------------------------------------------------------------------
86%if %{undefined src_base}
87%define src_base Percona-Server
88%endif
89%define src_dir %{src_base}-%{mysql_version}-%{percona_server_version}
90
91# ----------------------------------------------------------------------------
92# Feature set (storage engines, options). Default to community (everything)
93# ----------------------------------------------------------------------------
94%if %{undefined feature_set}
95%define feature_set community
96%endif
97
98# ----------------------------------------------------------------------------
99# Server comment strings
100# ----------------------------------------------------------------------------
101%if %{undefined compilation_comment_debug}
102%define compilation_comment_debug Percona Server - Debug (GPL), Release %{percona_server_version}, Revision %{gotrevision}
103%endif
104%if %{undefined compilation_comment_release}
105%define compilation_comment_release Percona Server (GPL), Release %{percona_server_version}, Revision %{gotrevision}
106%endif
107
108
109# ----------------------------------------------------------------------------
110# Product and server suffixes
111# ----------------------------------------------------------------------------
112%define product_suffix -56
113%if %{undefined product_suffix}
114 %if %{defined short_product_tag}
115 %define product_suffix -%{short_product_tag}
116 %else
117 %define product_suffix %{nil}
118 %endif
119%endif
120
121%define server_suffix %{product_suffix}
122%if %{undefined server_suffix}
123%define server_suffix %{nil}
124%endif
125
126# ----------------------------------------------------------------------------
127# Distribution support
128# ----------------------------------------------------------------------------
129%if %{undefined distro_specific}
130%define distro_specific 0
131%endif
132%if %{distro_specific}
133 %if %(test -f /etc/enterprise-release && echo 1 || echo 0)
134 %define oelver %(rpm -qf --qf '%%{version}\\n' /etc/enterprise-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
135 %if "%oelver" == "4"
136 %define distro_description Oracle Enterprise Linux 4
137 %define distro_releasetag oel4
138 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
139 %define distro_requires chkconfig coreutils grep procps shadow-utils
140 %else
141 %if "%oelver" == "5"
142 %define distro_description Oracle Enterprise Linux 5
143 %define distro_releasetag oel5
144 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
145 %define distro_requires chkconfig coreutils grep procps shadow-utils
146 %else
147 %{error:Oracle Enterprise Linux %{oelver} is unsupported}
148 %endif
149 %endif
150 %else
151 %if %(test -f /etc/redhat-release && echo 1 || echo 0)
152 %define rhelver %(rpm -qf --qf '%%{version}\\n' /etc/redhat-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
153 %if "%rhelver" == "4"
154 %define distro_description Red Hat Enterprise Linux 4
155 %define distro_releasetag rhel4
156 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
157 %define distro_requires chkconfig coreutils grep procps shadow-utils
158 %else
159 %if "%rhelver" == "5"
160 %define distro_description Red Hat Enterprise Linux 5
161 %define distro_releasetag rhel5
162 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
163 %define distro_requires chkconfig coreutils grep procps shadow-utils
164 %else
165 %{error:Red Hat Enterprise Linux %{rhelver} is unsupported}
166 %endif
167 %endif
168 %else
169 %if %(test -f /etc/SuSE-release && echo 1 || echo 0)
170 %define susever %(rpm -qf --qf '%%{version}\\n' /etc/SuSE-release)
171 %if "%susever" == "10"
172 %define distro_description SUSE Linux Enterprise Server 10
173 %define distro_releasetag sles10
174 %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client readline-devel zlib-devel libaio-devel bison cmake
175 %define distro_requires aaa_base coreutils grep procps pwdutils
176 %else
177 %if "%susever" == "11"
178 %define distro_description SUSE Linux Enterprise Server 11
179 %define distro_releasetag sles11
180 %define distro_buildreq gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client procps pwdutils readline-devel zlib-devel libaio-devel bison cmake
181 %define distro_requires aaa_base coreutils grep procps pwdutils
182 %else
183 %{error:SuSE %{susever} is unsupported}
184 %endif
185 %endif
186 %else
187 %{error:Unsupported distribution}
188 %endif
189 %endif
190 %endif
191%else
192 %define generic_kernel %(uname -r | cut -d. -f1-2)
193 %define distro_description Generic Linux (kernel %{generic_kernel})
194 %define distro_releasetag linux%{generic_kernel}
195 %define distro_buildreq gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel libaio-devel bison cmake
196 %define distro_requires coreutils grep procps /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd
197%endif
198
199# ----------------------------------------------------------------------------
200# Support optional "tcmalloc" library (experimental)
201# ----------------------------------------------------------------------------
202%if %{defined malloc_lib_target}
203%define WITH_TCMALLOC 1
204%else
205%define WITH_TCMALLOC 0
206%endif
207
208##############################################################################
209# Configuration based upon above user input, not to be set directly
210##############################################################################
211
212%if %{commercial}
213%define license_files_server %{src_dir}/LICENSE.mysql
214%define license_type Commercial
215%else
216%define license_files_server %{src_dir}/COPYING %{src_dir}/README
217%define license_type GPL
218%endif
219
220##############################################################################
221# Main spec file section
222##############################################################################
223
224Name: Percona-Server%{product_suffix}
225Summary: Percona-Server: a very fast and reliable SQL database server
226Group: Applications/Databases
227Version: %{mysql_version}
228Release: %{release}
229Distribution: %{distro_description}
230License: Copyright (c) 2000, 2010, %{mysql_vendor}. All rights reserved. Use is subject to license terms. Under %{license_type} license as shown in the Description field.
231Source: http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-%{mysql_version}-%{majorversion}.%{minorversion}/source/%{src_dir}.tar.gz
232URL: http://www.percona.com/
233Packager: Percona MySQL Development Team <mysqldev@percona.com>
234Vendor: %{percona_server_vendor}
235Provides: mysql-server
236BuildRequires: %{distro_buildreq}
237
238# Think about what you use here since the first step is to
239# run a rm -rf
240BuildRoot: %{_tmppath}/%{name}-%{version}-build
241
242# From the manual
243%description
244The Percona Server software delivers a very fast, multi-threaded, multi-user,
245and robust SQL (Structured Query Language) database server. Percona Server
246is intended for mission-critical, heavy-load production systems.
247
248Percona recommends that all production deployments be protected with a support
249contract (http://www.percona.com/mysql-suppport/) to ensure the highest uptime,
250be eligible for hot fixes, and boost your team's productivity.
251
252##############################################################################
253# Sub package definition
254##############################################################################
255
256%package -n Percona-Server-server%{product_suffix}
257Summary: Percona Server: a very fast and reliable SQL database server
258Group: Applications/Databases
259Requires: %{distro_requires} Percona-Server-shared%{product_suffix}
260Provides: mysql-server MySQL-server
261
262%description -n Percona-Server-server%{product_suffix}
263The Percona Server software delivers a very fast, multi-threaded, multi-user,
264and robust SQL (Structured Query Language) database server. Percona Server
265is intended for mission-critical, heavy-load production systems.
266
267Percona recommends that all production deployments be protected with a support
268contract (http://www.percona.com/mysql-suppport/) to ensure the highest uptime,
269be eligible for hot fixes, and boost your team's productivity.
270
271This package includes the Percona Server with XtraDB binary
272as well as related utilities to run and administer Percona Server.
273
274If you want to access and work with the database, you have to install
275package "Percona-Server-client%{product_suffix}" as well!
276
277# ----------------------------------------------------------------------------
278%package -n Percona-Server-client%{product_suffix}
279Summary: Percona Server - Client
280Group: Applications/Databases
281Requires: Percona-Server-shared%{product_suffix}
282Provides: mysql-client MySQL-client mysql MySQL
283
284%description -n Percona-Server-client%{product_suffix}
285This package contains the standard Percona Server client and administration tools.
286
287For a description of Percona Server see http://www.percona.com/software/percona-server/
288
289# ----------------------------------------------------------------------------
290%package -n Percona-Server-test%{product_suffix}
291Requires: Percona-Server-client%{product_suffix} perl
292Summary: Percona Server - Test suite
293Group: Applications/Databases
294Provides: mysql-test
295AutoReqProv: no
296
297%description -n Percona-Server-test%{product_suffix}
298This package contains the Percona Server regression test suite.
299
300For a description of Percona Server see http://www.percona.com/software/percona-server/
301
302# ----------------------------------------------------------------------------
303%package -n Percona-Server-devel%{product_suffix}
304Summary: Percona Server - Development header files and libraries
305Group: Applications/Databases
306Provides: mysql-devel
307
308%description -n Percona-Server-devel%{product_suffix}
309This package contains the development header files and libraries necessary
310to develop Percona Server client applications.
311
312For a description of Percona Server see http://www.percona.com/software/percona-server/
313
314# ----------------------------------------------------------------------------
315%package -n Percona-Server-shared%{product_suffix}
316Summary: Percona Server - Shared libraries
317Group: Applications/Databases
318Provides: mysql-shared
319
320%description -n Percona-Server-shared%{product_suffix}
321This package contains the shared libraries (*.so*) which certain languages
322and applications need to dynamically load and use Percona Server.
323
324##############################################################################
325%prep
326%setup -T -a 0 -c -n %{src_dir}
327
328##############################################################################
329%build
330
331# Be strict about variables, bail at earliest opportunity, etc.
332set -uex
333
334BuildUDF() {
335 cd UDF
336 CXX="${UDF_CXX:-g++}"\
337 CXXFLAGS="$CXXFLAGS -I$RPM_BUILD_DIR/%{src_dir}/release/include" \
338 ./configure --includedir=$RPM_BUILD_DIR/%{src_dir}/%{src_dir}/include \
339 --libdir=%{_libdir}/mysql/plugin
340 make all
341 cd -
342}
343
344# Optional package files
345touch optional-files-devel
346
347#
348# Set environment in order of preference, MYSQL_BUILD_* first, then variable
349# name, finally a default. RPM_OPT_FLAGS is assumed to be a part of the
350# default RPM build environment.
351#
352# We set CXX=gcc by default to support so-called 'generic' binaries, where we
353# do not have a dependancy on libgcc/libstdc++. This only works while we do
354# not require C++ features such as exceptions, and may need to be removed at
355# a later date.
356#
357
358# This is a hack, $RPM_OPT_FLAGS on ia64 hosts contains flags which break
359# the compile in cmd-line-utils/readline - needs investigation, but for now
360# we simply unset it and use those specified directly in cmake.
361%if "%{_arch}" == "ia64"
362RPM_OPT_FLAGS=
363%endif
364
365export PATH=${MYSQL_BUILD_PATH:-$PATH}
366export CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
367export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}}
368export CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
369export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}}
370export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}}
371export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}}
372export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-${MAKE_JFLAG:-}}
373
374# Build debug mysqld and libmysqld.a
375mkdir debug
376(
377 cd debug
378 # Attempt to remove any optimisation flags from the debug build
379 CFLAGS=`echo " ${CFLAGS} " | \
380 sed -e 's/ -O[0-9]* / /' \
381 -e 's/ -unroll2 / /' \
382 -e 's/ -ip / /' \
383 -e 's/^ //' \
384 -e 's/ $//'`
385 CXXFLAGS=`echo " ${CXXFLAGS} " | \
386 sed -e 's/ -O[0-9]* / /' \
387 -e 's/ -unroll2 / /' \
388 -e 's/ -ip / /' \
389 -e 's/^ //' \
390 -e 's/ $//'`
391 # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
392 # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
393 ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
394 -DCMAKE_BUILD_TYPE=Debug \
395 -DENABLE_DTRACE=OFF \
396 -DWITH_EMBEDDED_SERVER=OFF \
397 -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
398 -DFEATURE_SET="%{feature_set}" \
399 -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \
400 -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
401 echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG
402 make ${MAKE_JFLAG}
403)
404# Build full release
405mkdir release
406(
407 cd release
408 # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
409 # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
410 ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
411 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
412 -DENABLE_DTRACE=OFF \
413 -DWITH_EMBEDDED_SERVER=OFF \
414 -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
415 -DFEATURE_SET="%{feature_set}" \
416 -DCOMPILATION_COMMENT="%{compilation_comment_release}" \
417 -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
418 echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG
419 make ${MAKE_JFLAG}
420 cd ../%{src_dir}
421 d="`pwd`"
422 BuildUDF
423 cd "$d"
424)
425
426# For the debuginfo extraction stage, some source files are not located in the release
427# and debug dirs, but in the source dir. Make a link there to avoid errors in the
428# strip phase.
429for d in debug release
430do
431 for f in pars/lexyy.cc pars/pars0grm.cc pars/pars0grm.y pars/pars0lex.l \
432 fts/fts0pars.cc fts/fts0pars.y fts/fts0blex.l fts/fts0blex.cc \
433 include/fts0pars.h fts/fts0tlex.cc fts/fts0tlex.l
434 do
435 ln -s "../../../%{src_dir}/storage/innobase/$f" "$d/storage/innobase/"
436 done
437 mkdir -p "$d/storage/include/"
438 ln -s "../../../%{src_dir}/storage/innobase/include/fts0tlex.h" \
439 "$d/storage/include/"
440 ln -s "../../../%{src_dir}/storage/innobase/include/fts0blex.h" \
441 "$d/storage/include/"
442done
443
444# Use the build root for temporary storage of the shared libraries.
445RBR=$RPM_BUILD_ROOT
446
447# Clean up the BuildRoot first
448[ "$RBR" != "/" ] && [ -d "$RBR" ] && rm -rf "$RBR";
449
450# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921). This
451# needs to be during build phase as $CC is not set during install.
452if "$CC" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1
453then
454 libgcc=`$CC $CFLAGS --print-libgcc-file`
455 if [ -f $libgcc ]
456 then
457 mkdir -p $RBR%{_libdir}/mysql
458 install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a
459 echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel
460 fi
461fi
462
463# Move temporarily the saved files to the BUILD directory since the BUILDROOT
464# dir will be cleaned at the start of the install phase
465mkdir -p "$(dirname $RPM_BUILD_DIR/%{_libdir})"
466mv $RBR%{_libdir} $RPM_BUILD_DIR/%{_libdir}
467
468##############################################################################
469%install
470
471RBR=$RPM_BUILD_ROOT
472MBD=$RPM_BUILD_DIR/%{src_dir}
473
474# Move back the libdir from BUILD dir to BUILDROOT
475mkdir -p "$(dirname $RBR%{_libdir})"
476mv $RPM_BUILD_DIR/%{_libdir} $RBR%{_libdir}
477
478# Ensure that needed directories exists
479install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
480install -d $RBR%{mysqldatadir}/mysql
481install -d $RBR%{_datadir}/mysql-test
482install -d $RBR%{_datadir}/mysql/SELinux/RHEL4
483install -d $RBR%{_includedir}
484install -d $RBR%{_libdir}
485install -d $RBR%{_mandir}
486install -d $RBR%{_sbindir}
487install -d $RBR%{_libdir}/mysql/plugin
488
489(
490 cd $MBD/release
491 make DESTDIR=$RBR benchdir_root=%{_datadir} install
492 d="`pwd`"
493 cd $MBD/%{src_dir}/UDF
494 make DESTDIR=$RBR benchdir_root=%{_datadir} install
495 cd "$d"
496)
497
498# Install all binaries
499(
500 cd $MBD/release
501 make DESTDIR=$RBR install
502)
503
504# FIXME: at some point we should stop doing this and just install everything
505# FIXME: directly into %{_libdir}/mysql - perhaps at the same time as renaming
506# FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax
507mv -v $RBR/%{_libdir}/*.a $RBR/%{_libdir}/mysql/
508
509# Install logrotate and autostart
510install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
511install -m 755 $MBD/release/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql
512
513# Create a symlink "rcmysql", pointing to the init.script. SuSE users
514# will appreciate that, as all services usually offer this.
515ln -s %{_sysconfdir}/init.d/mysql $RBR%{_sbindir}/rcmysql
516
517# Touch the place where the my.cnf config file might be located
518# Just to make sure it's in the file list and marked as a config file
519touch $RBR%{_sysconfdir}/my.cnf
520
521# Install SELinux files in datadir
522install -m 600 $MBD/%{src_dir}/support-files/RHEL4-SElinux/mysql.{fc,te} \
523 $RBR%{_datadir}/mysql/SELinux/RHEL4
524
525%if %{WITH_TCMALLOC}
526# Even though this is a shared library, put it under /usr/lib*/mysql, so it
527# doesn't conflict with possible shared lib by the same name in /usr/lib*. See
528# `mysql_config --variable=pkglibdir` and mysqld_safe for how this is used.
529install -m 644 "%{malloc_lib_source}" \
530 "$RBR%{_libdir}/mysql/%{malloc_lib_target}"
531%endif
532
533# Remove man pages we explicitly do not want to package, avoids 'unpackaged
534# files' warning.
535rm -f $RBR%{_mandir}/man1/make_win_bin_dist.1*
536
537##############################################################################
538# Post processing actions, i.e. when installed
539##############################################################################
540
541%pre -n Percona-Server-server%{product_suffix}
542
543# ATTENTION: Parts of this are duplicated in the "triggerpostun" !
544
545mysql_datadir=%{mysqldatadir}
546# Check if we can safely upgrade. An upgrade is only safe if it's from one
547# of our RPMs in the same version family.
548
549installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
550if [ $? -eq 0 -a -n "$installed" ]; then
551 vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
552 version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
553 myoldvendor='%{mysql_old_vendor}'
554 myvendor_2='%{mysql_vendor_2}'
555 myvendor='%{mysql_vendor}'
556 perconaservervendor='%{percona_server_vendor}'
557 myversion='%{mysql_version}'
558
559 old_family=`echo $version \
560 | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
561 new_family=`echo $myversion \
562 | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
563
564 [ -z "$vendor" ] && vendor='<unknown>'
565 [ -z "$old_family" ] && old_family="<unrecognized version $version>"
566 [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
567
568 error_text=
569 if [ "$vendor" != "$myoldvendor" \
570 -a "$vendor" != "$myvendor_2" \
571 -a "$vendor" != "$myvendor" \
572 -a "$vendor" != "$perconaservervendor" ]; then
573 error_text="$error_text
574The current MySQL server package is provided by a different
575vendor ($vendor) than $myoldvendor, $myvendor_2,
576$myvendor, or $perconaservervendor.
577Some files may be installed to different locations, including log
578files and the service startup script in %{_sysconfdir}/init.d/.
579"
580 fi
581
582 if [ "$old_family" != "$new_family" ]; then
583 error_text="$error_text
584Upgrading directly from MySQL $old_family to MySQL $new_family may not
585be safe in all cases. A manual dump and restore using mysqldump is
586recommended. It is important to review the MySQL manual's Upgrading
587section for version-specific incompatibilities.
588"
589 fi
590
591 if [ -n "$error_text" ]; then
592 cat <<HERE >&2
593
594******************************************************************
595A MySQL server package ($installed) is installed.
596$error_text
597A manual upgrade is required.
598
599- Ensure that you have a complete, working backup of your data and my.cnf
600 files
601- Shut down the MySQL server cleanly
602- Remove the existing MySQL packages. Usually this command will
603 list the packages you should remove:
604 rpm -qa | grep -i '^mysql-'
605
606 You may choose to use 'rpm --nodeps -ev <package-name>' to remove
607 the package which contains the mysqlclient shared library. The
608 library will be reinstalled by the MySQL-shared-compat package.
609- Install the new MySQL packages supplied by $myvendor
610- Ensure that the MySQL server is started
611- Run the 'mysql_upgrade' program
612
613This is a brief description of the upgrade process. Important details
614can be found in the MySQL manual, in the Upgrading section.
615******************************************************************
616HERE
617 exit 1
618 fi
619fi
620
621# We assume that if there is exactly one ".pid" file,
622# it contains the valid PID of a running MySQL server.
623NR_PID_FILES=`ls $mysql_datadir/*.pid 2>/dev/null | wc -l`
624case $NR_PID_FILES in
625 0 ) SERVER_TO_START='' ;; # No "*.pid" file == no running server
626 1 ) SERVER_TO_START='true' ;;
627 * ) SERVER_TO_START='' # Situation not clear
628 SEVERAL_PID_FILES=true ;;
629esac
630# That logic may be debated: We might check whether it is non-empty,
631# contains exactly one number (possibly a PID), and whether "ps" finds it.
632# OTOH, if there is no such process, it means a crash without a cleanup -
633# is that a reason not to start a new server after upgrade?
634
635STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
636
637if [ -f $STATUS_FILE ]; then
638 echo "Some previous upgrade was not finished:"
639 ls -ld $STATUS_FILE
640 echo "Please check its status, then do"
641 echo " rm $STATUS_FILE"
642 echo "before repeating the MySQL upgrade."
643 exit 1
644elif [ -n "$SEVERAL_PID_FILES" ] ; then
645 echo "Your MySQL directory '$mysql_datadir' has more than one PID file:"
646 ls -ld $mysql_datadir/*.pid
647 echo "Please check which one (if any) corresponds to a running server"
648 echo "and delete all others before repeating the MySQL upgrade."
649 exit 1
650fi
651
652NEW_VERSION=%{mysql_version}-%{release}
653
654# The "pre" section code is also run on a first installation,
655# when there is no data directory yet. Protect against error messages.
656if [ -d $mysql_datadir ] ; then
657 echo "MySQL RPM upgrade to version $NEW_VERSION" > $STATUS_FILE
658 echo "'pre' step running at `date`" >> $STATUS_FILE
659 echo >> $STATUS_FILE
660 echo "ERR file(s):" >> $STATUS_FILE
661 ls -ltr $mysql_datadir/*.err >> $STATUS_FILE
662 echo >> $STATUS_FILE
663 echo "Latest 'Version' line in latest file:" >> $STATUS_FILE
664 grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \
665 tail -1 >> $STATUS_FILE
666 echo >> $STATUS_FILE
667
668 if [ -n "$SERVER_TO_START" ] ; then
669 # There is only one PID file, race possibility ignored
670 echo "PID file:" >> $STATUS_FILE
671 ls -l $mysql_datadir/*.pid >> $STATUS_FILE
672 cat $mysql_datadir/*.pid >> $STATUS_FILE
673 echo >> $STATUS_FILE
674 echo "Server process:" >> $STATUS_FILE
675 ps -fp `cat $mysql_datadir/*.pid` >> $STATUS_FILE
676 echo >> $STATUS_FILE
677 echo "SERVER_TO_START=$SERVER_TO_START" >> $STATUS_FILE
678 else
679 # Take a note we checked it ...
680 echo "PID file:" >> $STATUS_FILE
681 ls -l $mysql_datadir/*.pid >> $STATUS_FILE 2>&1
682 fi
683fi
684
685# Shut down a previously installed server first
686# Note we *could* make that depend on $SERVER_TO_START, but we rather don't,
687# so a "stop" is attempted even if there is no PID file.
688# (Maybe the "stop" doesn't work then, but we might fix that in itself.)
689if [ -x %{_sysconfdir}/init.d/mysql ] ; then
690 %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
691 echo "Giving mysqld 5 seconds to exit nicely"
692 sleep 5
693fi
694
695%post -n Percona-Server-server%{product_suffix}
696
697# ATTENTION: Parts of this are duplicated in the "triggerpostun" !
698
699mysql_datadir=%{mysqldatadir}
700NEW_VERSION=%{mysql_version}-%{release}
701STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
702
703# ----------------------------------------------------------------------
704# Create data directory if needed, check whether upgrade or install
705# ----------------------------------------------------------------------
706if [ ! -d $mysql_datadir ] ; then mkdir -m 755 $mysql_datadir; fi
707if [ -f $STATUS_FILE ] ; then
708 SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
709else
710 SERVER_TO_START=''
711fi
712# echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
713if [ ! -d $mysql_datadir/mysql ] ; then
714 mkdir $mysql_datadir/mysql;
715 echo "MySQL RPM installation of version $NEW_VERSION" >> $STATUS_FILE
716else
717 # If the directory exists, we may assume it is an upgrade.
718 echo "MySQL RPM upgrade to version $NEW_VERSION" >> $STATUS_FILE
719fi
720if [ ! -d $mysql_datadir/test ] ; then mkdir $mysql_datadir/test; fi
721
722# ----------------------------------------------------------------------
723# Make MySQL start/shutdown automatically when the machine does it.
724# ----------------------------------------------------------------------
725# NOTE: This still needs to be debated. Should we check whether these links
726# for the other run levels exist(ed) before the upgrade?
727# use chkconfig on Enterprise Linux and newer SuSE releases
728if [ -x /sbin/chkconfig ] ; then
729 /sbin/chkconfig --add mysql
730# use insserv for older SuSE Linux versions
731elif [ -x /sbin/insserv ] ; then
732 /sbin/insserv %{_sysconfdir}/init.d/mysql
733fi
734
735# ----------------------------------------------------------------------
736# Create a MySQL user and group. Do not report any problems if it already
737# exists.
738# ----------------------------------------------------------------------
739groupadd -r %{mysqld_group} 2> /dev/null || true
740useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" \
741 -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
742# The user may already exist, make sure it has the proper group nevertheless
743# (BUG#12823)
744usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
745
746# ----------------------------------------------------------------------
747# Change permissions so that the user that will run the MySQL daemon
748# owns all database files.
749# ----------------------------------------------------------------------
750chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
751
752# ----------------------------------------------------------------------
753# Initiate databases if needed
754# ----------------------------------------------------------------------
755%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
756
757# ----------------------------------------------------------------------
758# Upgrade databases if needed would go here - but it cannot be automated yet
759# ----------------------------------------------------------------------
760
761# ----------------------------------------------------------------------
762# Change permissions again to fix any new files.
763# ----------------------------------------------------------------------
764chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
765
766# ----------------------------------------------------------------------
767# Fix permissions for the permission database so that only the user
768# can read them.
769# ----------------------------------------------------------------------
770chmod -R og-rw $mysql_datadir/mysql
771
772# ----------------------------------------------------------------------
773# install SELinux files - but don't override existing ones
774# ----------------------------------------------------------------------
775SETARGETDIR=/etc/selinux/targeted/src/policy
776SEDOMPROG=$SETARGETDIR/domains/program
777SECONPROG=$SETARGETDIR/file_contexts/program
778if [ -f /etc/redhat-release ] \
779 && (grep -q "Red Hat Enterprise Linux .. release 4" /etc/redhat-release \
780 || grep -q "CentOS release 4" /etc/redhat-release) ; then
781 echo
782 echo
783 echo 'Notes regarding SELinux on this platform:'
784 echo '========================================='
785 echo
786 echo 'The default policy might cause server startup to fail because it is'
787 echo 'not allowed to access critical files. In this case, please update'
788 echo 'your installation.'
789 echo
790 echo 'The default policy might also cause inavailability of SSL related'
791 echo 'features because the server is not allowed to access /dev/random'
792 echo 'and /dev/urandom. If this is a problem, please do the following:'
793 echo
794 echo ' 1) install selinux-policy-targeted-sources from your OS vendor'
795 echo ' 2) add the following two lines to '$SEDOMPROG/mysqld.te':'
796 echo ' allow mysqld_t random_device_t:chr_file read;'
797 echo ' allow mysqld_t urandom_device_t:chr_file read;'
798 echo ' 3) cd to '$SETARGETDIR' and issue the following command:'
799 echo ' make load'
800 echo
801 echo
802fi
803
804if [ -x sbin/restorecon ] ; then
805 sbin/restorecon -R var/lib/mysql
806fi
807
808# Was the server running before the upgrade? If so, restart the new one.
809if [ "$SERVER_TO_START" = "true" ] ; then
810 # Restart in the same way that mysqld will be started normally.
811 if [ -x %{_sysconfdir}/init.d/mysql ] ; then
812 %{_sysconfdir}/init.d/mysql start
813 echo "Giving mysqld 5 seconds to start"
814 sleep 5
815 fi
816fi
817
818echo "Percona Server is distributed with several useful UDF (User Defined Function) from Maatkit."
819echo "Run the following commands to create these functions:"
820echo "mysql -e \"CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'\""
821echo "mysql -e \"CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'\""
822echo "mysql -e \"CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'\""
823echo "See http://code.google.com/p/maatkit/source/browse/trunk/udf for more details"
824
825# Collect an upgrade history ...
826echo "Upgrade/install finished at `date`" >> $STATUS_FILE
827echo >> $STATUS_FILE
828echo "=====" >> $STATUS_FILE
829STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
830cat $STATUS_FILE >> $STATUS_HISTORY
831mv -f $STATUS_FILE ${STATUS_FILE}-LAST # for "triggerpostun"
832
833
834#echo "Thank you for installing the MySQL Community Server! For Production
835#systems, we recommend MySQL Enterprise, which contains enterprise-ready
836#software, intelligent advisory services, and full production support with
837#scheduled service packs and more. Visit www.mysql.com/enterprise for more
838#information."
839
840%preun -n Percona-Server-server%{product_suffix}
841
842# Which '$1' does this refer to? Fedora docs have info:
843# " ... a count of the number of versions of the package that are installed.
844# Action Count
845# Install the first time 1
846# Upgrade 2 or higher (depending on the number of versions installed)
847# Remove last version of package 0 "
848#
849# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html
850
851if [ $1 = 0 ] ; then
852 # Stop MySQL before uninstalling it
853 if [ -x %{_sysconfdir}/init.d/mysql ] ; then
854 %{_sysconfdir}/init.d/mysql stop > /dev/null
855 # Remove autostart of MySQL
856 # use chkconfig on Enterprise Linux and newer SuSE releases
857 if [ -x /sbin/chkconfig ] ; then
858 /sbin/chkconfig --del mysql
859 # For older SuSE Linux versions
860 elif [ -x /sbin/insserv ] ; then
861 /sbin/insserv -r %{_sysconfdir}/init.d/mysql
862 fi
863 fi
864fi
865
866# We do not remove the mysql user since it may still own a lot of
867# database files.
868
869%triggerpostun -n Percona-Server-server%{product_suffix} --MySQL-server-community
870
871# Setup: We renamed this package, so any existing "server-community"
872# package will be removed when this "server" is installed.
873# Problem: RPM will first run the "pre" and "post" sections of this script,
874# and only then the "preun" of that old community server.
875# But this "preun" includes stopping the server and uninstalling the service,
876# "chkconfig --del mysql" which removes the symlinks to the start script.
877# Solution: *After* the community server got removed, restart this server
878# and re-install the service.
879#
880# For information about triggers in spec files, see the Fedora docs:
881# http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch10s02.html
882# For all details of this code, see the "pre" and "post" sections.
883
884mysql_datadir=%{mysqldatadir}
885NEW_VERSION=%{mysql_version}-%{release}
886STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER-LAST # Note the difference!
887STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
888
889if [ -f $STATUS_FILE ] ; then
890 SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
891else
892 # This should never happen, but let's be prepared
893 SERVER_TO_START=''
894fi
895echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
896
897if [ -x /sbin/chkconfig ] ; then
898 /sbin/chkconfig --add mysql
899# use insserv for older SuSE Linux versions
900elif [ -x /sbin/insserv ] ; then
901 /sbin/insserv %{_sysconfdir}/init.d/mysql
902fi
903
904# Was the server running before the upgrade? If so, restart the new one.
905if [ "$SERVER_TO_START" = "true" ] ; then
906 # Restart in the same way that mysqld will be started normally.
907 if [ -x %{_sysconfdir}/init.d/mysql ] ; then
908 %{_sysconfdir}/init.d/mysql start
909 echo "Giving mysqld 5 seconds to start"
910 sleep 5
911 fi
912fi
913
914echo "Trigger 'postun --community' finished at `date`" >> $STATUS_HISTORY
915echo >> $STATUS_HISTORY
916echo "=====" >> $STATUS_HISTORY
917
918
919# ----------------------------------------------------------------------
920# Clean up the BuildRoot after build is done
921# ----------------------------------------------------------------------
922%clean
923[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] \
924 && rm -rf $RPM_BUILD_ROOT;
925
926##############################################################################
927# Files section
928##############################################################################
929
930%files -n Percona-Server-server%{product_suffix}
931%defattr(-,root,root,0755)
932
933%if %{defined license_files_server}
934%doc %{license_files_server}
935%endif
936%doc release/Docs/INFO_SRC
937%doc release/Docs/INFO_BIN
938%doc release/support-files/my-*.cnf
939
940%doc %attr(644, root, root) %{_infodir}/mysql.info*
941
942%doc %attr(644, root, man) %{_mandir}/man1/innochecksum.1*
943%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
944%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
945%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
946%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
947%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1*
948%doc %attr(644, root, man) %{_mandir}/man1/mysql_convert_table_format.1*
949%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_extensions.1*
950%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
951%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
952%doc %attr(644, root, man) %{_mandir}/man1/mysqldumpslow.1*
953%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
954%doc %attr(644, root, man) %{_mandir}/man1/mysql_secure_installation.1*
955%doc %attr(644, root, man) %{_mandir}/man1/mysql_setpermission.1*
956%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
957%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
958%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
959%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
960%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1*
961%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1*
962%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
963%doc %attr(644, root, man) %{_mandir}/man1/mysqlbug.1*
964%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
965%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
966%doc %attr(644, root, man) %{_mandir}/man1/resolve_stack_dump.1*
967%doc %attr(644, root, man) %{_mandir}/man1/resolveip.1*
968%doc %attr(644, root, man) %{_mandir}/man1/mysql_plugin.1*
969
970%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
971
972%attr(755, root, root) %{_bindir}/innochecksum
973%attr(755, root, root) %{_bindir}/my_print_defaults
974%attr(755, root, root) %{_bindir}/myisam_ftdump
975%attr(755, root, root) %{_bindir}/myisamchk
976%attr(755, root, root) %{_bindir}/myisamlog
977%attr(755, root, root) %{_bindir}/myisampack
978%attr(755, root, root) %{_bindir}/mysql_convert_table_format
979%attr(755, root, root) %{_bindir}/mysql_fix_extensions
980%attr(755, root, root) %{_bindir}/mysql_install_db
981%attr(755, root, root) %{_bindir}/mysql_secure_installation
982%attr(755, root, root) %{_bindir}/mysql_setpermission
983%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql
984%attr(755, root, root) %{_bindir}/mysql_upgrade
985%attr(755, root, root) %{_bindir}/mysql_plugin
986%attr(755, root, root) %{_bindir}/mysql_zap
987%attr(755, root, root) %{_bindir}/mysqlbug
988%attr(755, root, root) %{_bindir}/mysqld_multi
989%attr(755, root, root) %{_bindir}/mysqld_safe
990%attr(755, root, root) %{_bindir}/mysqldumpslow
991%attr(755, root, root) %{_bindir}/mysqlhotcopy
992%attr(755, root, root) %{_bindir}/mysqltest
993%attr(755, root, root) %{_bindir}/perror
994%attr(755, root, root) %{_bindir}/replace
995%attr(755, root, root) %{_bindir}/resolve_stack_dump
996%attr(755, root, root) %{_bindir}/resolveip
997
998%attr(755, root, root) %{_sbindir}/mysqld
999%attr(755, root, root) %{_sbindir}/mysqld-debug
1000%attr(755, root, root) %{_sbindir}/rcmysql
1001%attr(755, root, root) %{_libdir}/mysql/plugin/daemon_example.ini
1002%attr(755, root, root) %{_libdir}/mysql/plugin/adt_null.so
1003%attr(755, root, root) %{_libdir}/mysql/plugin/libdaemon_example.so
1004%attr(755, root, root) %{_libdir}/mysql/plugin/mypluglib.so
1005%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_master.so
1006%attr(755, root, root) %{_libdir}/mysql/plugin/semisync_slave.so
1007%attr(755, root, root) %{_libdir}/mysql/plugin/auth.so
1008%attr(755, root, root) %{_libdir}/mysql/plugin/auth_socket.so
1009%attr(755, root, root) %{_libdir}/mysql/plugin/auth_test_plugin.so
1010%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_client.so
1011%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_interface.so
1012%attr(755, root, root) %{_libdir}/mysql/plugin/qa_auth_server.so
1013%attr(755, root, root) %{_libdir}/mysql/plugin/validate_password.so
1014%attr(755, root, root) %{_libdir}/mysql/plugin/debug/adt_null.so
1015%attr(755, root, root) %{_libdir}/mysql/plugin/debug/libdaemon_example.so
1016%attr(755, root, root) %{_libdir}/mysql/plugin/debug/mypluglib.so
1017%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_master.so
1018%attr(755, root, root) %{_libdir}/mysql/plugin/debug/semisync_slave.so
1019%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth.so
1020%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_socket.so
1021%attr(755, root, root) %{_libdir}/mysql/plugin/debug/auth_test_plugin.so
1022%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_client.so
1023%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_interface.so
1024%attr(755, root, root) %{_libdir}/mysql/plugin/debug/qa_auth_server.so
1025%attr(755, root, root) %{_libdir}/mysql/plugin/debug/validate_password.so
1026# UDF files
1027%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.so
1028%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.so.0
1029%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv1a_udf.so.0.0.0
1030%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.so
1031%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.so.0
1032%attr(755, root, root) %{_libdir}/mysql/plugin/libfnv_udf.so.0.0.0
1033%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.so
1034%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.so.0
1035%attr(755, root, root) %{_libdir}/mysql/plugin/libmurmur_udf.so.0.0.0
1036
1037
1038
1039
1040%if %{WITH_TCMALLOC}
1041%attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target}
1042%endif
1043
1044%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
1045%attr(755, root, root) %{_sysconfdir}/init.d/mysql
1046
1047%attr(755, root, root) %{_datadir}/mysql/
1048
1049# ----------------------------------------------------------------------------
1050%files -n Percona-Server-client%{product_suffix}
1051
1052%defattr(-, root, root, 0755)
1053%attr(755, root, root) %{_bindir}/msql2mysql
1054%attr(755, root, root) %{_bindir}/mysql
1055%attr(755, root, root) %{_bindir}/mysql_find_rows
1056%attr(755, root, root) %{_bindir}/mysql_waitpid
1057%attr(755, root, root) %{_bindir}/mysqlaccess
1058# XXX: This should be moved to %{_sysconfdir}
1059%attr(644, root, root) %{_bindir}/mysqlaccess.conf
1060%attr(755, root, root) %{_bindir}/mysqladmin
1061%attr(755, root, root) %{_bindir}/mysqlbinlog
1062%attr(755, root, root) %{_bindir}/mysqlcheck
1063%attr(755, root, root) %{_bindir}/mysqldump
1064%attr(755, root, root) %{_bindir}/mysqlimport
1065%attr(755, root, root) %{_bindir}/mysqlshow
1066%attr(755, root, root) %{_bindir}/mysqlslap
1067%attr(755, root, root) %{_bindir}/mysql_config_editor
1068
1069%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1*
1070%doc %attr(644, root, man) %{_mandir}/man1/mysql.1*
1071%doc %attr(644, root, man) %{_mandir}/man1/mysql_find_rows.1*
1072%doc %attr(644, root, man) %{_mandir}/man1/mysql_waitpid.1*
1073%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1*
1074%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1*
1075%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1*
1076%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1*
1077%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
1078%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1*
1079%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
1080%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
1081
1082# ----------------------------------------------------------------------------
1083%files -n Percona-Server-devel%{product_suffix} -f optional-files-devel
1084%defattr(-, root, root, 0755)
1085%doc %attr(644, root, man) %{_mandir}/man1/comp_err.1*
1086%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
1087%attr(755, root, root) %{_bindir}/mysql_config
1088%dir %attr(755, root, root) %{_includedir}/mysql
1089%dir %attr(755, root, root) %{_libdir}/mysql
1090%{_includedir}/mysql/*
1091%{_datadir}/aclocal/mysql.m4
1092%{_libdir}/mysql/libmysqlclient.a
1093%{_libdir}/mysql/libmysqlclient_r.a
1094%{_libdir}/mysql/libmysqlservices.a
1095
1096# ----------------------------------------------------------------------------
1097%files -n Percona-Server-shared%{product_suffix}
1098%defattr(-, root, root, 0755)
1099# Shared libraries (omit for architectures that don't support them)
1100%{_libdir}/libmysql*.so*
1101# Maatkit UDF libs
1102%{_libdir}/mysql/plugin/libfnv1a_udf.a
1103%{_libdir}/mysql/plugin/libfnv1a_udf.la
1104%{_libdir}/mysql/plugin/libfnv_udf.a
1105%{_libdir}/mysql/plugin/libfnv_udf.la
1106%{_libdir}/mysql/plugin/libmurmur_udf.a
1107%{_libdir}/mysql/plugin/libmurmur_udf.la
1108
1109%post -n Percona-Server-shared%{product_suffix}
1110/sbin/ldconfig
1111
1112%postun -n Percona-Server-shared%{product_suffix}
1113/sbin/ldconfig
1114
1115# ----------------------------------------------------------------------------
1116%files -n Percona-Server-test%{product_suffix}
1117%defattr(-, root, root, 0755)
1118%attr(-, root, root) %{_datadir}/mysql-test
1119%attr(755, root, root) %{_bindir}/mysql_client_test
1120#%attr(755, root, root) %{_bindir}/mysql_client_test_embedded
1121#%attr(755, root, root) %{_bindir}/mysqltest_embedded
1122%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1*
1123%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1*
1124%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1*
1125%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1*
1126%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
1127
1128##############################################################################
1129# The spec file changelog only includes changes made to the spec file
1130# itself - note that they must be ordered by date (important when
1131# merging BK trees)
1132##############################################################################
1133%changelog
1134* Thu Feb 10 2011 Ignacio Nin <ignacio.nin@percona.com>
1135
1136- Removed lines which prevented -debuginfo packages from being built.
1137
1138* Tue Nov 23 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
1139
1140- EXCEPTIONS-CLIENT has been deleted, remove it from here too
1141- Support MYSQL_BUILD_MAKE_JFLAG environment variable for passing
1142 a '-j' argument to make.
1143
1144* Mon Nov 1 2010 Georgi Kodinov <georgi.godinov@oracle.com>
1145
1146- Added test authentication (WL#1054) plugin binaries
1147
1148* Wed Oct 6 2010 Georgi Kodinov <georgi.godinov@oracle.com>
1149
1150- Added example external authentication (WL#1054) plugin binaries
1151
1152* Wed Aug 11 2010 Joerg Bruehe <joerg.bruehe@oracle.com>
1153
1154- With a recent spec file cleanup, names have changed: A "-community" part was dropped.
1155 Reflect that in the "Obsoletes" specifications.
1156- Add a "triggerpostun" to handle the uninstall of the "-community" server RPM.
1157- This fixes bug#55015 "MySQL server is not restarted properly after RPM upgrade".
1158
1159* Tue Jun 15 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1160
1161- Change the behaviour on installation and upgrade:
1162 On installation, do not autostart the server.
1163 *Iff* the server was stopped before the upgrade is started, this is taken as a
1164 sign the administrator is handling that manually, and so the new server will
1165 not be started automatically at the end of the upgrade.
1166 The start/stop scripts will still be installed, so the server will be started
1167 on the next machine boot.
1168 This is the 5.5 version of fixing bug#27072 (RPM autostarting the server).
1169
1170* Tue Jun 1 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
1171
1172- Implement SELinux checks from distribution-specific spec file.
1173
1174* Wed May 12 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
1175
1176- Large number of changes to build using CMake
1177- Introduce distribution-specific RPMs
1178- Drop debuginfo, build all binaries with debug/symbols
1179- Remove __os_install_post, use native macro
1180- Remove _unpackaged_files_terminate_build, make it an error to have
1181 unpackaged files
1182- Remove cluster RPMs
1183
1184* Wed Mar 24 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1185
1186- Add "--with-perfschema" to the configure options.
1187
1188* Mon Mar 22 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1189
1190- User "usr/lib*" to allow for both "usr/lib" and "usr/lib64",
1191 mask "rmdir" return code 1.
1192- Remove "ha_example.*" files from the list, they aren't built.
1193
1194* Wed Mar 17 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1195
1196- Fix a wrong path name in handling the debug plugins.
1197
1198* Wed Mar 10 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1199
1200- Take the result of the debug plugin build and put it into the optimized tree,
1201 so that it becomes part of the final installation;
1202 include the files in the packlist. Part of the fixes for bug#49022.
1203
1204* Mon Mar 01 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1205
1206- Set "Oracle and/or its affiliates" as the vendor and copyright owner,
1207 accept upgrading from packages showing MySQL or Sun as vendor.
1208
1209* Fri Feb 12 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1210
1211- Formatting changes:
1212 Have a consistent structure of separator lines and of indentation
1213 (8 leading blanks => tab).
1214- Introduce the variable "src_dir".
1215- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence
1216 over "CC" ("CXX").
1217- Drop the old "with_static" argument analysis, this is not supported
1218 in 5.1 since ages.
1219- Introduce variables to control the handlers individually, as well
1220 as other options.
1221- Use the new "--with-plugin" notation for the table handlers.
1222- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql"
1223 was done back in 2002 already.
1224- Make "--with-zlib-dir=bundled" the default, add an option to disable it.
1225- Add missing manual pages to the file list.
1226- Improve the runtime check for "libgcc.a", protect it against being tried
1227 with the Intel compiler "icc".
1228
1229* Mon Jan 11 2010 Joerg Bruehe <joerg.bruehe@sun.com>
1230
1231- Change RPM file naming:
1232 - Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc".
1233 - Release counts from 1, not 0.
1234
1235* Wed Dec 23 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1236
1237- The "semisync" plugin file name has lost its introductory "lib",
1238 adapt the file lists for the subpackages.
1239 This is a part missing from the fix for bug#48351.
1240- Remove the "fix_privilege_tables" manual, it does not exist in 5.5
1241 (and likely, the whole script will go, too).
1242
1243* Mon Nov 16 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1244
1245- Fix some problems with the directives around "tcmalloc" (experimental),
1246 remove erroneous traces of the InnoDB plugin (that is 5.1 only).
1247
1248* Fri Oct 06 2009 Magnus Blaudd <mvensson@mysql.com>
1249
1250- Removed mysql_fix_privilege_tables
1251
1252* Fri Oct 02 2009 Alexander Nozdrin <alexander.nozdrin@sun.com>
1253
1254- "mysqlmanager" got removed from version 5.4, all references deleted.
1255
1256* Fri Aug 28 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1257
1258- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin.
1259
1260* Thu Aug 27 2009 Joerg Bruehe <joerg.bruehe@sun.com>
1261
1262- This version does not contain the "Instance manager", "mysqlmanager":
1263 Remove it from the spec file so that packaging succeeds.
1264
1265* Mon Aug 24 2009 Jonathan Perkin <jperkin@sun.com>
1266
1267- Add conditionals for bundled zlib and innodb plugin
1268
1269* Fri Aug 21 2009 Jonathan Perkin <jperkin@sun.com>
1270
1271- Install plugin libraries in appropriate packages.
1272- Disable libdaemon_example and ftexample plugins.
1273
1274* Thu Aug 20 2009 Jonathan Perkin <jperkin@sun.com>
1275
1276- Update variable used for mysql-test suite location to match source.
1277
1278* Fri Nov 07 2008 Joerg Bruehe <joerg@mysql.com>
1279
1280- Correct yesterday's fix, so that it also works for the last flag,
1281 and fix a wrong quoting: un-quoted quote marks must not be escaped.
1282
1283* Thu Nov 06 2008 Kent Boortz <kent.boortz@sun.com>
1284
1285- Removed "mysql_upgrade_shell"
1286- Removed some copy/paste between debug and normal build
1287
1288* Thu Nov 06 2008 Joerg Bruehe <joerg@mysql.com>
1289
1290- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized.
1291 This should cover both gcc and icc flags. Fixes bug#40546.
1292
1293* Fri Aug 29 2008 Kent Boortz <kent@mysql.com>
1294
1295- Removed the "Federated" storage engine option, and enabled in all
1296
1297* Tue Aug 26 2008 Joerg Bruehe <joerg@mysql.com>
1298
1299- Get rid of the "warning: Installed (but unpackaged) file(s) found:"
1300 Some generated files aren't needed in RPMs:
1301 - the "sql-bench/" subdirectory
1302 Some files were missing:
1303 - /usr/share/aclocal/mysql.m4 ("devel" subpackage)
1304 - Manual "mysqlbug" ("server" subpackage)
1305 - Program "innochecksum" and its manual ("server" subpackage)
1306 - Manual "mysql_find_rows" ("client" subpackage)
1307 - Script "mysql_upgrade_shell" ("client" subpackage)
1308 - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage)
1309 - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage)
1310
1311* Mon Mar 31 2008 Kent Boortz <kent@mysql.com>
1312
1313- Made the "Federated" storage engine an option
1314- Made the "Cluster" storage engine and sub packages an option
1315
1316* Wed Mar 19 2008 Joerg Bruehe <joerg@mysql.com>
1317
1318- Add the man pages for "ndbd" and "ndb_mgmd".
1319
1320* Mon Feb 18 2008 Timothy Smith <tim@mysql.com>
1321
1322- Require a manual upgrade if the alread-installed mysql-server is
1323 from another vendor, or is of a different major version.
1324
1325* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com>
1326
1327- "ndb_size.tmpl" is not needed any more,
1328 "man1/mysql_install_db.1" lacked the trailing '*'.
1329
1330* Sat Apr 07 2007 Kent Boortz <kent@mysql.com>
1331
1332- Removed man page for "mysql_create_system_tables"
1333
1334* Wed Mar 21 2007 Daniel Fischer <df@mysql.com>
1335
1336- Add debug server.
1337
1338* Mon Mar 19 2007 Daniel Fischer <df@mysql.com>
1339
1340- Remove Max RPMs; the server RPMs contain a mysqld compiled with all
1341 features that previously only were built into Max.
1342
1343* Fri Mar 02 2007 Joerg Bruehe <joerg@mysql.com>
1344
1345- Add several man pages for NDB which are now created.
1346
1347* Fri Jan 05 2007 Kent Boortz <kent@mysql.com>
1348
1349- Put back "libmygcc.a", found no real reason it was removed.
1350
1351- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
1352 correct "libgcc.a" path is returned for the 32/64 bit architecture.
1353
1354* Mon Dec 18 2006 Joerg Bruehe <joerg@mysql.com>
1355
1356- Fix the move of "mysqlmanager" to section 8: Directory name was wrong.
1357
1358* Thu Dec 14 2006 Joerg Bruehe <joerg@mysql.com>
1359
1360- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql"
1361 in the server RPM.
1362- The "mysqlmanager" man page got moved from section 1 to 8.
1363
1364* Thu Nov 30 2006 Joerg Bruehe <joerg@mysql.com>
1365
1366- Call "make install" using "benchdir_root=%{_datadir}",
1367 because that is affecting the regression test suite as well.
1368
1369* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
1370
1371- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB)
1372 replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
1373 (bug#22081).
1374
1375* Mon Nov 13 2006 Joerg Bruehe <joerg@mysql.com>
1376
1377- Add "--with-partition" to all server builds.
1378
1379- Use "--report-features" in one test run per server build.
1380
1381* Tue Aug 15 2006 Joerg Bruehe <joerg@mysql.com>
1382
1383- The "max" server is removed from packages, effective from 5.1.12-beta.
1384 Delete all steps to build, package, or install it.
1385
1386* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>
1387
1388- Fix a typing error in the "make" target for the Perl script to run the tests.
1389
1390* Tue Jul 04 2006 Joerg Bruehe <joerg@mysql.com>
1391
1392- Use the Perl script to run the tests, because it will automatically check
1393 whether the server is configured with SSL.
1394
1395* Tue Jun 27 2006 Joerg Bruehe <joerg@mysql.com>
1396
1397- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216)
1398
1399- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade,
1400 there are some more aspects which need to be solved before this is possible.
1401 For now, just ensure the binary "mysql_upgrade" is delivered and installed.
1402
1403* Thu Jun 22 2006 Joerg Bruehe <joerg@mysql.com>
1404
1405- Close a gap of the previous version by explicitly using
1406 a newly created temporary directory for the socket to be used
1407 in the "mysql_upgrade" operation, overriding any local setting.
1408
1409* Tue Jun 20 2006 Joerg Bruehe <joerg@mysql.com>
1410
1411- To run "mysql_upgrade", we need a running server;
1412 start it in isolation and skip password checks.
1413
1414* Sat May 20 2006 Kent Boortz <kent@mysql.com>
1415
1416- Always compile for PIC, position independent code.
1417
1418* Wed May 10 2006 Kent Boortz <kent@mysql.com>
1419
1420- Use character set "all" when compiling with Cluster, to make Cluster
1421 nodes independent on the character set directory, and the problem
1422 that two RPM sub packages both wants to install this directory.
1423
1424* Mon May 01 2006 Kent Boortz <kent@mysql.com>
1425
1426- Use "./libtool --mode=execute" instead of searching for the
1427 executable in current directory and ".libs".
1428
1429* Fri Apr 28 2006 Kent Boortz <kent@mysql.com>
1430
1431- Install and run "mysql_upgrade"
1432
1433* Wed Apr 12 2006 Jim Winstead <jimw@mysql.com>
1434
1435- Remove sql-bench, and MySQL-bench RPM (will be built as an independent
1436 project from the mysql-bench repository)
1437
1438* Tue Apr 11 2006 Jim Winstead <jimw@mysql.com>
1439
1440- Remove old mysqltestmanager and related programs
1441* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>
1442
1443- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS
1444
1445* Wed Mar 07 2006 Kent Boortz <kent@mysql.com>
1446
1447- Changed product name from "Community Edition" to "Community Server"
1448
1449* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>
1450
1451- Fast mutexes is now disabled by default, but should be
1452 used in Linux builds.
1453
1454* Mon Feb 20 2006 Kent Boortz <kent@mysql.com>
1455
1456- Reintroduced a max build
1457- Limited testing of 'debug' and 'max' servers
1458- Berkeley DB only in 'max'
1459
1460* Mon Feb 13 2006 Joerg Bruehe <joerg@mysql.com>
1461
1462- Use "-i" on "make test-force";
1463 this is essential for later evaluation of this log file.
1464
1465* Thu Feb 09 2006 Kent Boortz <kent@mysql.com>
1466
1467- Pass '-static' to libtool, link static with our own libraries, dynamic
1468 with system libraries. Link with the bundled zlib.
1469
1470* Wed Feb 08 2006 Kristian Nielsen <knielsen@mysql.com>
1471
1472- Modified RPM spec to match new 5.1 debug+max combined community packaging.
1473
1474* Sun Dec 18 2005 Kent Boortz <kent@mysql.com>
1475
1476- Added "client/mysqlslap"
1477
1478* Mon Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
1479
1480- Added zlib to the list of (static) libraries installed
1481- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
1482- Compile MySQL with bundled zlib
1483- Fixed %packager name to "MySQL Production Engineering Team"
1484
1485* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>
1486
1487- Avoid using the "bundled" zlib on "shared" builds:
1488 As it is not installed (on the build system), this gives dependency
1489 problems with "libtool" causing the build to fail.
1490 (Change was done on Nov 11, but left uncommented.)
1491
1492* Tue Nov 22 2005 Joerg Bruehe <joerg@mysql.com>
1493
1494- Extend the file existence check for "init.d/mysql" on un-install
1495 to also guard the call to "insserv"/"chkconfig".
1496
1497* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>
1498
1499- added more man pages
1500
1501* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
1502
1503- Made yaSSL support an option (off by default)
1504
1505* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
1506
1507- Enabled yaSSL support
1508
1509* Sat Oct 15 2005 Kent Boortz <kent@mysql.com>
1510
1511- Give mode arguments the same way in all places
1512- Moved copy of mysqld.a to "standard" build, but
1513 disabled it as we don't do embedded yet in 5.0
1514
1515* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
1516
1517- For 5.x, always compile with --with-big-tables
1518- Copy the config.log file to location outside
1519 the build tree
1520
1521* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
1522
1523- Removed unneeded/obsolete configure options
1524- Added archive engine to standard server
1525- Removed the embedded server from experimental server
1526- Changed suffix "-Max" => "-max"
1527- Changed comment string "Max" => "Experimental"
1528
1529* Thu Oct 13 2005 Lenz Grimmer <lenz@mysql.com>
1530
1531- added a usermod call to assign a potential existing mysql user to the
1532 correct user group (BUG#12823)
1533- Save the perror binary built during Max build so it supports the NDB
1534 error codes (BUG#13740)
1535- added a separate macro "mysqld_group" to be able to define the
1536 user group of the mysql user seperately, if desired.
1537
1538* Thu Sep 29 2005 Lenz Grimmer <lenz@mysql.com>
1539
1540- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
1541 $RBR variable did not get expanded, thus leaving old build roots behind)
1542
1543* Thu Aug 04 2005 Lenz Grimmer <lenz@mysql.com>
1544
1545- Fixed the creation of the mysql user group account in the postinstall
1546 section (BUG 12348)
1547- Fixed enabling the Archive storage engine in the Max binary
1548
1549* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>
1550
1551- Fixed the Requires: tag for the server RPM (BUG 12233)
1552
1553* Fri Jul 15 2005 Lenz Grimmer <lenz@mysql.com>
1554
1555- create a "mysql" user group and assign the mysql user account to that group
1556 in the server postinstall section. (BUG 10984)
1557
1558* Tue Jun 14 2005 Lenz Grimmer <lenz@mysql.com>
1559
1560- Do not build statically on i386 by default, only when adding either "--with
1561 static" or "--define '_with_static 1'" to the RPM build options. Static
1562 linking really only makes sense when linking against the specially patched
1563 glibc 2.2.5.
1564
1565* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>
1566
1567- added mysql_client_test to the "bench" subpackage (BUG 10676)
1568- added the libndbclient static and shared libraries (BUG 10676)
1569
1570* Wed Jun 01 2005 Lenz Grimmer <lenz@mysql.com>
1571
1572- use "mysqldatadir" variable instead of hard-coding the path multiple times
1573- use the "mysqld_user" variable on all occasions a user name is referenced
1574- removed (incomplete) Brazilian translations
1575- removed redundant release tags from the subpackage descriptions
1576
1577* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>
1578
1579- Added a "make clean" between separate calls to "BuildMySQL".
1580
1581* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com>
1582
1583- Removed the mysql_tableinfo script made obsolete by the information schema
1584
1585* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>
1586
1587- Enabled the "blackhole" storage engine for the Max RPM
1588
1589* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
1590
1591- removed the MySQL manual files (html/ps/texi) - they have been removed
1592 from the MySQL sources and are now available seperately.
1593
1594* Mon Apr 4 2005 Petr Chardin <petr@mysql.com>
1595
1596- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into
1597 mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively
1598
1599* Fri Mar 18 2005 Lenz Grimmer <lenz@mysql.com>
1600
1601- Disabled RAID in the Max binaries once and for all (it has finally been
1602 removed from the source tree)
1603
1604* Sun Feb 20 2005 Petr Chardin <petr@mysql.com>
1605
1606- Install MySQL Instance Manager together with mysqld, touch mysqlmanager
1607 password file
1608
1609* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
1610
1611- Fixed the compilation comments and moved them into the separate build sections
1612 for Max and Standard
1613
1614* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
1615
1616- enabled the "Ndbcluster" storage engine for the max binary
1617- added extra make install in ndb subdir after Max build to get ndb binaries
1618- added packages for ndbcluster storage engine
1619
1620* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>
1621
1622- replaced obsoleted "BuildPrereq" with "BuildRequires" instead
1623
1624* Thu Jan 13 2005 Lenz Grimmer <lenz@mysql.com>
1625
1626- enabled the "Federated" storage engine for the max binary
1627
1628* Tue Jan 04 2005 Petr Chardin <petr@mysql.com>
1629
1630- ISAM and merge storage engines were purged. As well as appropriate
1631 tools and manpages (isamchk and isamlog)
1632
1633* Thu Dec 31 2004 Lenz Grimmer <lenz@mysql.com>
1634
1635- enabled the "Archive" storage engine for the max binary
1636- enabled the "CSV" storage engine for the max binary
1637- enabled the "Example" storage engine for the max binary
1638
1639* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>
1640
1641- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860)
1642
1643* Fri Aug 20 2004 Lenz Grimmer <lenz@mysql.com>
1644
1645- do not link statically on IA64/AMD64 as these systems do not have
1646 a patched glibc installed
1647
1648* Tue Aug 10 2004 Lenz Grimmer <lenz@mysql.com>
1649
1650- Added libmygcc.a to the devel subpackage (required to link applications
1651 against the the embedded server libmysqld.a) (BUG 4921)
1652
1653* Mon Aug 09 2004 Lenz Grimmer <lenz@mysql.com>
1654
1655- Added EXCEPTIONS-CLIENT to the "devel" package
1656
1657* Thu Jul 29 2004 Lenz Grimmer <lenz@mysql.com>
1658
1659- disabled OpenSSL in the Max binaries again (the RPM packages were the
1660 only exception to this anyway) (BUG 1043)
1661
1662* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>
1663
1664- fixed server postinstall (mysql_install_db was called with the wrong
1665 parameter)
1666
1667* Thu Jun 24 2004 Lenz Grimmer <lenz@mysql.com>
1668
1669- added mysql_tzinfo_to_sql to the server subpackage
1670- run "make clean" instead of "make distclean"
1671
1672* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>
1673
1674- added ncurses-devel to the build prerequisites (BUG 3377)
1675
1676* Thu Feb 12 2004 Lenz Grimmer <lenz@mysql.com>
1677
1678- when using gcc, _always_ use CXX=gcc
1679- replaced Copyright with License field (Copyright is obsolete)
1680
1681* Tue Feb 03 2004 Lenz Grimmer <lenz@mysql.com>
1682
1683- added myisam_ftdump to the Server package
1684
1685* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>
1686
1687- link the mysql client against libreadline instead of libedit (BUG 2289)
1688
1689* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>
1690
1691- marked /etc/logrotate.d/mysql as a config file (BUG 2156)
1692
1693* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>
1694
1695- fixed file permissions (BUG 1672)
1696
1697* Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>
1698
1699- made testing for gcc3 a bit more robust
1700
1701* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>
1702
1703- added missing file mysql_create_system_tables to the server subpackage
1704
1705* Fri Nov 21 2003 Lenz Grimmer <lenz@mysql.com>
1706
1707- removed dependency on MySQL-client from the MySQL-devel subpackage
1708 as it is not really required. (BUG 1610)
1709
1710* Fri Aug 29 2003 Lenz Grimmer <lenz@mysql.com>
1711
1712- Fixed BUG 1162 (removed macro names from the changelog)
1713- Really fixed BUG 998 (disable the checking for installed but
1714 unpackaged files)
1715
1716* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>
1717
1718- Fixed BUG 959 (libmysqld not being compiled properly)
1719- Fixed BUG 998 (RPM build errors): added missing files to the
1720 distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
1721 mysql_fix_privilege_tables.1), removed "-n" from install section.
1722
1723* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>
1724
1725- removed the GIF Icon (file was not included in the sources anyway)
1726- removed unused variable shared_lib_version
1727- do not run automake before building the standard binary
1728 (should not be necessary)
1729- add server suffix '-standard' to standard binary (to be in line
1730 with the binary tarball distributions)
1731- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
1732 _datadir, _includedir) throughout the spec file.
1733- allow overriding CC and CXX (required when building with other compilers)
1734
1735* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>
1736
1737- re-enabled RAID again
1738
1739* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>
1740
1741- disabled MyISAM RAID (--with-raid) - it throws an assertion which
1742 needs to be investigated first.
1743
1744* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>
1745
1746- added missing file mysql_secure_installation to server subpackage
1747 (BUG 141)
1748
1749* Tue Feb 11 2003 Lenz Grimmer <lenz@mysql.com>
1750
1751- re-added missing pre- and post(un)install scripts to server subpackage
1752- added config file /etc/my.cnf to the file list (just for completeness)
1753- make sure to create the datadir with 755 permissions
1754
1755* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>
1756
1757- removed unused CC and CXX variables
1758- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS
1759
1760* Fri Jan 24 2003 Lenz Grimmer <lenz@mysql.com>
1761
1762- renamed package "MySQL" to "MySQL-server"
1763- fixed Copyright tag
1764- added mysql_waitpid to client subpackage (required for mysql-test-run)
1765
1766* Wed Nov 27 2002 Lenz Grimmer <lenz@mysql.com>
1767
1768- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of
1769 Linux distributions now support this scheme as proposed by the LSB either
1770 directly or via a compatibility symlink)
1771- Use new "restart" init script action instead of starting and stopping
1772 separately
1773- Be more flexible in activating the automatic bootup - use insserv (on
1774 older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and
1775 others) to create the respective symlinks
1776
1777* Wed Sep 25 2002 Lenz Grimmer <lenz@mysql.com>
1778
1779- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches
1780 (mixing 3.23 and 4.0 packages)
1781
1782* Fri Aug 09 2002 Lenz Grimmer <lenz@mysql.com>
1783
1784- Turn off OpenSSL in MySQL-Max for now until it works properly again
1785- enable RAID for the Max binary instead
1786- added compatibility link: safe_mysqld -> mysqld_safe to ease the
1787 transition from 3.23
1788
1789* Thu Jul 18 2002 Lenz Grimmer <lenz@mysql.com>
1790
1791- Reworked the build steps a little bit: the Max binary is supposed
1792 to include OpenSSL, which cannot be linked statically, thus trying
1793 to statically link against a special glibc is futile anyway
1794- because of this, it is not required to make yet another build run
1795 just to compile the shared libs (saves a lot of time)
1796- updated package description of the Max subpackage
1797- clean up the BuildRoot directory afterwards
1798
1799* Mon Jul 15 2002 Lenz Grimmer <lenz@mysql.com>
1800
1801- Updated Packager information
1802- Fixed the build options: the regular package is supposed to
1803 include InnoDB and linked statically, while the Max package
1804 should include BDB and SSL support
1805
1806* Fri May 03 2002 Lenz Grimmer <lenz@mysql.com>
1807
1808- Use more RPM macros (e.g. infodir, mandir) to make the spec
1809 file more portable
1810- reorganized the installation of documentation files: let RPM
1811 take care of this
1812- reorganized the file list: actually install man pages along
1813 with the binaries of the respective subpackage
1814- do not include libmysqld.a in the devel subpackage as well, if we
1815 have a special "embedded" subpackage
1816- reworked the package descriptions
1817
1818* Mon Oct 8 2001 Monty
1819
1820- Added embedded server as a separate RPM
1821
1822* Fri Apr 13 2001 Monty
1823
1824- Added mysqld-max to the distribution
1825
1826* Tue Jan 2 2001 Monty
1827
1828- Added mysql-test to the bench package
1829
1830* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
1831
1832- Added separate libmysql_r directory; now both a threaded
1833 and non-threaded library is shipped.
1834
1835* Wed Sep 28 1999 David Axmark <davida@mysql.com>
1836
1837- Added the support-files/my-example.cnf to the docs directory.
1838
1839- Removed devel dependency on base since it is about client
1840 development.
1841
1842* Wed Sep 8 1999 David Axmark <davida@mysql.com>
1843
1844- Cleaned up some for 3.23.
1845
1846* Thu Jul 1 1999 David Axmark <davida@mysql.com>
1847
1848- Added support for shared libraries in a separate sub
1849 package. Original fix by David Fox (dsfox@cogsci.ucsd.edu)
1850
1851- The --enable-assembler switch is now automatically disables on
1852 platforms there assembler code is unavailable. This should allow
1853 building this RPM on non i386 systems.
1854
1855* Mon Feb 22 1999 David Axmark <david@detron.se>
1856
1857- Removed unportable cc switches from the spec file. The defaults can
1858 now be overridden with environment variables. This feature is used
1859 to compile the official RPM with optimal (but compiler version
1860 specific) switches.
1861
1862- Removed the repetitive description parts for the sub rpms. Maybe add
1863 again if RPM gets a multiline macro capability.
1864
1865- Added support for a pt_BR translation. Translation contributed by
1866 Jorge Godoy <jorge@bestway.com.br>.
1867
1868* Wed Nov 4 1998 David Axmark <david@detron.se>
1869
1870- A lot of changes in all the rpm and install scripts. This may even
1871 be a working RPM :-)
1872
1873* Sun Aug 16 1998 David Axmark <david@detron.se>
1874
1875- A developers changelog for MySQL is available in the source RPM. And
1876 there is a history of major user visible changed in the Reference
1877 Manual. Only RPM specific changes will be documented here.
18780
=== removed file 'build/percona-shared-compat.spec'
--- build/percona-shared-compat.spec 2013-04-05 20:40:25 +0000
+++ build/percona-shared-compat.spec 1970-01-01 00:00:00 +0000
@@ -1,91 +0,0 @@
1#
2# percona-shared-compat.spec
3#
4# Based on MySQL-shared-compat.spec, which is Copyright (C) 2003 MySQL AB
5#
6# RPM build instructions to create a "meta" package that includes different
7# versions of the MySQL shared libraries (for compatibility with
8# distributions that ship older versions of MySQL).
9#
10# In this version we simply repackage mysql-shared-compat from upstream.
11#
12# This program is free software; you can redistribute it and/or modify it
13# under the terms of the GNU General Public License as published by the Free
14# Software Foundation; version 2 of the License.
15#
16# This program is distributed in the hope that it will be useful, but
17# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19# for more details.
20#
21# You should have received a copy of the GNU General Public License along
22# with this program; if not, write to the Free Software Foundation, Inc., 59
23# Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
25# For 5.0 and up, this is needed because of "libndbclient".
26%define _unpackaged_files_terminate_build 0
27
28#
29# Change this to match the version of the shared libs you want to include
30#
31%define version55 5.5.22
32%define version51 5.1.48
33%define version50 5.0.91
34%define version41 4.1.22
35%define version40 4.0.27
36#%define version3 3.23.58
37
38%define redhatversion %(lsb_release -rs | awk -F. '{ print $1}')
39
40Name: Percona-Server-shared-compat
41Packager: Percona MySQL Development Team <mysql-dev@percona.com>
42Vendor: Percona Inc
43License: GPL v2
44Group: Applications/Databases
45URL: http://www.percona.com/percona-lab.html
46Autoreqprov: on
47Version: %{version55}
48Release: %{release}.%{gotrevision}.rhel%{redhatversion}
49BuildRoot: %{_tmppath}/%{name}-%{version}-build
50Obsoletes: MySQL-shared mysql-libs
51Provides: MySQL-shared mysql-libs
52Summary: MySQL shared client libraries for MySQL %{version}, %{version50}, %{version41} and %{version40}
53
54# We extract the older libraries from mysql-shared-compat and the newer from our sources
55Source0: MySQL-shared-compat-%{version55}-1.linux2.6.%{_arch}.rpm
56#Source1: MySQL-shared-%{version50}-1.%{_arch}.rpm
57#Source2: MySQL-shared-%{version41}-0.%{_arch}.rpm
58#Source3: MySQL-shared-%{version40}-0.%{_arch}.rpm
59#Source3: MySQL-shared-%{version3}-1.%{_arch}.rpm
60# No need to include the RPMs once more - they can be downloaded seperately
61# if you want to rebuild this package
62NoSource: 0
63#NoSource: 1
64#NoSource: 2
65#NoSource: 3
66BuildRoot: %{_tmppath}/%{name}-%{version}-build
67
68%description
69This package includes the shared libraries for MySQL 4.0, 4.1, 5.0 and 5.1.
70Install this package instead of "MySQL-shared", if you have applications
71installed that are dynamically linked against older versions of the MySQL
72client library but you want to upgrade to MySQL %{version} without breaking the
73library dependencies.
74
75%install
76[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
77mkdir -p $RPM_BUILD_ROOT
78cd $RPM_BUILD_ROOT
79rpm2cpio %{SOURCE0} | cpio -iv --make-directories
80#rpm2cpio %{SOURCE1} | cpio -iv --make-directories
81#rpm2cpio %{SOURCE2} | cpio -iv --make-directories
82#rpm2cpio %{SOURCE3} | cpio -iv --make-directories
83/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
84
85%clean
86[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
87
88%files
89%defattr(-, root, root)
90%{_libdir}/libmysqlclient*
91

Subscribers

People subscribed via source and target branches