diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index eba7bc8af9e..2697236949b 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -199,10 +199,12 @@ client/server version. %{see_base} %prep -# We unpack the source twice, once for debug and once for release build. +# We unpack the source three times, for 'debug', 'max' and '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-max-%{mysql_version} +%setup -D -T -a 0 -n mysql-%{mysql_version} mv mysql-%{mysql_version} mysql-release-%{mysql_version} %build @@ -239,9 +241,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \ --includedir=%{_includedir} \ --mandir=%{_mandir} \ --enable-thread-safe-client \ - --with-readline ; \ - # Add this for more debugging support - # --with-debug + --with-readline \ " # benchdir does not fit in above model. Maybe a separate bench distribution @@ -281,13 +281,18 @@ then export CXX="gcc" fi +############################################################################## +# +# Build the debug version +# +############################################################################## + # 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 \ --with-archive-storage-engine \ @@ -304,14 +309,51 @@ then cp -fp mysql-debug-%{mysql_version}/config.log "$MYSQL_DEBUGCONFLOG_DEST" fi -(cd mysql-debug-%{mysql_version} && make -i test-force) || true +(cd mysql-debug-%{mysql_version} ; \ + ./mysql-test-run.pl --comment=debug --skip-rpl --skip-ndbcluster --force ; \ + true) -# Build release binary. -(cd mysql-release-%{mysql_version} && +############################################################################## +# +# Build the max binary +# +############################################################################## + +(cd mysql-max-%{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-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 - Max (GPL)\"") + +# We might want to save the config log file +if test -n "$MYSQL_MAXCONFLOG_DEST" +then + cp -fp mysql-max-%{mysql_version}/config.log "$MYSQL_MAXCONFLOG_DEST" +fi + +(cd mysql-max-%{mysql_version} ; \ + ./mysql-test-run.pl --comment=max --skip-ndbcluster --do-test=bdb --force ; \ + true) + +############################################################################## +# +# Build the 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-innodb \ --with-ndbcluster \ --with-archive-storage-engine \ @@ -328,7 +370,14 @@ then cp -fp mysql-release-%{mysql_version}/config.log "$MYSQL_CONFLOG_DEST" fi -(cd mysql-release-%{mysql_version} && make -i test-force) || true +(cd mysql-release-%{mysql_version} ; \ + ./mysql-test-run.pl --comment=normal --force ; \ + ./mysql-test-run.pl --comment=ps --ps-protocol --force ; \ + ./mysql-test-run.pl --comment=normal+rowrepl --mysqld=--binlog-format=row --force ; \ + ./mysql-test-run.pl --comment=ps+rowrepl --ps-protocol --mysqld=--binlog-format=row --force ; \ + true) + +############################################################################## %install RBR=$RPM_BUILD_ROOT @@ -350,12 +399,22 @@ install -d $RBR%{_sbindir} # the same here. mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/ -# install mysqld-debug +# install "mysqld-debug" and "mysqld-max" 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 + 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 + install -m 755 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/mysqld \ + $RBR%{_sbindir}/mysqld-debug +fi +if test -f $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-max-%{mysql_version}/sql/.libs/mysqld +then + install -m 755 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-max-%{mysql_version}/sql/.libs/mysqld \ + $RBR%{_sbindir}/mysqld-max +else + install -m 755 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-max-%{mysql_version}/sql/mysqld \ + $RBR%{_sbindir}/mysqld-max fi # install saved perror binary with NDB support (BUG#13740) @@ -534,6 +593,7 @@ fi %attr(755, root, root) %{_sbindir}/mysqld %attr(755, root, root) %{_sbindir}/mysqld-debug +%attr(755, root, root) %{_sbindir}/mysqld-max %attr(755, root, root) %{_sbindir}/mysqlmanager %attr(755, root, root) %{_sbindir}/rcmysql @@ -649,6 +709,12 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Mon Feb 20 03:04:32 CET 2006 + +- Reintroduced a max build +- Limited testing of 'debug' and 'max' servers +- Berkeley DB only in 'max' + * Mon Feb 13 2006 Joerg Bruehe - Use "-i" on "make test-force";