summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
authorunknown <kent@mysql.com>2006-02-12 20:45:03 +0100
committerunknown <kent@mysql.com>2006-02-12 20:45:03 +0100
commit3213c20ad3ac2cc2fd0a225e415ec977553b0ca7 (patch)
treecf82c3578299f7628234c016f832938afdc6db27 /support-files
parenteb056351174a6c28cd31b52c48f3995ca433efd6 (diff)
parente924625f2312310100a53af74f6b76a72fb8f173 (diff)
downloadmariadb-git-3213c20ad3ac2cc2fd0a225e415ec977553b0ca7.tar.gz
Merge
include/config-netware.h: Auto merged mysql-test/mysql-test-run.pl: Auto merged netware/BUILD/compile-AUTOTOOLS: Auto merged netware/Makefile.am: Auto merged netware/my_manage.h: Auto merged netware/mysql_test_run.c: Auto merged netware/BUILD/compile-linux-tools: Auto merged netware/BUILD/compile-netware-END: Auto merged netware/BUILD/mwenv: Auto merged netware/BUILD/nwbootstrap: Auto merged server-tools/instance-manager/Makefile.am: Auto merged sql/log.cc: Auto merged sql/log.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged storage/innobase/include/univ.i: Auto merged storage/innobase/os/os0thread.c: Auto merged storage/myisam/mi_locking.c: Auto merged storage/ndb/src/kernel/blocks/Makefile.am: Auto merged storage/ndb/src/kernel/blocks/dbtup/Makefile.am: Auto merged storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp: Auto merged
Diffstat (limited to 'support-files')
-rw-r--r--support-files/mysql.spec.sh183
1 files changed, 56 insertions, 127 deletions
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 3242b18dd42..62f2bdb668d 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -114,8 +114,6 @@ Group: Applications/Databases
This package contains the ndbcluster storage engine.
It is necessary to have this package installed on all
computers that should store ndbcluster table data.
-Note that this storage engine can only be used in conjunction
-with the MySQL Max server.
%{see_base}
@@ -181,29 +179,6 @@ Group: Applications/Databases
This package contains the shared libraries (*.so*) which certain
languages and applications need to dynamically load and use MySQL.
-%package Max
-Summary: MySQL - server with extended functionality
-Group: Applications/Databases
-Provides: mysql-Max
-Obsoletes: mysql-Max
-Requires: MySQL-server >= @MYSQL_BASE_VERSION@
-
-%description Max
-Optional MySQL server binary that supports additional features like:
-
- - Berkeley DB Storage Engine
- - Ndbcluster Storage Engine interface
- - Archive Storage Engine
- - CSV Storage Engine
- - Example Storage Engine
- - Federated Storage Engine
- - User Defined Functions (UDFs).
-
-To activate this binary, just install this package in addition to
-the standard MySQL package.
-
-Please note that this is a dynamically linked binary!
-
%package embedded
Requires: %{name}-devel
Summary: MySQL - embedded library
@@ -224,7 +199,11 @@ client/server version.
%{see_base}
%prep
-%setup -n mysql-%{mysql_version}
+# We unpack the source twice, once for debug and once for release build.
+%setup -T -a 0 -c -n mysql-%{mysql_version}
+mv mysql-%{mysql_version} mysql-debug-%{mysql_version}
+%setup -D -T -a 0 -n mysql-%{mysql_version}
+mv mysql-%{mysql_version} mysql-release-%{mysql_version}
%build
@@ -234,12 +213,13 @@ BuildMySQL() {
sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
CC=\"${CC:-$MYSQL_BUILD_CC}\" \
CXX=\"${CXX:-$MYSQL_BUILD_CXX}\" \
- CFLAGS=\"${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS}\" \
- CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS \
- -felide-constructors -fno-exceptions -fno-rtti \
- }\" \
+ CFLAGS=\"$CFLAGS\" \
+ CXXFLAGS=\"$CXXFLAGS\" \
./configure \
$* \
+ --with-mysqld-ldflags='-static' \
+ --with-client-ldflags='-static' \
+ --with-zlib-dir=bundled \
--enable-assembler \
--enable-local-infile \
--with-mysqld-user=%{mysqld_user} \
@@ -280,7 +260,6 @@ fi
# Use the build root for temporary storage of the shared libraries.
RBR=$RPM_BUILD_ROOT
-MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
# Clean up the BuildRoot first
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
@@ -292,8 +271,7 @@ mkdir -p $RBR%{_libdir}/mysql
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
export PATH
-# Build the Max binary (includes BDB and UDFs and therefore
-# cannot be linked statically against the patched glibc)
+# Build the Debug binary.
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
# including exceptions into the code
@@ -303,7 +281,12 @@ then
export CXX="gcc"
fi
+# Strip -Oxxx, add -g and --with-debug.
+(cd mysql-debug-%{mysql_version} &&
+CFLAGS=`echo "${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" | sed -e 's/-O[0-9]*//g'` \
+CXXFLAGS=`echo "${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" | sed -e 's/-O[0-9]*//g'` \
BuildMySQL "--enable-shared \
+ --with-debug \
--with-berkeley-db \
--with-innodb \
--with-ndbcluster \
@@ -313,86 +296,43 @@ BuildMySQL "--enable-shared \
--with-blackhole-storage-engine \
--with-federated-storage-engine \
--with-big-tables \
- --with-comment=\"MySQL Community Edition - Experimental (GPL)\" \
- --with-server-suffix='-max'"
+ --with-comment=\"MySQL Community Edition - Debug (GPL)\"")
# We might want to save the config log file
-if test -n "$MYSQL_MAXCONFLOG_DEST"
-then
- cp -fp config.log "$MYSQL_MAXCONFLOG_DEST"
-fi
-
-make test-force || true
-
-# Save mysqld-max
-# check if mysqld was installed in .libs/
-if test -f sql/.libs/mysqld
-then
- cp sql/.libs/mysqld sql/mysqld-max
-else
- cp sql/mysqld sql/mysqld-max
-fi
-nm --numeric-sort sql/mysqld-max > sql/mysqld-max.sym
-# Save the perror binary so it supports the NDB error codes (BUG#13740)
-mv extra/perror extra/perror.ndb
-
-# Install the ndb binaries
-(cd ndb; make install DESTDIR=$RBR)
-
-# Include libgcc.a in the devel subpackage (BUG 4921)
-if expr "$CC" : ".*gcc.*" > /dev/null ;
+if test -n "$MYSQL_DEBUGCONFLOG_DEST"
then
- libgcc=`$CC --print-libgcc-file`
- if [ -f $libgcc ]
- then
- %define have_libgcc 1
- install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a
- fi
+ cp -fp mysql-debug-%{mysql_version}/config.log "$MYSQL_DEBUGCONFLOG_DEST"
fi
-# Save libraries
-(cd libmysql/.libs; tar cf $RBR/shared-libs.tar *.so*)
-(cd libmysql_r/.libs; tar rf $RBR/shared-libs.tar *.so*)
-(cd ndb/src/.libs; tar rf $RBR/shared-libs.tar *.so*)
+(cd mysql-debug-%{mysql_version} && make test-force) || true
-# Now clean up
-make clean
-
-#
-# Only link statically on our i386 build host (which has a specially
-# patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched)
-# so don't link statically there
-#
-BuildMySQL "--disable-shared \
-%if %{STATIC_BUILD}
- --with-mysqld-ldflags='-all-static' \
- --with-client-ldflags='-all-static' \
- $USE_OTHER_LIBC_DIR \
-%endif
- --with-zlib-dir=bundled \
- --with-comment=\"MySQL Community Edition - Standard (GPL)\" \
- --with-server-suffix='%{server_suffix}' \
- --with-archive-storage-engine \
+# Build release binary.
+(cd mysql-release-%{mysql_version} &&
+CFLAGS="${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" \
+CXXFLAGS="${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" \
+BuildMySQL "--enable-shared \
+ --with-berkeley-db \
--with-innodb \
- --with-big-tables"
-if test -f sql/.libs/mysqld
-then
- nm --numeric-sort sql/.libs/mysqld > sql/mysqld.sym
-else
- nm --numeric-sort sql/mysqld > sql/mysqld.sym
-fi
+ --with-ndbcluster \
+ --with-archive-storage-engine \
+ --with-csv-storage-engine \
+ --with-example-storage-engine \
+ --with-blackhole-storage-engine \
+ --with-federated-storage-engine \
+ --with-big-tables \
+ --with-comment=\"MySQL Community Edition (GPL)\"")
# We might want to save the config log file
if test -n "$MYSQL_CONFLOG_DEST"
then
- cp -fp config.log "$MYSQL_CONFLOG_DEST"
+ cp -fp mysql-release-%{mysql_version}/config.log "$MYSQL_CONFLOG_DEST"
fi
-make test-force || true
+(cd mysql-release-%{mysql_version} && make test-force) || true
%install
RBR=$RPM_BUILD_ROOT
-MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}
+MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-release-%{mysql_version}
# Ensure that needed directories exists
install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
@@ -404,21 +344,22 @@ install -d $RBR%{_mandir}
install -d $RBR%{_sbindir}
-# Install all binaries stripped
-make install-strip DESTDIR=$RBR benchdir_root=%{_datadir}
-
-# Install shared libraries (Disable for architectures that don't support it)
-(cd $RBR%{_libdir}; tar xf $RBR/shared-libs.tar; rm -f $RBR/shared-libs.tar)
+# Install all binaries
+(cd $MBD && make install DESTDIR=$RBR benchdir_root=%{_datadir})
+# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
+# the same here.
+mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/
-# install saved mysqld-max
-install -s -m 755 $MBD/sql/mysqld-max $RBR%{_sbindir}/mysqld-max
+# install mysqld-debug
+if test -f $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/.libs/mysqld
+then
+ install -m 755 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/.libs/mysqld $RBR%{_sbindir}/mysqld-debug
+else
+ install -m 755 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/mysqld $RBR%{_sbindir}/mysqld-debug
+fi
# install saved perror binary with NDB support (BUG#13740)
-install -s -m 755 $MBD/extra/perror.ndb $RBR%{_bindir}/perror
-
-# install symbol files ( for stack trace resolution)
-install -m 644 $MBD/sql/mysqld-max.sym $RBR%{_libdir}/mysql/mysqld-max.sym
-install -m 644 $MBD/sql/mysqld.sym $RBR%{_libdir}/mysql/mysqld.sym
+install -m 755 $MBD/extra/perror $RBR%{_bindir}/perror
# Install logrotate and autostart
install -m 644 $MBD/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
@@ -510,11 +451,6 @@ mysql_clusterdir=/var/lib/mysql-cluster
if test ! -d $mysql_clusterdir; then mkdir -m 755 $mysql_clusterdir; fi
-%post Max
-# Restart mysqld, to use the new binary.
-echo "Restarting mysqld."
-%{_sysconfdir}/init.d/mysql restart > /dev/null 2>&1
-
%preun server
if test $1 = 0
then
@@ -546,9 +482,9 @@ fi
%files server
%defattr(-,root,root,0755)
-%doc COPYING README
-%doc support-files/my-*.cnf
-%doc support-files/ndb-*.ini
+%doc mysql-release-%{mysql_version}/COPYING mysql-release-%{mysql_version}/README
+%doc mysql-release-%{mysql_version}/support-files/my-*.cnf
+%doc mysql-release-%{mysql_version}/support-files/ndb-*.ini
%doc %attr(644, root, root) %{_infodir}/mysql.info*
@@ -597,9 +533,9 @@ fi
%attr(755, root, root) %{_bindir}/safe_mysqld
%attr(755, root, root) %{_sbindir}/mysqld
+%attr(755, root, root) %{_sbindir}/mysqld-debug
%attr(755, root, root) %{_sbindir}/mysqlmanager
%attr(755, root, root) %{_sbindir}/rcmysql
-%attr(644, root, root) %{_libdir}/mysql/mysqld.sym
%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
%attr(755, root, root) %{_sysconfdir}/init.d/mysql
@@ -631,6 +567,7 @@ fi
%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
+%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
%post shared
/sbin/ldconfig
@@ -666,7 +603,7 @@ fi
%files devel
%defattr(-, root, root, 0755)
-%doc EXCEPTIONS-CLIENT
+%doc mysql-release-%{mysql_version}/EXCEPTIONS-CLIENT
%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
%attr(755, root, root) %{_bindir}/comp_err
%attr(755, root, root) %{_bindir}/mysql_config
@@ -675,9 +612,6 @@ fi
%{_includedir}/mysql/*
%{_libdir}/mysql/libdbug.a
%{_libdir}/mysql/libheap.a
-%if %{have_libgcc}
-%{_libdir}/mysql/libmygcc.a
-%endif
%{_libdir}/mysql/libmyisam.a
%{_libdir}/mysql/libmyisammrg.a
%{_libdir}/mysql/libmysqlclient.a
@@ -706,11 +640,6 @@ fi
%attr(755, root, root) %{_bindir}/mysqltestmanager-pwgen
%attr(755, root, root) %{_bindir}/mysqltestmanagerc
-%files Max
-%defattr(-, root, root, 0755)
-%attr(755, root, root) %{_sbindir}/mysqld-max
-%attr(644, root, root) %{_libdir}/mysql/mysqld-max.sym
-
%files embedded
%defattr(-, root, root, 0755)
# %attr(644, root, root) %{_libdir}/mysql/libmysqld.a