[Pkg-mysql-commits] r1633 - in mysql-dfsg-5.1/branches/experimental/debian: . patches
Christian Hammers
ch at alioth.debian.org
Sun Jul 19 23:22:17 UTC 2009
tags 515145 pending
thanks
Author: ch
Date: 2009-07-19 23:22:16 +0000 (Sun, 19 Jul 2009)
New Revision: 1633
Added:
mysql-dfsg-5.1/branches/experimental/debian/patches/02_no_builtin_ndbcluster_plugin.dpatch
Modified:
mysql-dfsg-5.1/branches/experimental/debian/changelog
mysql-dfsg-5.1/branches/experimental/debian/patches/00list
mysql-dfsg-5.1/branches/experimental/debian/rules
Log:
* Build both -fPIC (libmysql_pic.a) and non -fPIC (libmysqld.a) as
some packages seem to need the -fPIC variant for their own build
process. Documented in README.Debian. Thanks to Modestas Vainius
for the patch. Closes: #515145
* Switch to out-of-source true build mode was a side effect of this change.
Modified: mysql-dfsg-5.1/branches/experimental/debian/changelog
===================================================================
--- mysql-dfsg-5.1/branches/experimental/debian/changelog 2009-07-19 16:48:33 UTC (rev 1632)
+++ mysql-dfsg-5.1/branches/experimental/debian/changelog 2009-07-19 23:22:16 UTC (rev 1633)
@@ -1,15 +1,15 @@
+mysql-dfsg-5.1 (5.1.36-2) experimental; urgency=low
+
+ * Build both -fPIC (libmysql_pic.a) and non -fPIC (libmysqld.a) as
+ some packages seem to need the -fPIC variant for their own build
+ process. Documented in README.Debian. Thanks to Modestas Vainius
+ for the patch. Closes: #515145
+ * Switch to out-of-source true build mode was a side effect of this change.
+
+ -- Christian Hammers <ch at debian.org> Sun, 19 Jul 2009 18:48:53 +0200
+
mysql-dfsg-5.1 (5.1.36-1) experimental; urgency=low
- [TODO]
- * Link libmysqlclient.so to libmysqlclient_r.so to help applications
- like Apache where some modules, like libaprutil, want to use the thread
- safe library and some, like PHP, do not. As the client library just copies
- data between client and server, we do not expect significant performance
- losses. (thanks to Stefan Fritsch). Closes: #450535
-
- Add the following to libmysqlclient16.links:
- usr/lib/libmysqlclient_r.so.16.0.0 usr/lib/libmysqlclient.so.16.0.0
-
* Ex-maintainer upload :)
* New upstream release.
* SECURITY: Upstream fix for "mysql client does not escape strings in
Modified: mysql-dfsg-5.1/branches/experimental/debian/patches/00list
===================================================================
--- mysql-dfsg-5.1/branches/experimental/debian/patches/00list 2009-07-19 16:48:33 UTC (rev 1632)
+++ mysql-dfsg-5.1/branches/experimental/debian/patches/00list 2009-07-19 23:22:16 UTC (rev 1633)
@@ -1,5 +1,6 @@
01_MAKEFILES__Docs_Images_Makefile.in.dpatch
01_MAKEFILES__Docs_Makefile.in.dpatch
+02_no_builtin_ndbcluster_plugin.dpatch
33_scripts__mysql_create_system_tables__no_test.dpatch
38_scripts__mysqld_safe.sh__signals.dpatch
41_scripts__mysql_install_db.sh__no_test.dpatch
Added: mysql-dfsg-5.1/branches/experimental/debian/patches/02_no_builtin_ndbcluster_plugin.dpatch
===================================================================
--- mysql-dfsg-5.1/branches/experimental/debian/patches/02_no_builtin_ndbcluster_plugin.dpatch (rev 0)
+++ mysql-dfsg-5.1/branches/experimental/debian/patches/02_no_builtin_ndbcluster_plugin.dpatch 2009-07-19 23:22:16 UTC (rev 1633)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_MAKEFILES__Docs_Makefile.in.dpatch by <ch at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: As we completely disabled ndbcluster
+
+ at DPATCH@
+
+--- old/sql/sql_builtin.cc
++++ new/sql/sql_builtin.cc
+@@ -22,6 +22,6 @@
+
+ struct st_mysql_plugin *mysqld_builtins[]=
+ {
+- builtin_binlog_plugin, builtin_partition_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin, builtin_ndbcluster_plugin,(struct st_mysql_plugin *)0
++ builtin_binlog_plugin, builtin_partition_plugin, builtin_csv_plugin, builtin_heap_plugin, builtin_myisam_plugin, builtin_myisammrg_plugin, (struct st_mysql_plugin *)0
+ };
+
Modified: mysql-dfsg-5.1/branches/experimental/debian/rules
===================================================================
--- mysql-dfsg-5.1/branches/experimental/debian/rules 2009-07-19 16:48:33 UTC (rev 1632)
+++ mysql-dfsg-5.1/branches/experimental/debian/rules 2009-07-19 23:22:16 UTC (rev 1633)
@@ -42,6 +42,10 @@
TESTSUITE_FAIL_CMD=exit 1
#endif
+BUILDDIR = builddir
+BUILDDIR_PIC = builddir-pic
+builddir = $(if $(findstring -pic,$@),$(BUILDDIR_PIC),$(BUILDDIR))
+
# This causes seg11 crashes if LDAP is used for groups in /etc/nsswitch.conf
# so it is disabled by default although, according to MySQL, it brings >10%
# performance gain if enabled. See #299382.
@@ -49,21 +53,27 @@
USE_STATIC_MYSQLD=--with-mysqld-ldflags=-all-static
endif
+
+configure-stamp-pic: FORCE_FPIC_CFLAGS=-fPIC
+configure-stamp-pic: FORCE_FPIC=--with-pic --with-lib-ccflags="-fPIC"
+
configure: patch configure-stamp
-configure-stamp:
- @echo "RULES.configure-stamp"
+configure-pic: patch configure-stamp-pic
+configure-stamp configure-stamp-pic:
+ @echo "RULES.$@"
dh_testdir
ifneq ($(ARCH_OS),hurd)
if [ ! -d /proc/self ]; then echo "/proc IS NEEDED" 1>&2; exit 1; fi
endif
+ ( test -d $(builddir) || mkdir $(builddir) ) && cd $(builddir) && \
sh -c 'PATH=$${MYSQL_BUILD_PATH:-"/bin:/usr/bin"} \
CC=$${MYSQL_BUILD_CC:-gcc} \
CFLAGS=$${MYSQL_BUILD_CFLAGS:-"-O3 -DBIG_JOINS=1 ${FORCE_FPIC_CFLAGS}"} \
CXX=$${MYSQL_BUILD_CXX:-g++} \
CXXFLAGS=$${MYSQL_BUILD_CXXFLAGS:-"-O3 -DBIG_JOINS=1 -felide-constructors -fno-exceptions -fno-rtti ${FORCE_FPIC_CFLAGS}"} \
- ./configure \
+ ../configure \
--build=${DEB_BUILD_GNU_TYPE} \
--host=${DEB_HOST_GNU_TYPE} \
\
@@ -106,25 +116,53 @@
#
# --with-debug
- touch configure-stamp
+ touch $@
-build: build-stamp
+build: build-stamp build-stamp-pic
+
build-stamp: configure
+ @echo "RULES.$@"
dh_testdir
- $(MAKE) $(MAKE_J)
+ cd $(builddir) && $(MAKE) $(MAKE_J)
ifeq ($(findstring $(DEB_BUILD_OPTIONS),nocheck),)
+ # Don't know why the following is necessary...
+ cp unittest/unit.pl $(builddir)/unittest/
+ cp -r mysql-test/* $(builddir)/mysql-test/
+ cp -r sql/share/* $(builddir)/sql/share/
+ cp -r scripts/*sql $(builddir)/scripts/
if [ ! -f testsuite-stamp ] ; then \
- $(MAKE) $(MAKE_TEST_TARGET) || $(TESTSUITE_FAIL_CMD) ; \
+ cd $(builddir) && $(MAKE) $(MAKE_TEST_TARGET) || $(TESTSUITE_FAIL_CMD) ; \
fi
endif
touch testsuite-stamp
touch build-stamp
+
+MAKE_PIC = cd $(builddir) && $(MAKE) $(MAKE_J)
+
+build-stamp-pic: configure-pic
+ @echo "RULES.$@"
+ # Build libmysqld dependencies
+ $(MAKE_PIC) -C include
+ $(MAKE_PIC) -C sql link_sources
+ $(MAKE_PIC) -C libmysql link_sources
+ $(MAKE_PIC) -C strings
+ $(MAKE_PIC) -C regex
+ $(MAKE_PIC) -C mysys
+ $(MAKE_PIC) -C dbug
+ $(MAKE_PIC) -C vio
+ $(MAKE_PIC) -C storage
+ $(MAKE_PIC) -C extra/yassl
+ $(MAKE_PIC) -C cmd-line-utils
+ $(MAKE_PIC) -C sql lex_hash.h
+ # Build libmysqld itself
+ $(MAKE_PIC) -C libmysqld
+ touch $@
clean: clean-patched unpatch
rm -rf debian/patched
@@ -132,41 +170,22 @@
@echo "RULES.clean-patched"
dh_testdir
dh_testroot
- rm -f configure-stamp
- rm -f build-stamp
+ rm -f configure-stamp*
+ rm -f build-stamp*
rm -f testsuite-stamp
[ ! -f Makefile ] || $(MAKE) clean
[ ! -d mysql-test/var ] || rm -rf mysql-test/var
+
+ rm -rf $(BUILDDIR) $(BUILDDIR_PIC)
- # We like to see how long this is neccessary
- @echo "CRUFT BEGIN"
- @find -type l -print0 | xargs --no-run-if-empty -0 rm -v
- @find -name .deps -type d -print0 | xargs --no-run-if-empty -0 rm -rfv
- @rm -vrf ndb/docs/.doxy* ndb/docs/*html ndb/docs/*pdf innobase/autom4te.cache
- @for i in \
- readline/Makefile \
- sql-bench/Makefile \
- scripts/make_win_binary_distribution \
- scripts/mysqlbug \
- sql/gen_lex_hash \
- sql/lex_hash.h \
- strings/ctype_autoconf.c \
- config.log \
- config.cache \
- ; \
- do \
- rm -vf $$i; \
- done
- @echo "CRUFT END"
-
debconf-updatepo
dh_clean -v
-
+
install:
-install: build
- @echo "RULES.install"
+install install-pic: build
+ @echo "RULES.$@"
dh_testdir
dh_testroot
dh_clean -k
@@ -183,7 +202,7 @@
ln -s mysqlmanager.1 $(TMP)/usr/share/man/man1/mysqlmanagerc.1
# make install (trailing slash needed for innobase)
- $(MAKE) install DESTDIR=$(TMP)/
+ cd $(builddir) && $(MAKE) install DESTDIR=$(TMP)/
# After installing, remove rpath to make lintian happy.
set +e; \
@@ -205,8 +224,10 @@
fi
# libmysqlclient-dev: forgotten header file since 3.23.25?
- cp include/my_config.h $(TMP)/usr/include/mysql/
+ cp $(BUILDDIR)/include/my_config.h $(TMP)/usr/include/mysql/
cp include/my_dir.h $(TMP)/usr/include/mysql/
+ # install libmysqld built with -FPIC
+ install -m 0644 -o root -g root $(BUILDDIR_PIC)/libmysqld/libmysqld.a $(TMP)/usr/lib/mysql/libmysqld_pic.a
# mysql-common: We now provide our own config file.
install -d $(TMP)/etc/mysql
@@ -219,14 +240,14 @@
install -m 0644 -D debian/additions/innotop/InnoDBParser.pm $(TMP)/usr/share/perl5/InnoDBParser.pm
# mysql-server
- install -m 0755 scripts/mysqld_safe $(TMP)/usr/bin/mysqld_safe
+ install -m 0755 $(BUILDDIR)/scripts/mysqld_safe $(TMP)/usr/bin/mysqld_safe
mkdir -p $(TMP)/usr/share/doc/mysql-server-5.1/examples
mv $(TMP)/usr/share/mysql/*cnf $(TMP)/usr/share/doc/mysql-server-5.1/examples/
rm -vf $(TMP)/usr/share/mysql/mi_test_all* \
$(TMP)/usr/share/mysql/mysql-log-rotate \
$(TMP)/usr/share/mysql/mysql.server \
$(TMP)/usr/share/mysql/binary-configure
- nm -n sql/mysqld |gzip -9 > $(TMP)/usr/share/doc/mysql-server-5.1/mysqld.sym.gz
+ nm -n $(BUILDDIR)/sql/mysqld |gzip -9 > $(TMP)/usr/share/doc/mysql-server-5.1/mysqld.sym.gz
install -m 0755 debian/additions/echo_stderr $(TMP)/usr/share/mysql/
install -m 0755 debian/additions/debian-start $(TMP)/etc/mysql/
install -m 0755 debian/additions/debian-start.inc.sh $(TMP)/usr/share/mysql/
More information about the Pkg-mysql-commits
mailing list