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

Proposed by Ignacio Nin
Status: Merged
Approved by: Laurynas Biveinis
Approved revision: 347
Merged at revision: 343
Proposed branch: lp:~ignacio-nin/percona-server/5.6-debian---source
Merge into: lp:percona-server/5.6
Prerequisite: lp:~ignacio-nin/percona-server/5.6-debian---epoch
Diff against target: 278 lines (+83/-55)
8 files modified
build/build-binary.sh (+1/-1)
build/build-dpkg.sh (+17/-7)
build/build-rpm.sh (+1/-1)
build/debian/control (+14/-4)
build/debian/percona-server-server-5.6.docs (+2/-2)
build/debian/percona-server-server-5.6.install (+1/-0)
build/debian/rules (+46/-39)
build/percona-server.spec (+1/-1)
To merge this branch: bzr merge lp:~ignacio-nin/percona-server/5.6-debian---source
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve
Review via email: mp+162053@code.launchpad.net

Description of the change

Merge the changes from the corresponding 5.5 branch.

As with 5.5 and 5.1, merge the --epoch change from the already-approved prerrequisite branch to prevent conflicts when merging.

Remove -fno-exceptions from CXXFLAGS. Since 5.6 is built with CXX=g++, it's no longer possible to have -fno-exceptions in the CXXFLAGS, since it won't build. This flag was important when we built with CXX=gcc (5.1 and 5.5).

