mysql.spec.sh 45.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# Copyright (C) 2000-2007 MySQL AB
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING. If not, write to the
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
# MA  02110-1301  USA.
kent@mysql.com's avatar
Merge  
kent@mysql.com committed
16

bk@work.mysql.com's avatar
bk@work.mysql.com committed
17
%define mysql_version		@VERSION@
18
%define mysql_vendor    MySQL AB
kent@mysql.com's avatar
kent@mysql.com committed
19

20 21 22 23
# use "rpmbuild --with static" or "rpm --define '_with_static 1'" (for RPM 3.x)
# to enable static linking (off by default)
%{?_with_static:%define STATIC_BUILD 1}
%{!?_with_static:%define STATIC_BUILD 0}
kent@mysql.com's avatar
kent@mysql.com committed
24 25 26 27 28 29

# use "rpmbuild --with yassl" or "rpm --define '_with_yassl 1'" (for RPM 3.x)
# to build with yaSSL support (off by default)
%{?_with_yassl:%define YASSL_BUILD 1}
%{!?_with_yassl:%define YASSL_BUILD 0}

30
%if %{STATIC_BUILD}
31 32 33 34
%define release 0
%else
%define release 0.glibc23
%endif
35
%define license GPL
bk@work.mysql.com's avatar
bk@work.mysql.com committed
36
%define mysqld_user		mysql
lenz@mysql.com's avatar
lenz@mysql.com committed
37
%define mysqld_group	mysql
38
%define server_suffix -standard
39
%define mysqldatadir /var/lib/mysql
bk@work.mysql.com's avatar
bk@work.mysql.com committed
40

41 42
# We don't package all files installed into the build root by intention -
# See BUG#998 for details.
43
%define _unpackaged_files_terminate_build 0
44

bk@work.mysql.com's avatar
bk@work.mysql.com committed
45 46
%define see_base For a description of MySQL see the base MySQL RPM or http://www.mysql.com

kent@mysql.com's avatar
kent@mysql.com committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
# On SuSE 9 no separate "debuginfo" package is built. To enable basic
# debugging on that platform, we don't strip binaries on SuSE 9. We
# disable the strip of binaries by redefining the RPM macro
# "__os_install_post" leaving out the script calls that normally does
# this. We do this in all cases, as on platforms where "debuginfo" is
# created, a script "find-debuginfo.sh" will be called that will do
# the strip anyway, part of separating the executable and debug
# information into separate files put into separate packages.
#
# Some references (shows more advanced conditional usage):
# http://www.redhat.com/archives/rpm-list/2001-November/msg00257.html
# http://www.redhat.com/archives/rpm-list/2003-February/msg00275.html
# http://www.redhat.com/archives/rhl-devel-list/2004-January/msg01546.html
# http://lists.opensuse.org/archive/opensuse-commit/2006-May/1171.html

%define __os_install_post /usr/lib/rpm/brp-compress

bk@work.mysql.com's avatar
bk@work.mysql.com committed
64
Name: MySQL
65
Summary:	MySQL: a very fast and reliable SQL database server
bk@work.mysql.com's avatar
bk@work.mysql.com committed
66 67 68
Group:		Applications/Databases
Version:	@MYSQL_NO_DASH_VERSION@
Release:	%{release}
69
License:	%{license}
bk@work.mysql.com's avatar
bk@work.mysql.com committed
70 71
Source:		http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
URL:		http://www.mysql.com/
72
Packager:	MySQL Production Engineering Team <build@mysql.com>
73
Vendor:		%{mysql_vendor}
74
Provides:	msqlormysql MySQL-server mysql
75
BuildRequires: ncurses-devel
bk@work.mysql.com's avatar
bk@work.mysql.com committed
76 77 78 79
Obsoletes:	mysql

# Think about what you use here since the first step is to
# run a rm -rf
80
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
bk@work.mysql.com's avatar
bk@work.mysql.com committed
81 82 83

# From the manual
%description
84 85 86 87 88 89
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
MySQL AB.

90 91 92
Copyright (C) 2000-2007 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license.
93 94 95 96

The MySQL web site (http://www.mysql.com/) provides the latest
news and information about the MySQL software. Also please see the
documentation and the manual for more information.
bk@work.mysql.com's avatar
bk@work.mysql.com committed
97

98 99 100
%package server
Summary:	MySQL: a very fast and reliable SQL database server
Group:		Applications/Databases
101
Requires: coreutils grep procps /usr/sbin/useradd /usr/sbin/groupadd /sbin/chkconfig
102 103 104 105 106 107 108 109 110 111
Provides:	msqlormysql mysql-server mysql MySQL
Obsoletes:	MySQL mysql mysql-server

%description server
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
MySQL AB.

112 113 114
Copyright (C) 2000-2007 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license.
115 116 117 118 119

The MySQL web site (http://www.mysql.com/) provides the latest
news and information about the MySQL software. Also please see the
documentation and the manual for more information.

120 121
This package includes the MySQL server binary (incl. InnoDB) as well
as related utilities to run and administrate a MySQL server.
122 123 124 125

If you want to access and work with the database, you have to install
package "MySQL-client" as well!

bk@work.mysql.com's avatar
bk@work.mysql.com committed
126 127 128 129
%package client
Summary: MySQL - Client
Group: Applications/Databases
Obsoletes: mysql-client
sasha@mysql.sashanet.com's avatar
sasha@mysql.sashanet.com committed
130
Provides: mysql-client
bk@work.mysql.com's avatar
bk@work.mysql.com committed
131 132

%description client
133
This package contains the standard MySQL clients and administration tools. 
bk@work.mysql.com's avatar
bk@work.mysql.com committed
134 135 136

%{see_base}

tulin@mysql.com's avatar
tulin@mysql.com committed
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
%package ndb-storage
Summary:	MySQL - ndbcluster storage engine
Group:		Applications/Databases

%description ndb-storage
This package contains the ndbcluster storage engine. 
It is necessary to have this package installed on all 
computers that should store ndbcluster table data.

%{see_base}

%package ndb-management
Summary:	MySQL - ndbcluster storage engine management
Group:		Applications/Databases

%description ndb-management
This package contains ndbcluster storage engine management.
It is necessary to have this package installed on at least 
one computer in the cluster.

%{see_base}

%package ndb-tools
Summary:	MySQL - ndbcluster storage engine basic tools
Group:		Applications/Databases

%description ndb-tools
This package contains ndbcluster storage engine basic tools.

%{see_base}

%package ndb-extra
Summary:	MySQL - ndbcluster storage engine extra tools
Group:		Applications/Databases

%description ndb-extra
This package contains some extra ndbcluster storage engine tools for the advanced user.
They should be used with caution.

%{see_base}

178
%package test
179
Requires: %{name}-client perl-DBI perl
180
Summary: MySQL - Test suite
bk@work.mysql.com's avatar
bk@work.mysql.com committed
181
Group: Applications/Databases
182 183
Provides: mysql-test
Obsoletes: mysql-bench mysql-test
kent@mysql.com's avatar
kent@mysql.com committed
184
AutoReqProv: no
bk@work.mysql.com's avatar
bk@work.mysql.com committed
185

186 187
%description test
This package contains the MySQL regression test suite.
bk@work.mysql.com's avatar
bk@work.mysql.com committed
188 189 190 191 192 193

%{see_base}

%package devel
Summary: MySQL - Development header files and libraries
Group: Applications/Databases
sasha@mysql.sashanet.com's avatar
sasha@mysql.sashanet.com committed
194
Provides: mysql-devel
bk@work.mysql.com's avatar
bk@work.mysql.com committed
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
Obsoletes: mysql-devel

%description devel
This package contains the development header files and libraries
necessary to develop MySQL client applications.

%{see_base}

%package shared
Summary: MySQL - Shared libraries
Group: Applications/Databases

%description shared
This package contains the shared libraries (*.so*) which certain
languages and applications need to dynamically load and use MySQL.

211
%package embedded
212
Requires: %{name}-devel
213 214
Summary: MySQL - embedded library
Group: Applications/Databases
215
Obsoletes: mysql-embedded
216

217
%description embedded
218 219 220 221 222 223 224 225 226
This package contains the MySQL server as an embedded library.

The embedded MySQL server library makes it possible to run a
full-featured MySQL server inside the client application.
The main benefits are increased speed and more simple management
for embedded applications.

The API is identical for the embedded MySQL version and the
client/server version.
227 228 229

%{see_base}

bk@work.mysql.com's avatar
bk@work.mysql.com committed
230
%prep
231
# We unpack the source two times, for 'debug' and 'release' build.
232 233 234 235
%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}
bk@work.mysql.com's avatar
bk@work.mysql.com committed
236 237 238 239 240 241

%build

BuildMySQL() {
# The --enable-assembler simply does nothing on systems that does not
# support assembler speedups.
242
sh -c  "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
243 244
	CC=\"${CC:-$MYSQL_BUILD_CC}\" \
	CXX=\"${CXX:-$MYSQL_BUILD_CXX}\" \
245 246
	CFLAGS=\"$CFLAGS\" \
	CXXFLAGS=\"$CXXFLAGS\" \
kent@mysql.com's avatar
kent@mysql.com committed
247
	LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \
bk@work.mysql.com's avatar
bk@work.mysql.com committed
248 249
	./configure \
 	    $* \
kent@mysql.com's avatar
kent@mysql.com committed
250 251 252
	    --with-mysqld-ldflags='-static' \
	    --with-client-ldflags='-static' \
	    --with-zlib-dir=bundled \
bk@work.mysql.com's avatar
bk@work.mysql.com committed
253
	    --enable-assembler \
254
	    --enable-local-infile \
kent@mysql.com's avatar
kent@mysql.com committed
255
	    --with-fast-mutexes \
bk@work.mysql.com's avatar
bk@work.mysql.com committed
256 257
            --with-mysqld-user=%{mysqld_user} \
            --with-unix-socket-path=/var/lib/mysql/mysql.sock \
kent@mysql.com's avatar
kent@mysql.com committed
258
	    --with-pic \
bk@work.mysql.com's avatar
bk@work.mysql.com committed
259
            --prefix=/ \
260
	    --with-extra-charsets=all \
kent@mysql.com's avatar
kent@mysql.com committed
261
%if %{YASSL_BUILD}
262
	    --with-ssl \
kent@mysql.com's avatar
kent@mysql.com committed
263
%endif
264 265 266 267 268
            --exec-prefix=%{_exec_prefix} \
            --libexecdir=%{_sbindir} \
            --libdir=%{_libdir} \
            --sysconfdir=%{_sysconfdir} \
            --datadir=%{_datadir} \
269
            --localstatedir=%{mysqldatadir} \
270
            --infodir=%{_infodir} \
271
            --includedir=%{_includedir} \
272
            --mandir=%{_mandir} \
273
	    --enable-thread-safe-client \
kent@mysql.com's avatar
kent@mysql.com committed
274
	    --with-readline \
bk@work.mysql.com's avatar
bk@work.mysql.com committed
275
	    "
276
 make
bk@work.mysql.com's avatar
bk@work.mysql.com committed
277 278
}

279
# Use our own copy of glibc
bk@work.mysql.com's avatar
bk@work.mysql.com committed
280

281
OTHER_LIBC_DIR=/usr/local/mysql-glibc
282
USE_OTHER_LIBC_DIR=""
monty@hundin.mysql.fi's avatar
monty@hundin.mysql.fi committed
283
if test -d "$OTHER_LIBC_DIR"
284 285 286 287 288 289
then
  USE_OTHER_LIBC_DIR="--with-other-libc=$OTHER_LIBC_DIR"
fi

# Use the build root for temporary storage of the shared libraries.

bk@work.mysql.com's avatar
bk@work.mysql.com committed
290
RBR=$RPM_BUILD_ROOT
291 292 293

# Clean up the BuildRoot first
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
294
mkdir -p $RBR%{_libdir}/mysql
bk@work.mysql.com's avatar
bk@work.mysql.com committed
295

296 297 298 299 300 301
#
# Use MYSQL_BUILD_PATH so that we can use a dedicated version of gcc
#
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
export PATH

302
# Build the Debug binary.
303

304 305
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
# including exceptions into the code
lenz@mysql.com's avatar
lenz@mysql.com committed
306
if [ -z "$CXX" -a -z "$CC" ]
307
then
308
	export CC="gcc"
309 310 311
	export CXX="gcc"
fi

kent@mysql.com's avatar
kent@mysql.com committed
312 313 314 315 316 317
##############################################################################
#
#  Build the debug version
#
##############################################################################

318 319 320 321
# 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'` \
322
BuildMySQL "--enable-shared \
323
		--with-debug \
324
		--with-innodb \
tulin@mysql.com's avatar
tulin@mysql.com committed
325
		--with-ndbcluster \
326
		--with-archive-storage-engine \
327 328
		--with-csv-storage-engine \
		--with-example-storage-engine \
329
		--with-blackhole-storage-engine \
330
		--with-federated-storage-engine \
331
	        --with-partition \
kent@mysql.com's avatar
kent@mysql.com committed
332
	        --with-big-tables \
kent@mysql.com's avatar
kent@mysql.com committed
333
		--with-comment=\"MySQL Community Server - Debug (GPL)\"")
bk@work.mysql.com's avatar
bk@work.mysql.com committed
334

kent@mysql.com's avatar
kent@mysql.com committed
335
# We might want to save the config log file
336
if test -n "$MYSQL_DEBUGCONFLOG_DEST"
337
then
338
  cp -fp mysql-debug-%{mysql_version}/config.log "$MYSQL_DEBUGCONFLOG_DEST"
339
fi
340

341
(cd mysql-debug-%{mysql_version} ; make test-bt-debug)
kent@mysql.com's avatar
kent@mysql.com committed
342 343 344 345 346 347 348 349 350 351 352

##############################################################################
#
#  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 \
353
		--with-innodb \
354 355 356 357 358 359
		--with-ndbcluster \
		--with-archive-storage-engine \
		--with-csv-storage-engine \
		--with-example-storage-engine \
		--with-blackhole-storage-engine \
		--with-federated-storage-engine \
360
	        --with-partition \
361
		--with-embedded-server \
362
	        --with-big-tables \