Port the --nodebug parameter from 5.5 (already was null-merged, copied).

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
1=== modified file 'build/build-binary.sh'
2--- build/build-binary.sh 2013-04-15 12:12:53 +0000
3+++ build/build-binary.sh 2013-05-02 08:49:30 +0000
4@@ -108,7 +108,7 @@
5 export CC=${CC:-gcc}
6 export CXX=${CXX:-g++}
7 export CFLAGS="-fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION $TARGET_CFLAGS ${CFLAGS:-}"
8-export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fno-exceptions -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION $TARGET_CFLAGS ${CXXFLAGS:-}"
9+export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION $TARGET_CFLAGS ${CXXFLAGS:-}"
10 export MAKE_JFLAG=-j4
11
12 # Create a temporary working directory
13
14=== modified file 'build/build-dpkg.sh'
15--- build/build-dpkg.sh 2013-05-02 08:49:29 +0000
16+++ build/build-dpkg.sh 2013-05-02 08:49:30 +0000
17@@ -12,15 +12,16 @@
18 set -ue
19
20 # Examine parameters
21-go_out="$(getopt --options "k:Ke:b" \
22- --longoptions key:,nosign,epoch:binary \
23+go_out="$(getopt --options "k:Ke:bDS" \
24+ --longoptions key:,nosign,epoch:,binary,nodebug,source \
25 --name "$(basename "$0")" -- "$@")"
26 test $? -eq 0 || exit 1
27 eval set -- $go_out
28
29 BUILDPKG_KEY=''
30 EPOCH=''
31-BINARY=''
32+DPKG_BINSRC=''
33+SKIPDEBUG=''
34
35 for arg
36 do
37@@ -29,7 +30,9 @@
38 -k | --key ) shift; BUILDPKG_KEY="-pgpg -k$1"; shift;;
39 -K | --nosign ) shift; BUILDPKG_KEY="-uc -us";;
40 -e | --epoch ) shift; EPOCH="$1:"; shift;;
41- -b | --binary ) shift; BINARY='-b';;
42+ -b | --binary ) shift; DPKG_BINSRC='-b';;
43+ -D | --nodebug ) shift; SKIPDEBUG='yes';;
44+ -S | --source ) shift; DPKG_BINSRC='-S';;
45 esac
46 done
47
48@@ -76,13 +79,13 @@
49
50 # Build information
51 export BB_PERCONA_REVISION="$(cd "$SOURCEDIR"; bzr revno)"
52-export DEB_BUILD_OPTIONS='nostrip debug nocheck'
53+export DEB_BUILD_OPTIONS='debug'
54
55 # Compilation flags
56 export CC=${CC:-gcc}
57 export CXX=${CXX:-g++}
58 export CFLAGS="-fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION ${CFLAGS:-}"
59-export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fno-exceptions -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION ${CXXFLAGS:-}"
60+export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION ${CXXFLAGS:-}"
61 export MAKE_JFLAG=-j4
62
63 # Prepare sources
64@@ -105,11 +108,18 @@
65 cp -R "$SOURCEDIR/build/debian" .
66 chmod +x debian/rules
67
68+ # If nodebug is set, do not ship mysql-debug
69+ if test "x$SKIPDEBUG" = "xyes"
70+ then
71+ sed -i '/mysqld-debug/d' debian/percona-server-server-5.6.install
72+ fi
73+
74 # Update distribution name
75 dch -m -D "$DEBIAN_VERSION" --force-distribution -v "$EPOCH$MYSQL_VERSION-$PERCONA_SERVER_VERSION-$BB_PERCONA_REVISION.$DEBIAN_VERSION" 'Update distribution'
76
77 DEB_CFLAGS_APPEND="$CFLAGS" DEB_CXXFLAGS_APPEND="$CXXFLAGS" \
78- dpkg-buildpackage $BINARY -rfakeroot $BUILDPKG_KEY
79+ SKIP_DEBUG_BINARY="$SKIPDEBUG" \
80+ dpkg-buildpackage $DPKG_BINSRC -rfakeroot $BUILDPKG_KEY
81
82 )
83
84
85=== modified file 'build/build-rpm.sh'
86--- build/build-rpm.sh 2013-04-23 05:55:00 +0000
87+++ build/build-rpm.sh 2013-05-02 08:49:30 +0000
88@@ -116,7 +116,7 @@
89 export HS_CXX="${HS_CXX:-g++}"
90 export UDF_CXX="${UDF_CXX:-g++}"
91 export CFLAGS="-fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION $TARGET_CFLAGS ${CFLAGS:-}"
92-export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fno-exceptions -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION $TARGET_CFLAGS ${CXXFLAGS:-}"
93+export CXXFLAGS="-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -DPERCONA_INNODB_VERSION=$PERCONA_SERVER_VERSION $TARGET_CFLAGS ${CXXFLAGS:-}"
94 export MAKE_JFLAG=-j4
95
96 # Create directories for rpmbuild if these don't exist
97
98=== modified file 'build/debian/control'
99--- build/debian/control 2013-04-23 05:55:00 +0000
100+++ build/debian/control 2013-05-02 08:49:30 +0000
101@@ -3,11 +3,10 @@
102 Priority: extra
103 Maintainer: Percona Server Development Team <mysql-dev@percona.com>
104 Uploaders: Ignacio Nin <ignacio.nin@percona.com>
105-Build-Depends: debhelper (>= 7.0), dpatch, cmake, libtool, automake, autoconf, libncurses5-dev, perl, bison, fakeroot, devscripts, libaio-dev
106-Standards-Version: 3.9.1
107+Build-Depends: debhelper (>= 7.0.50), cmake, libtool, autoconf, libncurses5-dev, perl, bison, fakeroot, devscripts, libaio-dev, dpatch, automake
108+Standards-Version: 7.0.0
109 Homepage: http://www.percona.com/software/percona-server/
110-Vcs-Bzr: bzr+ssh://bazaar.launchpad.net/~percona-core/percona-server/5.6
111-Vcs-Browser: http://bazaar.launchpad.net/~percona-core/percona-server/5.6
112+Vcs-Bzr: lp:percona-server/5.6
113
114 Package: libmysqlclient18
115 Section: libs
116@@ -133,3 +132,14 @@
117 about which Percona Server version you want, as this is the one we consider
118 to be in the best shape.
119
120+Package: percona-server-5.6-dbg
121+Architecture: any
122+Section: debug
123+Depends: percona-server-server-5.6 (= ${binary:Version}), ${misc:Depends}
124+Description: Debugging package for Percona Server
125+ Percona Server is a fast, stable and true multi-user, multi-threaded SQL
126+ database server. SQL (Structured Query Language) is the most popular database
127+ query language in the world. The main goals of Percona Server are speed,
128+ robustness and ease of use.
129+ .
130+ This package contains the debugging symbols for the Percona Server binaries.
131
132=== modified file 'build/debian/percona-server-server-5.6.docs'
133--- build/debian/percona-server-server-5.6.docs 2013-04-05 17:19:56 +0000
134+++ build/debian/percona-server-server-5.6.docs 2013-05-02 08:49:30 +0000
135@@ -4,5 +4,5 @@
136 COPYING*
137 Docs/INSTALL-BINARY
138 Docs/mysql.info
139-Docs/INFO_BIN
140-Docs/INFO_SRC
141+release/Docs/INFO_BIN
142+release/Docs/INFO_SRC
143
144=== modified file 'build/debian/percona-server-server-5.6.install'
145--- build/debian/percona-server-server-5.6.install 2013-04-05 20:10:21 +0000
146+++ build/debian/percona-server-server-5.6.install 2013-05-02 08:49:30 +0000
147@@ -23,6 +23,7 @@
148 usr/bin/resolve_stack_dump
149 usr/bin/resolveip
150 usr/sbin/mysqld
151+usr/sbin/mysqld-debug
152 usr/share/man/man1/msql2mysql.1
153 usr/share/man/man1/myisamchk.1
154 usr/share/man/man1/myisamlog.1
155
156=== modified file 'build/debian/rules'
157--- build/debian/rules 2013-04-23 05:55:00 +0000
158+++ build/debian/rules 2013-05-02 08:49:30 +0000
159@@ -18,60 +18,67 @@
160 dh clean
161 rm -rf CMakeFiles
162
163-build: patch
164- dh_testdir
165- $(CMAKE) . -DBUILD_CONFIG=mysql_release \
166- -DINSTALL_LAYOUT=DEB \
167- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
168- -DWITH_EMBEDDED_SERVER=OFF \
169- -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
170- -DFEATURE_SET=$(feature_set) \
171- -DCOMPILATION_COMMENT=$(compilation_comment_release) \
172- -DMYSQL_SERVER_SUFFIX=$(server_suffix)
173- make $(MAKE_JFLAG)
174+override_dh_auto_configure: patch
175+ifeq ($(SKIP_DEBUG_BINARY),)
176+ # Make a debug binary
177+ mkdir debug
178+ cd debug && \
179+ $(CMAKE) ../ -DBUILD_CONFIG=mysql_release \
180+ -DINSTALL_LAYOUT=DEB \
181+ -DCMAKE_BUILD_TYPE=Debug \
182+ -DWITH_EMBEDDED_SERVER=OFF \
183+ -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
184+ -DFEATURE_SET=$(feature_set) \
185+ -DCOMPILATION_COMMENT=$(compilation_comment_debug) \
186+ -DMYSQL_SERVER_SUFFIX=$(server_suffix)
187+endif
188+
189+ mkdir release
190+ cd release && $(CMAKE) ../ -DBUILD_CONFIG=mysql_release \
191+ -DINSTALL_LAYOUT=DEB \
192+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
193+ -DWITH_EMBEDDED_SERVER=OFF \
194+ -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
195+ -DFEATURE_SET=$(feature_set) \
196+ -DCOMPILATION_COMMENT=$(compilation_comment_release) \
197+ -DMYSQL_SERVER_SUFFIX=$(server_suffix)
198
199+override_dh_auto_build:
200+ifeq ($(SKIP_DEBUG_BINARY),)
201+ cd debug && make $(MAKE_JFLAG)
202+endif
203+
204+ cd release && make $(MAKE_JFLAG)
205+
206 # Build UDF
207 cd UDF && \
208- CXX=g++ CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/include" \
209+ CXX=g++ CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/release/include" \
210 ./configure --includedir=$(CURDIR)/include \
211 --libdir=$(prefix)/lib/mysql/plugin && \
212 make $(MAKE_JFLAG)
213
214- dh_auto_test
215+build:
216+ dh build
217
218 binary:
219- echo "Making binary"
220- dh --before dh_auto_install binary
221- dh_auto_install
222- cd UDF && make DESTDIR=$(TMP) install
223- dh --after dh_auto_install --before dh_installinit binary
224- dh_installinit --name=mysql
225- dh --after dh_installinit binary
226-
227+ dh -Brelease binary
228
229 binary-arch:
230- echo "Making binary"
231- dh --before dh_auto_install binary-arch
232- dh_auto_install
233- cd UDF && make DESTDIR=$(TMP) install
234- dh --after dh_auto_install --before dh_installinit binary-arch
235- dh_installinit --name=mysql
236- dh --after dh_installinit binary-arch
237+ dh -Brelease binary-arch
238
239 binary-indep:
240- echo "Making binary"
241- dh --before dh_auto_install binary-indep
242- dh_auto_install
243- cd UDF && make DESTDIR=$(TMP) install
244- dh --after dh_auto_install --before dh_installinit binary-indep
245- dh_installinit --name=mysql
246- dh --after dh_installinit binary-indep
247+ dh -Brelease binary-indep
248
249 install:
250- echo "Making binary"
251- dh --before dh_auto_install install
252+ dh install
253+
254+override_dh_auto_install:
255 dh_auto_install
256 cd UDF && make DESTDIR=$(TMP) install
257- dh --after dh_auto_install --before dh_installinit install
258+
259+override_dh_installinit:
260 dh_installinit --name=mysql
261- dh --after dh_installinit install
262+
263+override_dh_strip:
264+ dh_strip --dbg-package=percona-server-5.6-dbg
265+
266
267=== modified file 'build/percona-server.spec'
268--- build/percona-server.spec 2013-04-23 05:55:00 +0000
269+++ build/percona-server.spec 2013-05-02 08:49:30 +0000
270@@ -376,7 +376,7 @@
271 export CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
272 export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}}
273 export CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
274-export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}}
275+export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-rtti}}
276 export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}}
277 export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}}
278 export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-${MAKE_JFLAG:-}}

Subscribers

People subscribed via source and target branches