kent@mysql.com's avatar
kent@mysql.com committed
363
		--with-comment=\"MySQL Community Server (GPL)\"")
kent@mysql.com's avatar
kent@mysql.com committed
364 365 366
# We might want to save the config log file
if test -n "$MYSQL_CONFLOG_DEST"
then
367
  cp -fp  mysql-release-%{mysql_version}/config.log "$MYSQL_CONFLOG_DEST"
kent@mysql.com's avatar
kent@mysql.com committed
368 369
fi

370
(cd mysql-release-%{mysql_version} ; make test-bt)
kent@mysql.com's avatar
kent@mysql.com committed
371 372

##############################################################################
373

374
# Include libgcc.a in the devel subpackage (BUG 4921)
lenz@mysql.com's avatar
lenz@mysql.com committed
375
if expr "$CC" : ".*gcc.*" > /dev/null ;
376
then
377
  libgcc=`$CC $CFLAGS --print-libgcc-file`
378 379 380 381 382 383
  if [ -f $libgcc ]
  then
    %define have_libgcc 1
    install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a
  fi
fi
384

385
##############################################################################
386

387
%install
bk@work.mysql.com's avatar
bk@work.mysql.com committed
388
RBR=$RPM_BUILD_ROOT
389
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-release-%{mysql_version}
390

bk@work.mysql.com's avatar
bk@work.mysql.com committed
391
# Ensure that needed directories exists
392
install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
393
install -d $RBR%{mysqldatadir}/mysql
394
install -d $RBR%{_datadir}/mysql-test
395 396
install -d $RBR%{_includedir}
install -d $RBR%{_libdir}
397
install -d $RBR%{_mandir}
398 399
install -d $RBR%{_sbindir}

400

401
# Install all binaries 
402
(cd $MBD && make install DESTDIR=$RBR benchdir_root=%{_datadir})
403 404 405
# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
# the same here.
mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/
bk@work.mysql.com's avatar
bk@work.mysql.com committed
406

407
# install "mysqld-debug"
408
$MBD/libtool --mode=execute install -m 755 \
kent@mysql.com's avatar
Merge  
kent@mysql.com committed
409
                 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/mysqld \
kent@mysql.com's avatar
kent@mysql.com committed
410
                 $RBR%{_sbindir}/mysqld-debug
411

lenz@mysql.com's avatar
lenz@mysql.com committed
412
# install saved perror binary with NDB support (BUG#13740)
413
install -m 755 $MBD/extra/perror $RBR%{_bindir}/perror
414

bk@work.mysql.com's avatar
bk@work.mysql.com committed
415
# Install logrotate and autostart
kent@mysql.com's avatar
kent@mysql.com committed
416 417 418 419
install -m 644 $MBD/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
install -m 755 $MBD/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql

# Install embedded server library in the build root
420
install -m 644 $MBD/libmysqld/libmysqld.a $RBR%{_libdir}/mysql/
bk@work.mysql.com's avatar
bk@work.mysql.com committed
421

422 423
# Create a symlink "rcmysql", pointing to the init.script. SuSE users
# will appreciate that, as all services usually offer this.
424
ln -s %{_sysconfdir}/init.d/mysql $RPM_BUILD_ROOT%{_sbindir}/rcmysql
425

426 427
# Touch the place where the my.cnf config file and mysqlmanager.passwd
# (MySQL Instance Manager password file) might be located
428
# Just to make sure it's in the file list and marked as a config file
429
touch $RBR%{_sysconfdir}/my.cnf
430
touch $RBR%{_sysconfdir}/mysqlmanager.passwd
431 432

%pre server
433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
# Check if we can safely upgrade.  An upgrade is only safe if it's from one
# of our RPMs in the same version family.

installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
if [ $? -eq 0 -a -n "$installed" ]; then
  vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
  version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
  myvendor='%{mysql_vendor}'
  myversion='%{mysql_version}'

  old_family=`echo $version   | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
  new_family=`echo $myversion | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`

  [ -z "$vendor" ] && vendor='<unknown>'
  [ -z "$old_family" ] && old_family="<unrecognized version $version>"
  [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"

  error_text=
  if [ "$vendor" != "$myvendor" ]; then
    error_text="$error_text
The current MySQL server package is provided by a different
vendor ($vendor) than $myvendor.  Some files may be installed
to different locations, including log files and the service
startup script in %{_sysconfdir}/init.d/.
"
  fi

  if [ "$old_family" != "$new_family" ]; then
    error_text="$error_text
Upgrading directly from MySQL $old_family to MySQL $new_family may not
be safe in all cases.  A manual dump and restore using mysqldump is
recommended.  It is important to review the MySQL manual's Upgrading
section for version-specific incompatibilities.
"
  fi

  if [ -n "$error_text" ]; then
    cat <<HERE >&2

******************************************************************
A MySQL server package ($installed) is installed.
$error_text
A manual upgrade is required.

- Ensure that you have a complete, working backup of your data and my.cnf
  files
- Shut down the MySQL server cleanly
- Remove the existing MySQL packages.  Usually this command will
  list the packages you should remove:
  rpm -qa | grep -i '^mysql-'

  You may choose to use 'rpm --nodeps -ev <package-name>' to remove
  the package which contains the mysqlclient shared library.  The
  library will be reinstalled by the MySQL-shared-compat package.
- Install the new MySQL packages supplied by $myvendor
- Ensure that the MySQL server is started
- Run the 'mysql_upgrade' program

This is a brief description of the upgrade process.  Important details
can be found in the MySQL manual, in the Upgrading section.
******************************************************************
HERE
    exit 1
  fi
fi

499
# Shut down a previously installed server first
500
if test -x %{_sysconfdir}/init.d/mysql
501
then
502
  %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
503 504
  echo "Giving mysqld a couple of seconds to exit nicely"
  sleep 5
505
elif test -x %{_sysconfdir}/rc.d/init.d/mysql
bk@work.mysql.com's avatar
bk@work.mysql.com committed
506
then
507
  %{_sysconfdir}/rc.d/init.d/mysql stop > /dev/null 2>&1
bk@work.mysql.com's avatar
bk@work.mysql.com committed
508 509 510 511
  echo "Giving mysqld a couple of seconds to exit nicely"
  sleep 5
fi

512
%post server
513
mysql_datadir=%{mysqldatadir}
bk@work.mysql.com's avatar
bk@work.mysql.com committed
514 515

# Create data directory if needed
kent@mysql.com's avatar
kent@mysql.com committed
516
if test ! -d $mysql_datadir; then mkdir -m 755 $mysql_datadir; fi
517 518
if test ! -d $mysql_datadir/mysql; then mkdir $mysql_datadir/mysql; fi
if test ! -d $mysql_datadir/test; then mkdir $mysql_datadir/test; fi
bk@work.mysql.com's avatar
bk@work.mysql.com committed
519 520

# Make MySQL start/shutdown automatically when the machine does it.
521 522 523
# use insserv for older SuSE Linux versions
if test -x /sbin/insserv
then
524
	/sbin/insserv %{_sysconfdir}/init.d/mysql
525 526 527 528 529
# use chkconfig on Red Hat and newer SuSE releases
elif test -x /sbin/chkconfig
then
	/sbin/chkconfig --add mysql
fi
bk@work.mysql.com's avatar
bk@work.mysql.com committed
530

lenz@mysql.com's avatar
lenz@mysql.com committed
531 532
# Create a MySQL user and group. Do not report any problems if it already
# exists.
lenz@mysql.com's avatar
lenz@mysql.com committed
533 534 535 536
groupadd -r %{mysqld_group} 2> /dev/null || true
useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true 
# The user may already exist, make sure it has the proper group nevertheless (BUG#12823)
usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
bk@work.mysql.com's avatar
bk@work.mysql.com committed
537 538 539

# Change permissions so that the user that will run the MySQL daemon
# owns all database files.
lenz@mysql.com's avatar
lenz@mysql.com committed
540
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
bk@work.mysql.com's avatar
bk@work.mysql.com committed
541

kent@mysql.com's avatar
kent@mysql.com committed
542
# Initiate databases if needed
543
%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
bk@work.mysql.com's avatar
bk@work.mysql.com committed
544

545
# Upgrade databases if needed would go here - but it cannot be automated yet
kent@mysql.com's avatar
kent@mysql.com committed
546

bk@work.mysql.com's avatar
bk@work.mysql.com committed
547
# Change permissions again to fix any new files.
lenz@mysql.com's avatar
lenz@mysql.com committed
548
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
bk@work.mysql.com's avatar
bk@work.mysql.com committed
549 550 551 552 553 554

# Fix permissions for the permission database so that only the user
# can read them.
chmod -R og-rw $mysql_datadir/mysql

# Restart in the same way that mysqld will be started normally.
555
%{_sysconfdir}/init.d/mysql start
bk@work.mysql.com's avatar
bk@work.mysql.com committed
556

557
# Allow mysqld_safe to start mysqld and print a message before we exit
bk@work.mysql.com's avatar
bk@work.mysql.com committed
558 559
sleep 2

560 561 562 563 564
#echo "Thank you for installing the MySQL Community Server! For Production
#systems, we recommend MySQL Enterprise, which contains enterprise-ready
#software, intelligent advisory services, and full production support with
#scheduled service packs and more.  Visit www.mysql.com/enterprise for more
#information." 
tulin@mysql.com's avatar
tulin@mysql.com committed
565

566
%post ndb-storage
tulin@mysql.com's avatar
tulin@mysql.com committed
567 568 569
mysql_clusterdir=/var/lib/mysql-cluster

# Create cluster directory if needed
kent@mysql.com's avatar
kent@mysql.com committed
570
if test ! -d $mysql_clusterdir; then mkdir -m 755 $mysql_clusterdir; fi
tulin@mysql.com's avatar
tulin@mysql.com committed
571 572


573
%preun server
bk@work.mysql.com's avatar
bk@work.mysql.com committed
574 575
if test $1 = 0
then
576
  # Stop MySQL before uninstalling it
577
  if test -x %{_sysconfdir}/init.d/mysql
578
  then
579
    %{_sysconfdir}/init.d/mysql stop > /dev/null
580

581 582 583 584 585 586 587 588 589 590 591
    # Remove autostart of mysql
    # for older SuSE Linux versions
    if test -x /sbin/insserv
    then
      /sbin/insserv -r %{_sysconfdir}/init.d/mysql
    # use chkconfig on Red Hat and newer SuSE releases
    elif test -x /sbin/chkconfig
    then
      /sbin/chkconfig --del mysql
    fi
  fi
bk@work.mysql.com's avatar
bk@work.mysql.com committed
592
fi
593

bk@work.mysql.com's avatar
bk@work.mysql.com committed
594 595 596
# We do not remove the mysql user since it may still own a lot of
# database files.

597 598
# Clean up the BuildRoot
%clean
599
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
600

601
%files server
602
%defattr(-,root,root,0755)
603

604 605 606
%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
607 608 609

%doc %attr(644, root, root) %{_infodir}/mysql.info*

joerg@trift2's avatar
joerg@trift2 committed
610
%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
611
%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
612 613 614
%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1*
615
%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8*
616 617
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
618
%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_privilege_tables.1*
619
%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
kent@mysql.com's avatar
kent@mysql.com committed
620
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
621
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
joerg@trift2's avatar
joerg@trift2 committed
622
%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
joerg@trift2's avatar
joerg@trift2 committed
623
%doc %attr(644, root, man) %{_mandir}/man8/mysqlmanager.8*
624
%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
joerg@trift2's avatar
joerg@trift2 committed
625
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1*
joerg@trift2's avatar
joerg@trift2 committed
626
%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1*
627
%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
628 629
%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
bk@work.mysql.com's avatar
bk@work.mysql.com committed
630

631
%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
632
%ghost %config(noreplace,missingok) %{_sysconfdir}/mysqlmanager.passwd
633

kent@mysql.com's avatar
kent@mysql.com committed
634
%attr(755, root, root) %{_bindir}/my_print_defaults
635
%attr(755, root, root) %{_bindir}/myisam_ftdump
kent@mysql.com's avatar
kent@mysql.com committed
636
%attr(755, root, root) %{_bindir}/myisamchk
637 638 639
%attr(755, root, root) %{_bindir}/myisamlog
%attr(755, root, root) %{_bindir}/myisampack
%attr(755, root, root) %{_bindir}/mysql_convert_table_format
640
%attr(755, root, root) %{_bindir}/mysql_fix_extensions
641 642 643 644
%attr(755, root, root) %{_bindir}/mysql_fix_privilege_tables
%attr(755, root, root) %{_bindir}/mysql_install_db
%attr(755, root, root) %{_bindir}/mysql_secure_installation
%attr(755, root, root) %{_bindir}/mysql_setpermission
645
%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql
kent@mysql.com's avatar
Merge  
kent@mysql.com committed
646
%attr(755, root, root) %{_bindir}/mysql_upgrade
647
%attr(755, root, root) %{_bindir}/mysql_zap
kent@mysql.com's avatar
kent@mysql.com committed
648 649 650
%attr(755, root, root) %{_bindir}/mysqlbug
%attr(755, root, root) %{_bindir}/mysqld_multi
%attr(755, root, root) %{_bindir}/mysqld_safe
651
%attr(755, root, root) %{_bindir}/mysqldumpslow
kent@mysql.com's avatar
kent@mysql.com committed
652 653
%attr(755, root, root) %{_bindir}/mysqlhotcopy
%attr(755, root, root) %{_bindir}/mysqltest
654 655
%attr(755, root, root) %{_bindir}/perror
%attr(755, root, root) %{_bindir}/replace
656
%attr(755, root, root) %{_bindir}/resolve_stack_dump
kent@mysql.com's avatar
kent@mysql.com committed
657
%attr(755, root, root) %{_bindir}/resolveip
658 659

%attr(755, root, root) %{_sbindir}/mysqld
660
%attr(755, root, root) %{_sbindir}/mysqld-debug
661
%attr(755, root, root) %{_sbindir}/mysqlmanager
662 663
%attr(755, root, root) %{_sbindir}/rcmysql

664
%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
665 666 667
%attr(755, root, root) %{_sysconfdir}/init.d/mysql

%attr(755, root, root) %{_datadir}/mysql/
bk@work.mysql.com's avatar
bk@work.mysql.com committed
668 669

%files client
670
%defattr(-, root, root, 0755)
671 672 673 674 675 676 677 678 679 680 681
%attr(755, root, root) %{_bindir}/msql2mysql
%attr(755, root, root) %{_bindir}/mysql
%attr(755, root, root) %{_bindir}/mysql_find_rows
%attr(755, root, root) %{_bindir}/mysql_waitpid
%attr(755, root, root) %{_bindir}/mysqlaccess
%attr(755, root, root) %{_bindir}/mysqladmin
%attr(755, root, root) %{_bindir}/mysqlbinlog
%attr(755, root, root) %{_bindir}/mysqlcheck
%attr(755, root, root) %{_bindir}/mysqldump
%attr(755, root, root) %{_bindir}/mysqlimport
%attr(755, root, root) %{_bindir}/mysqlshow
682
%attr(755, root, root) %{_bindir}/mysqlslap
bk@work.mysql.com's avatar
bk@work.mysql.com committed
683

684
%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1*
685 686 687
%doc %attr(644, root, man) %{_mandir}/man1/mysql.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1*
688 689
%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1*
690
%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
691
%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1*
692
%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
693
%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
bk@work.mysql.com's avatar
bk@work.mysql.com committed
694 695 696 697 698 699 700

%post shared
/sbin/ldconfig

%postun shared
/sbin/ldconfig

tulin@mysql.com's avatar
tulin@mysql.com committed
701 702 703
%files ndb-storage
%defattr(-,root,root,0755)
%attr(755, root, root) %{_sbindir}/ndbd
704
%doc %attr(644, root, man) %{_mandir}/man8/ndbd.8*
tulin@mysql.com's avatar
tulin@mysql.com committed
705 706 707 708

%files ndb-management
%defattr(-,root,root,0755)
%attr(755, root, root) %{_sbindir}/ndb_mgmd
709
%doc %attr(644, root, man) %{_mandir}/man8/ndb_mgmd.8*
tulin@mysql.com's avatar
tulin@mysql.com committed
710 711 712

%files ndb-tools
%defattr(-,root,root,0755)
713 714 715
%attr(755, root, root) %{_bindir}/ndb_config
%attr(755, root, root) %{_bindir}/ndb_desc
%attr(755, root, root) %{_bindir}/ndb_error_reporter
tulin@mysql.com's avatar
tulin@mysql.com committed
716
%attr(755, root, root) %{_bindir}/ndb_mgm
717 718 719
%attr(755, root, root) %{_bindir}/ndb_print_backup_file
%attr(755, root, root) %{_bindir}/ndb_print_schema_file
%attr(755, root, root) %{_bindir}/ndb_print_sys_file
tulin@mysql.com's avatar
tulin@mysql.com committed
720 721 722 723
%attr(755, root, root) %{_bindir}/ndb_restore
%attr(755, root, root) %{_bindir}/ndb_select_all
%attr(755, root, root) %{_bindir}/ndb_select_count
%attr(755, root, root) %{_bindir}/ndb_show_tables
kent@mysql.com/g4-2.local's avatar
kent@mysql.com/g4-2.local committed
724
%attr(755, root, root) %{_bindir}/ndb_size.pl
725 726 727 728 729 730 731 732 733 734 735 736 737
%attr(755, root, root) %{_bindir}/ndb_test_platform
%attr(755, root, root) %{_bindir}/ndb_waiter
%doc %attr(644, root, man) %{_mandir}/man1/ndb_config.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_desc.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_error_reporter.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_backup_file.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_schema_file.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_sys_file.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_select_all.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_select_count.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_show_tables.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_size.pl.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_waiter.1*
tulin@mysql.com's avatar
tulin@mysql.com committed
738 739 740

%files ndb-extra
%defattr(-,root,root,0755)
741 742
%attr(755, root, root) %{_sbindir}/ndb_cpcd
%attr(755, root, root) %{_bindir}/ndb_delete_all
tulin@mysql.com's avatar
tulin@mysql.com committed
743 744
%attr(755, root, root) %{_bindir}/ndb_drop_index
%attr(755, root, root) %{_bindir}/ndb_drop_table
745 746 747
%doc %attr(644, root, man) %{_mandir}/man1/ndb_delete_all.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_index.1*
%doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_table.1*
tulin@mysql.com's avatar
tulin@mysql.com committed
748

bk@work.mysql.com's avatar
bk@work.mysql.com committed
749
%files devel
750
%defattr(-, root, root, 0755)
751
%doc mysql-release-%{mysql_version}/EXCEPTIONS-CLIENT
752
%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
753 754 755 756 757 758
%attr(755, root, root) %{_bindir}/mysql_config
%dir %attr(755, root, root) %{_includedir}/mysql
%dir %attr(755, root, root) %{_libdir}/mysql
%{_includedir}/mysql/*
%{_libdir}/mysql/libdbug.a
%{_libdir}/mysql/libheap.a
759 760 761
%if %{have_libgcc}
%{_libdir}/mysql/libmygcc.a
%endif
762 763 764 765 766 767 768 769
%{_libdir}/mysql/libmyisam.a
%{_libdir}/mysql/libmyisammrg.a
%{_libdir}/mysql/libmysqlclient.a
%{_libdir}/mysql/libmysqlclient.la
%{_libdir}/mysql/libmysqlclient_r.a
%{_libdir}/mysql/libmysqlclient_r.la
%{_libdir}/mysql/libmystrings.a
%{_libdir}/mysql/libmysys.a
770 771
%{_libdir}/mysql/libndbclient.a
%{_libdir}/mysql/libndbclient.la
772
%{_libdir}/mysql/libvio.a
773 774
%{_libdir}/mysql/libz.a
%{_libdir}/mysql/libz.la
bk@work.mysql.com's avatar
bk@work.mysql.com committed
775 776

%files shared
777
%defattr(-, root, root, 0755)
bk@work.mysql.com's avatar
bk@work.mysql.com committed
778
# Shared libraries (omit for architectures that don't support them)
kent@mysql.com's avatar
kent@mysql.com committed
779 780
%{_libdir}/libmysql*.so*
%{_libdir}/libndb*.so*
bk@work.mysql.com's avatar
bk@work.mysql.com committed
781

782 783 784 785 786 787
%files test
%defattr(-, root, root, 0755)
%attr(-, root, root) %{_datadir}/mysql-test
%attr(755, root, root) %{_bindir}/mysql_client_test
%attr(755, root, root) %{_bindir}/mysql_client_test_embedded
%attr(755, root, root) %{_bindir}/mysqltest_embedded
joerg@trift2's avatar
joerg@trift2 committed
788
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1*
789
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1*
790
%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1*
joerg@trift2's avatar
joerg@trift2 committed
791
%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1*
792
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
793

794 795 796
%files embedded
%defattr(-, root, root, 0755) 
%attr(644, root, root) %{_libdir}/mysql/libmysqld.a
797

798
# The spec file changelog only includes changes made to the spec file
799 800
# itself - note that they must be ordered by date (important when
# merging BK trees)
801
%changelog
802 803 804 805
* Wed Mar 19 2008 Joerg Bruehe <joerg@mysql.com>

- Add the man pages for "ndbd" and "ndb_mgmd".

806 807 808 809 810
* Mon Feb 18 2008 Timothy Smith <tim@mysql.com>

- Require a manual upgrade if the alread-installed mysql-server is
  from another vendor, or is of a different major version.

811 812 813 814 815
* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com>

- "ndb_size.tmpl" is not needed any more, 
  "man1/mysql_install_db.1" lacked the trailing '*'.

816 817 818 819
* Sat Apr 07 2007 Kent Boortz <kent@mysql.com>

- Removed man page for "mysql_create_system_tables"

820 821 822 823 824 825 826 827 828
* Wed Mar 21 2007 Daniel Fischer <df@mysql.com>

- Add debug server.

* Mon Mar 19 2007 Daniel Fischer <df@mysql.com>

- Remove Max RPMs; the server RPMs contain a mysqld compiled with all
  features that previously only were built into Max.

829 830 831 832
* Fri Mar 02 2007 Joerg Bruehe <joerg@mysql.com>

- Add several man pages for NDB which are now created.

833 834
* Fri Jan 05 2007 Kent Boortz <kent@mysql.com>

835 836
- Put back "libmygcc.a", found no real reason it was removed.

837 838 839
- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
  correct "libgcc.a" path is returned for the 32/64 bit architecture.

joerg@trift2's avatar
joerg@trift2 committed
840 841 842 843
* Mon Dec 18 2006 Joerg Bruehe <joerg@mysql.com>

- Fix the move of "mysqlmanager" to section 8: Directory name was wrong.

joerg@trift2's avatar
joerg@trift2 committed
844 845 846 847
* Thu Dec 14 2006 Joerg Bruehe <joerg@mysql.com>

- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql"
  in the server RPM.
joerg@trift2's avatar
joerg@trift2 committed
848
- The "mysqlmanager" man page got moved from section 1 to 8.
joerg@trift2's avatar
joerg@trift2 committed
849

850 851 852 853 854
* Thu Nov 30 2006 Joerg Bruehe <joerg@mysql.com>

- Call "make install" using "benchdir_root=%{_datadir}", 
  because that is affecting the regression test suite as well.

855 856 857 858 859 860
* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>

- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) 
  replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
  (bug#22081).

861 862 863 864 865 866
* Mon Nov 13 2006 Joerg Bruehe <joerg@mysql.com>

- Add "--with-partition" to all server builds.

- Use "--report-features" in one test run per server build.

867 868 869 870 871
* Tue Aug 15 2006 Joerg Bruehe <joerg@mysql.com>

- The "max" server is removed from packages, effective from 5.1.12-beta.
  Delete all steps to build, package, or install it.

872 873 874 875
* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>

- Fix a typing error in the "make" target for the Perl script to run the tests.

876 877 878 879 880
* Tue Jul 04 2006 Joerg Bruehe <joerg@mysql.com>

- Use the Perl script to run the tests, because it will automatically check
  whether the server is configured with SSL.

881 882
* Tue Jun 27 2006 Joerg Bruehe <joerg@mysql.com>

883 884
- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216)

885 886 887 888
- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade,
  there are some more aspects which need to be solved before this is possible.
  For now, just ensure the binary "mysql_upgrade" is delivered and installed.

889 890 891 892 893 894
* Thu Jun 22 2006 Joerg Bruehe <joerg@mysql.com>

- Close a gap of the previous version by explicitly using
  a newly created temporary directory for the socket to be used
  in the "mysql_upgrade" operation, overriding any local setting.

895 896 897 898 899
* Tue Jun 20 2006 Joerg Bruehe <joerg@mysql.com>

- To run "mysql_upgrade", we need a running server;
  start it in isolation and skip password checks.

kent@mysql.com's avatar
kent@mysql.com committed
900 901 902 903
* Sat May 20 2006 Kent Boortz <kent@mysql.com>

- Always compile for PIC, position independent code.

kent@mysql.com's avatar
kent@mysql.com committed
904 905
* Wed May 10 2006 Kent Boortz <kent@mysql.com>

kent@mysql.com's avatar
Merge  
kent@mysql.com committed
906 907 908
- Use character set "all" when compiling with Cluster, to make Cluster
  nodes independent on the character set directory, and the problem
  that two RPM sub packages both wants to install this directory.
kent@mysql.com's avatar
kent@mysql.com committed
909

kent@mysql.com's avatar
kent@mysql.com committed
910 911 912 913
* Mon May 01 2006 Kent Boortz <kent@mysql.com>

- Use "./libtool --mode=execute" instead of searching for the
  executable in current directory and ".libs".
914

kent@mysql.com's avatar
kent@mysql.com committed
915 916 917
* Fri Apr 28 2006 Kent Boortz <kent@mysql.com>

- Install and run "mysql_upgrade"
918

919 920 921 922 923 924
* Wed Apr 12 2006 Jim Winstead <jimw@mysql.com>

- Remove sql-bench, and MySQL-bench RPM (will be built as an independent
  project from the mysql-bench repository)

* Tue Apr 11 2006 Jim Winstead <jimw@mysql.com>
925 926

- Remove old mysqltestmanager and related programs
kent@mysql.com's avatar
kent@mysql.com committed
927 928 929 930
* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>

- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS

kent@mysql.com's avatar
kent@mysql.com committed
931 932 933 934
* Wed Mar 07 2006 Kent Boortz <kent@mysql.com>

- Changed product name from "Community Edition" to "Community Server"

kent@mysql.com's avatar
kent@mysql.com committed
935 936 937 938 939
* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>

- Fast mutexes is now disabled by default, but should be
  used in Linux builds.

940
* Mon Feb 20 2006 Kent Boortz <kent@mysql.com>
kent@mysql.com's avatar
kent@mysql.com committed
941 942 943 944 945

- Reintroduced a max build
- Limited testing of 'debug' and 'max' servers
- Berkeley DB only in 'max'

946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964
* Mon Feb 13 2006 Joerg Bruehe <joerg@mysql.com>

- Use "-i" on "make test-force";
  this is essential for later evaluation of this log file.

* Thu Feb 09 2006 Kent Boortz <kent@mysql.com>

- Pass '-static' to libtool, link static with our own libraries, dynamic
  with system libraries.  Link with the bundled zlib.

* Wed Feb 08 2006 Kristian Nielsen <knielsen@mysql.com>

- Modified RPM spec to match new 5.1 debug+max combined community packaging.

* Sun Dec 18 2005 Kent Boortz <kent@mysql.com>

- Added "client/mysqlslap"

* Mon Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
965 966 967 968 969 970

- Added zlib to the list of (static) libraries installed
- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
- Compile MySQL with bundled zlib
- Fixed %packager name to "MySQL Production Engineering Team"

971 972 973 974 975
* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>

- Avoid using the "bundled" zlib on "shared" builds: 
  As it is not installed (on the build system), this gives dependency 
  problems with "libtool" causing the build to fail.
976
  (Change was done on Nov 11, but left uncommented.)
977

978 979 980 981 982
* Tue Nov 22 2005 Joerg Bruehe <joerg@mysql.com>

- Extend the file existence check for "init.d/mysql" on un-install
  to also guard the call to "insserv"/"chkconfig".

983 984 985 986
* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>

- added more man pages

kent@mysql.com's avatar
kent@mysql.com committed
987 988
* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>

kent@mysql.com's avatar
kent@mysql.com committed
989 990 991 992
- Made yaSSL support an option (off by default)

* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>

kent@mysql.com's avatar
kent@mysql.com committed
993
- Enabled yaSSL support
kent@mysql.com's avatar
kent@mysql.com committed
994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008

* Sat Oct 15 2005 Kent Boortz <kent@mysql.com>

- Give mode arguments the same way in all places
- Moved copy of mysqld.a to "standard" build, but
  disabled it as we don't do embedded yet in 5.0

* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>

- For 5.x, always compile with --with-big-tables
- Copy the config.log file to location outside
  the build tree

* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>

lenz@mysql.com's avatar
lenz@mysql.com committed
1009
- Removed unneeded/obsolete configure options
kent@mysql.com's avatar
kent@mysql.com committed
1010 1011 1012 1013 1014
- Added archive engine to standard server
- Removed the embedded server from experimental server
- Changed suffix "-Max" => "-max"
- Changed comment string "Max" => "Experimental"

lenz@mysql.com's avatar
lenz@mysql.com committed
1015 1016 1017 1018 1019 1020 1021 1022 1023
* Thu Oct 13 2005 Lenz Grimmer <lenz@mysql.com>

- added a usermod call to assign a potential existing mysql user to the
  correct user group (BUG#12823)
- Save the perror binary built during Max build so it supports the NDB
  error codes (BUG#13740)
- added a separate macro "mysqld_group" to be able to define the
  user group of the mysql user seperately, if desired.

1024 1025 1026 1027 1028
* Thu Sep 29 2005 Lenz Grimmer <lenz@mysql.com>

- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
  $RBR variable did not get expanded, thus leaving old build roots behind)

1029 1030
* Thu Aug 04 2005 Lenz Grimmer <lenz@mysql.com>

1031 1032
- Fixed the creation of the mysql user group account in the postinstall
  section (BUG 12348)
1033 1034
- Fixed enabling the Archive storage engine in the Max binary

1035 1036 1037 1038
* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>

- Fixed the Requires: tag for the server RPM (BUG 12233)

lenz@mysql.com's avatar
lenz@mysql.com committed
1039 1040 1041 1042 1043
* Fri Jul 15 2005 Lenz Grimmer <lenz@mysql.com>

- create a "mysql" user group and assign the mysql user account to that group
  in the server postinstall section. (BUG 10984)

1044 1045 1046 1047 1048 1049 1050
* Tue Jun 14 2005 Lenz Grimmer <lenz@mysql.com>

- Do not build statically on i386 by default, only when adding either "--with
  static" or "--define '_with_static 1'" to the RPM build options. Static
  linking really only makes sense when linking against the specially patched
  glibc 2.2.5.

1051 1052 1053
* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>

- added mysql_client_test to the "bench" subpackage (BUG 10676)
1054
- added the libndbclient static and shared libraries (BUG 10676)
1055 1056 1057 1058 1059 1060 1061 1062

* Wed Jun 01 2005 Lenz Grimmer <lenz@mysql.com>

- use "mysqldatadir" variable instead of hard-coding the path multiple times
- use the "mysqld_user" variable on all occasions a user name is referenced
- removed (incomplete) Brazilian translations
- removed redundant release tags from the subpackage descriptions

1063 1064 1065 1066
* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>

- Added a "make clean" between separate calls to "BuildMySQL".

1067 1068 1069 1070
* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com>

- Removed the mysql_tableinfo script made obsolete by the information schema

1071 1072 1073 1074
* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>

- Enabled the "blackhole" storage engine for the Max RPM

lenz@mysql.com's avatar
lenz@mysql.com committed
1075
* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
1076 1077 1078 1079

- removed the MySQL manual files (html/ps/texi) - they have been removed
  from the MySQL sources and are now available seperately.

1080 1081 1082 1083 1084
* Mon Apr 4 2005 Petr Chardin <petr@mysql.com>

- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into
  mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively

1085 1086 1087 1088 1089
* Fri Mar 18 2005 Lenz Grimmer <lenz@mysql.com>

- Disabled RAID in the Max binaries once and for all (it has finally been
  removed from the source tree)

1090 1091
* Sun Feb 20 2005 Petr Chardin <petr@mysql.com>

1092
- Install MySQL Instance Manager together with mysqld, touch mysqlmanager
1093 1094
  password file

1095
* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
1096

1097
- Fixed the compilation comments and moved them into the separate build sections
1098 1099 1100
  for Max and Standard

* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
1101 1102 1103 1104 1105

- enabled the "Ndbcluster" storage engine for the max binary
- added extra make install in ndb subdir after Max build to get ndb binaries
- added packages for ndbcluster storage engine

1106 1107 1108 1109
* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>

- replaced obsoleted "BuildPrereq" with "BuildRequires" instead

1110 1111 1112 1113
* Thu Jan 13 2005 Lenz Grimmer <lenz@mysql.com>

- enabled the "Federated" storage engine for the max binary

1114 1115 1116 1117 1118
* Tue Jan 04 2005 Petr Chardin <petr@mysql.com>

- ISAM and merge storage engines were purged. As well as appropriate
  tools and manpages (isamchk and isamlog)

1119 1120 1121 1122 1123 1124
* Thu Dec 31 2004 Lenz Grimmer <lenz@mysql.com>

- enabled the "Archive" storage engine for the max binary
- enabled the "CSV" storage engine for the max binary
- enabled the "Example" storage engine for the max binary

1125 1126 1127 1128
* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>

- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860)

1129 1130 1131 1132 1133
* Fri Aug 20 2004 Lenz Grimmer <lenz@mysql.com>

- do not link statically on IA64/AMD64 as these systems do not have
  a patched glibc installed

1134 1135 1136 1137 1138
* Tue Aug 10 2004 Lenz Grimmer <lenz@mysql.com>

- Added libmygcc.a to the devel subpackage (required to link applications
  against the the embedded server libmysqld.a) (BUG 4921)

1139 1140 1141 1142
* Mon Aug 09 2004 Lenz Grimmer <lenz@mysql.com>

- Added EXCEPTIONS-CLIENT to the "devel" package

1143 1144 1145 1146 1147
* Thu Jul 29 2004 Lenz Grimmer <lenz@mysql.com>

- disabled OpenSSL in the Max binaries again (the RPM packages were the
  only exception to this anyway) (BUG 1043)

1148 1149 1150 1151 1152
* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>

- fixed server postinstall (mysql_install_db was called with the wrong
  parameter)

1153 1154 1155 1156 1157
* Thu Jun 24 2004 Lenz Grimmer <lenz@mysql.com>

- added mysql_tzinfo_to_sql to the server subpackage
- run "make clean" instead of "make distclean"

1158 1159 1160 1161
* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>

- added ncurses-devel to the build prerequisites (BUG 3377)

1162 1163 1164
* Thu Feb 12 2004 Lenz Grimmer <lenz@mysql.com>

- when using gcc, _always_ use CXX=gcc 
1165
- replaced Copyright with License field (Copyright is obsolete)
1166

1167 1168 1169 1170
* Tue Feb 03 2004 Lenz Grimmer <lenz@mysql.com>

- added myisam_ftdump to the Server package

1171 1172 1173 1174
* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>

- link the mysql client against libreadline instead of libedit (BUG 2289)

1175 1176 1177 1178
* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>

- marked /etc/logrotate.d/mysql as a config file (BUG 2156)

1179 1180 1181 1182
* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>

- fixed file permissions (BUG 1672)

1183 1184 1185 1186
* Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>

- made testing for gcc3 a bit more robust

1187 1188 1189 1190
* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>

- added missing file mysql_create_system_tables to the server subpackage

1191 1192 1193 1194 1195
* Fri Nov 21 2003 Lenz Grimmer <lenz@mysql.com>

- removed dependency on MySQL-client from the MySQL-devel subpackage
  as it is not really required. (BUG 1610)

1196 1197 1198 1199 1200 1201
* Fri Aug 29 2003 Lenz Grimmer <lenz@mysql.com>

- Fixed BUG 1162 (removed macro names from the changelog)
- Really fixed BUG 998 (disable the checking for installed but
  unpackaged files)

1202 1203
* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>

1204 1205
- Fixed BUG 959 (libmysqld not being compiled properly)
- Fixed BUG 998 (RPM build errors): added missing files to the
1206
  distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
1207
  mysql_fix_privilege_tables.1), removed "-n" from install section.
1208

1209 1210 1211
* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>

- removed the GIF Icon (file was not included in the sources anyway)
1212
- removed unused variable shared_lib_version
1213 1214 1215 1216 1217 1218 1219 1220
- do not run automake before building the standard binary
  (should not be necessary)
- add server suffix '-standard' to standard binary (to be in line
  with the binary tarball distributions)
- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
  _datadir, _includedir) throughout the spec file.
- allow overriding CC and CXX (required when building with other compilers)

1221 1222 1223
* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>

- re-enabled RAID again
bk@work.mysql.com's avatar
bk@work.mysql.com committed
1224

1225 1226 1227 1228
* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>

- disabled MyISAM RAID (--with-raid) - it throws an assertion which
  needs to be investigated first.
bk@work.mysql.com's avatar
bk@work.mysql.com committed
1229

1230 1231 1232
* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>

- added missing file mysql_secure_installation to server subpackage
1233
  (BUG 141)
1234

1235 1236 1237 1238 1239 1240
* Tue Feb 11 2003 Lenz Grimmer <lenz@mysql.com>

- re-added missing pre- and post(un)install scripts to server subpackage
- added config file /etc/my.cnf to the file list (just for completeness)
- make sure to create the datadir with 755 permissions

1241 1242 1243 1244 1245
* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>

- removed unused CC and CXX variables
- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS

1246 1247 1248 1249 1250 1251
* Fri Jan 24 2003 Lenz Grimmer <lenz@mysql.com>

- renamed package "MySQL" to "MySQL-server"
- fixed Copyright tag
- added mysql_waitpid to client subpackage (required for mysql-test-run)

1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262
* Wed Nov 27 2002 Lenz Grimmer <lenz@mysql.com>

- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of 
  Linux distributions now support this scheme as proposed by the LSB either
  directly or via a compatibility symlink)
- Use new "restart" init script action instead of starting and stopping
  separately
- Be more flexible in activating the automatic bootup - use insserv (on
  older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and
  others) to create the respective symlinks

1263 1264 1265 1266 1267
* Wed Sep 25 2002 Lenz Grimmer <lenz@mysql.com>

- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches
  (mixing 3.23 and 4.0 packages)

1268 1269 1270 1271 1272 1273 1274
* Fri Aug 09 2002 Lenz Grimmer <lenz@mysql.com>
 
- Turn off OpenSSL in MySQL-Max for now until it works properly again
- enable RAID for the Max binary instead
- added compatibility link: safe_mysqld -> mysqld_safe to ease the
  transition from 3.23

1275 1276 1277 1278 1279 1280 1281 1282 1283 1284
* Thu Jul 18 2002 Lenz Grimmer <lenz@mysql.com>

- Reworked the build steps a little bit: the Max binary is supposed
  to include OpenSSL, which cannot be linked statically, thus trying
	to statically link against a special glibc is futile anyway
- because of this, it is not required to make yet another build run
  just to compile the shared libs (saves a lot of time)
- updated package description of the Max subpackage
- clean up the BuildRoot directory afterwards

1285 1286 1287 1288 1289 1290 1291
* Mon Jul 15 2002 Lenz Grimmer <lenz@mysql.com>

- Updated Packager information
- Fixed the build options: the regular package is supposed to
  include InnoDB and linked statically, while the Max package
	should include BDB and SSL support

1292 1293 1294 1295 1296 1297 1298 1299
* Fri May 03 2002 Lenz Grimmer <lenz@mysql.com>

- Use more RPM macros (e.g. infodir, mandir) to make the spec
  file more portable
- reorganized the installation of documentation files: let RPM
  take care of this
- reorganized the file list: actually install man pages along
  with the binaries of the respective subpackage
1300
- do not include libmysqld.a in the devel subpackage as well, if we
1301 1302 1303
  have a special "embedded" subpackage
- reworked the package descriptions

1304 1305 1306 1307
* Mon Oct  8 2001 Monty

- Added embedded server as a separate RPM

1308 1309 1310 1311
* Fri Apr 13 2001 Monty

- Added mysqld-max to the distribution

1312 1313 1314 1315
* Tue Jan 2  2001  Monty

- Added mysql-test to the bench package

1316
* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
1317 1318 1319 1320

- Added separate libmysql_r directory; now both a threaded
  and non-threaded library is shipped.

bk@work.mysql.com's avatar
bk@work.mysql.com committed
1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363
* Wed Sep 28 1999 David Axmark <davida@mysql.com>

- Added the support-files/my-example.cnf to the docs directory.

- Removed devel dependency on base since it is about client
  development.

* Wed Sep 8 1999 David Axmark <davida@mysql.com>

- Cleaned up some for 3.23.

* Thu Jul 1 1999 David Axmark <davida@mysql.com>

- Added support for shared libraries in a separate sub
  package. Original fix by David Fox (dsfox@cogsci.ucsd.edu)

- The --enable-assembler switch is now automatically disables on
  platforms there assembler code is unavailable. This should allow
  building this RPM on non i386 systems.

* Mon Feb 22 1999 David Axmark <david@detron.se>

- Removed unportable cc switches from the spec file. The defaults can
  now be overridden with environment variables. This feature is used
  to compile the official RPM with optimal (but compiler version
  specific) switches.

- Removed the repetitive description parts for the sub rpms. Maybe add
  again if RPM gets a multiline macro capability.

- Added support for a pt_BR translation. Translation contributed by
  Jorge Godoy <jorge@bestway.com.br>.

* Wed Nov 4 1998 David Axmark <david@detron.se>

- A lot of changes in all the rpm and install scripts. This may even
  be a working RPM :-)

* Sun Aug 16 1998 David Axmark <david@detron.se>

- A developers changelog for MySQL is available in the source RPM. And
  there is a history of major user visible changed in the Reference
  Manual.  Only RPM specific changes will be documented here.