mysql.spec.sh 45.4 KB
Newer Older
unknown's avatar
unknown committed
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.
unknown's avatar
Merge  
unknown committed
16

unknown's avatar
unknown committed
17
%define mysql_version		@VERSION@
18
%define mysql_vendor    MySQL AB
unknown's avatar
unknown 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}
unknown's avatar
unknown 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
unknown's avatar
unknown committed
36
%define mysqld_user		mysql
unknown's avatar
unknown committed
37
%define mysqld_group	mysql
38
%define server_suffix -standard
39
%define mysqldatadir /var/lib/mysql
unknown's avatar
unknown 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

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

unknown's avatar
unknown 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

unknown's avatar
unknown committed
64
Name: MySQL
65
Summary:	MySQL: a very fast and reliable SQL database server
unknown's avatar
unknown committed
66 67 68
Group:		Applications/Databases
Version:	@MYSQL_NO_DASH_VERSION@
Release:	%{release}
69
License:	%{license}
unknown's avatar
unknown 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
unknown's avatar
unknown 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
unknown's avatar
unknown 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.

unknown's avatar
unknown committed
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.
unknown's avatar
unknown 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.

unknown's avatar
unknown committed
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!

unknown's avatar
unknown committed
126 127 128 129
%package client
Summary: MySQL - Client
Group: Applications/Databases
Obsoletes: mysql-client
unknown's avatar
unknown committed
130
Provides: mysql-client
unknown's avatar
unknown committed
131 132

%description client
133
This package contains the standard MySQL clients and administration tools. 
unknown's avatar
unknown committed
134 135 136

%{see_base}

unknown's avatar
unknown 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}

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

unknown's avatar
unknown committed
186 187
%description test
This package contains the MySQL regression test suite.
unknown's avatar
unknown committed
188 189 190 191 192 193

%{see_base}

%package devel
Summary: MySQL - Development header files and libraries
Group: Applications/Databases
unknown's avatar
unknown committed
194
Provides: mysql-devel
unknown's avatar
unknown 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.

unknown's avatar
unknown committed
211
%package embedded
212
Requires: %{name}-devel
unknown's avatar
unknown committed
213 214
Summary: MySQL - embedded library
Group: Applications/Databases
215
Obsoletes: mysql-embedded
unknown's avatar
unknown committed
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.
unknown's avatar
unknown committed
227 228 229

%{see_base}

unknown's avatar
unknown 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}
unknown's avatar
unknown 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\" \
unknown's avatar
unknown committed
247
	LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \
unknown's avatar
unknown committed
248 249
	./configure \
 	    $* \
unknown's avatar
unknown committed
250 251 252
	    --with-mysqld-ldflags='-static' \
	    --with-client-ldflags='-static' \
	    --with-zlib-dir=bundled \
unknown's avatar
unknown committed
253
	    --enable-assembler \
unknown's avatar
unknown committed
254
	    --enable-local-infile \
unknown's avatar
unknown committed
255
	    --with-fast-mutexes \
unknown's avatar
unknown committed
256 257
            --with-mysqld-user=%{mysqld_user} \
            --with-unix-socket-path=/var/lib/mysql/mysql.sock \
unknown's avatar
unknown committed
258
	    --with-pic \
unknown's avatar
unknown committed
259
            --prefix=/ \
260
	    --with-extra-charsets=all \
unknown's avatar
unknown committed
261
%if %{YASSL_BUILD}
unknown's avatar
unknown committed
262
	    --with-ssl \
unknown's avatar
unknown 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 \
unknown's avatar
unknown committed
274
	    --with-readline \
unknown's avatar
unknown committed
275
	    "
unknown's avatar
unknown committed
276
 make
unknown's avatar
unknown committed
277 278
}

279
# Use our own copy of glibc
unknown's avatar
unknown committed
280

281
OTHER_LIBC_DIR=/usr/local/mysql-glibc
282
USE_OTHER_LIBC_DIR=""
unknown's avatar
unknown 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.

unknown's avatar
unknown committed
290
RBR=$RPM_BUILD_ROOT
291 292 293

# Clean up the BuildRoot first
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
unknown's avatar
unknown committed
294
mkdir -p $RBR%{_libdir}/mysql
unknown's avatar
unknown 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
unknown's avatar
unknown committed
306
if [ -z "$CXX" -a -z "$CC" ]
307
then
308
	export CC="gcc"
309 310 311
	export CXX="gcc"
fi

unknown's avatar
unknown 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 \
unknown's avatar
unknown 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 \
unknown's avatar
unknown committed
332
	        --with-big-tables \
unknown's avatar
unknown committed
333
		--with-comment=\"MySQL Community Server - Debug (GPL)\"")
unknown's avatar
unknown committed
334

unknown's avatar
unknown 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
unknown's avatar
unknown committed
340

341
(cd mysql-debug-%{mysql_version} ; make test-bt-debug)
unknown's avatar
unknown 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 \
unknown's avatar
unknown committed
361
		--with-embedded-server \
362
	        --with-big-tables \
unknown's avatar
unknown committed
363
		--with-comment=\"MySQL Community Server (GPL)\"")
unknown's avatar
unknown 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"
unknown's avatar
unknown committed
368 369
fi

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

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

374
# Include libgcc.a in the devel subpackage (BUG 4921)
unknown's avatar
unknown 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
unknown's avatar
unknown committed
384

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

unknown's avatar
unknown committed
387
%install
unknown's avatar
unknown committed
388
RBR=$RPM_BUILD_ROOT
389
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-release-%{mysql_version}
390

unknown's avatar
unknown 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}/
unknown's avatar
unknown committed
406

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

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

unknown's avatar
unknown committed
415
# Install logrotate and autostart
unknown's avatar
unknown 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
unknown's avatar
unknown committed
420
install -m 644 $MBD/libmysqld/libmysqld.a $RBR%{_libdir}/mysql/
unknown's avatar
unknown 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
unknown's avatar
unknown committed
506
then
507
  %{_sysconfdir}/rc.d/init.d/mysql stop > /dev/null 2>&1
unknown's avatar
unknown 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}
unknown's avatar
unknown committed
514 515

# Create data directory if needed
unknown's avatar
unknown 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
unknown's avatar
unknown 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
unknown's avatar
unknown committed
530

unknown's avatar
unknown committed
531 532
# Create a MySQL user and group. Do not report any problems if it already
# exists.
unknown's avatar
unknown 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
unknown's avatar
unknown committed
537 538 539

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

unknown's avatar
unknown committed
542
# Initiate databases if needed
543
%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
unknown's avatar
unknown committed
544

545
# Upgrade databases if needed would go here - but it cannot be automated yet
unknown's avatar
unknown committed
546

unknown's avatar
unknown committed
547
# Change permissions again to fix any new files.
unknown's avatar
unknown committed
548
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
unknown's avatar
unknown 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
unknown's avatar
unknown committed
556

unknown's avatar
unknown committed
557
# Allow mysqld_safe to start mysqld and print a message before we exit
unknown's avatar
unknown 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." 
unknown's avatar
unknown committed
565

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

# Create cluster directory if needed
unknown's avatar
unknown committed
570
if test ! -d $mysql_clusterdir; then mkdir -m 755 $mysql_clusterdir; fi
unknown's avatar
unknown committed
571 572


573
%preun server
unknown's avatar
unknown committed
574 575
if test $1 = 0
then
unknown's avatar
unknown committed
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

unknown's avatar
unknown committed
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
unknown's avatar
unknown committed
592
fi
593

unknown's avatar
unknown 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*

unknown's avatar
unknown committed
610
%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
unknown's avatar
unknown committed
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*
unknown's avatar
unknown committed
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*
unknown's avatar
unknown committed
620
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
621
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
unknown's avatar
unknown committed
622
%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
unknown's avatar
unknown committed
623
%doc %attr(644, root, man) %{_mandir}/man8/mysqlmanager.8*
624
%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
unknown's avatar
unknown committed
625
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1*
unknown's avatar
unknown 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*
unknown's avatar
unknown committed
630

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

unknown's avatar
unknown committed
634
%attr(755, root, root) %{_bindir}/my_print_defaults
635
%attr(755, root, root) %{_bindir}/myisam_ftdump
unknown's avatar
unknown 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
unknown's avatar
unknown committed
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
unknown's avatar
Merge  
unknown committed
646
%attr(755, root, root) %{_bindir}/mysql_upgrade
647
%attr(755, root, root) %{_bindir}/mysql_zap
unknown's avatar
unknown 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
unknown's avatar
unknown 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
unknown's avatar
unknown 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/
unknown's avatar
unknown 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
unknown's avatar
unknown 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*
unknown's avatar
unknown committed
694 695 696 697 698 699 700

%post shared
/sbin/ldconfig

%postun shared
/sbin/ldconfig

unknown's avatar
unknown committed
701 702 703 704 705 706 707 708 709 710
%files ndb-storage
%defattr(-,root,root,0755)
%attr(755, root, root) %{_sbindir}/ndbd

%files ndb-management
%defattr(-,root,root,0755)
%attr(755, root, root) %{_sbindir}/ndb_mgmd

%files ndb-tools
%defattr(-,root,root,0755)
unknown's avatar
unknown committed
711 712 713
%attr(755, root, root) %{_bindir}/ndb_config
%attr(755, root, root) %{_bindir}/ndb_desc
%attr(755, root, root) %{_bindir}/ndb_error_reporter
unknown's avatar
unknown committed
714
%attr(755, root, root) %{_bindir}/ndb_mgm
unknown's avatar
unknown committed
715 716 717
%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
unknown's avatar
unknown committed
718 719 720 721
%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
unknown's avatar
unknown committed
722
%attr(755, root, root) %{_bindir}/ndb_size.pl
unknown's avatar
unknown committed
723 724 725 726 727 728 729 730 731 732 733 734 735
%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*
unknown's avatar
unknown committed
736 737 738

%files ndb-extra
%defattr(-,root,root,0755)
unknown's avatar
unknown committed
739 740
%attr(755, root, root) %{_sbindir}/ndb_cpcd
%attr(755, root, root) %{_bindir}/ndb_delete_all
unknown's avatar
unknown committed
741 742
%attr(755, root, root) %{_bindir}/ndb_drop_index
%attr(755, root, root) %{_bindir}/ndb_drop_table
unknown's avatar
unknown committed
743 744 745
%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*
unknown's avatar
unknown committed
746

unknown's avatar
unknown committed
747
%files devel
748
%defattr(-, root, root, 0755)
749
%doc mysql-release-%{mysql_version}/EXCEPTIONS-CLIENT
750
%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
751 752 753 754 755 756
%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
757 758 759
%if %{have_libgcc}
%{_libdir}/mysql/libmygcc.a
%endif
760 761 762 763 764 765 766 767
%{_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
768 769
%{_libdir}/mysql/libndbclient.a
%{_libdir}/mysql/libndbclient.la
770
%{_libdir}/mysql/libvio.a
771 772
%{_libdir}/mysql/libz.a
%{_libdir}/mysql/libz.la
unknown's avatar
unknown committed
773 774

%files shared
775
%defattr(-, root, root, 0755)
unknown's avatar
unknown committed
776
# Shared libraries (omit for architectures that don't support them)
unknown's avatar
unknown committed
777 778
%{_libdir}/libmysql*.so*
%{_libdir}/libndb*.so*
unknown's avatar
unknown committed
779

unknown's avatar
unknown committed
780 781 782 783 784 785
%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
unknown's avatar
unknown committed
786
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1*
787
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1*
788
%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1*
unknown's avatar
unknown committed
789
%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1*
790
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
unknown's avatar
unknown committed
791

792 793 794
%files embedded
%defattr(-, root, root, 0755) 
%attr(644, root, root) %{_libdir}/mysql/libmysqld.a
unknown's avatar
unknown committed
795

796
# The spec file changelog only includes changes made to the spec file
797 798
# itself - note that they must be ordered by date (important when
# merging BK trees)
799
%changelog
800 801 802 803 804
* 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.

805 806 807 808 809
* 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 '*'.

unknown's avatar
unknown committed
810 811 812 813
* Sat Apr 07 2007 Kent Boortz <kent@mysql.com>

- Removed man page for "mysql_create_system_tables"

814 815 816 817 818 819 820 821 822
* 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.

unknown's avatar
unknown committed
823 824 825 826
* Fri Mar 02 2007 Joerg Bruehe <joerg@mysql.com>

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

827 828
* Fri Jan 05 2007 Kent Boortz <kent@mysql.com>

829 830
- Put back "libmygcc.a", found no real reason it was removed.

831 832 833
- 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.

unknown's avatar
unknown committed
834 835 836 837
* Mon Dec 18 2006 Joerg Bruehe <joerg@mysql.com>

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

unknown's avatar
unknown committed
838 839 840 841
* 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.
unknown's avatar
unknown committed
842
- The "mysqlmanager" man page got moved from section 1 to 8.
unknown's avatar
unknown committed
843

unknown's avatar
unknown committed
844 845 846 847 848
* 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.

849 850 851 852 853 854
* 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).

855 856 857 858 859 860
* 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.

861 862 863 864 865
* 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.

866 867 868 869
* 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.

870 871 872 873 874
* 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.

875 876
* Tue Jun 27 2006 Joerg Bruehe <joerg@mysql.com>

877 878
- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216)

879 880 881 882
- 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.

883 884 885 886 887 888
* 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.

889 890 891 892 893
* 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.

unknown's avatar
unknown committed
894 895 896 897
* Sat May 20 2006 Kent Boortz <kent@mysql.com>

- Always compile for PIC, position independent code.

unknown's avatar
unknown committed
898 899
* Wed May 10 2006 Kent Boortz <kent@mysql.com>

unknown's avatar
Merge  
unknown committed
900 901 902
- 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.
unknown's avatar
unknown committed
903

unknown's avatar
unknown committed
904 905 906 907
* Mon May 01 2006 Kent Boortz <kent@mysql.com>

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

unknown's avatar
unknown committed
909 910 911
* Fri Apr 28 2006 Kent Boortz <kent@mysql.com>

- Install and run "mysql_upgrade"
912

913 914 915 916 917 918
* 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>
919 920

- Remove old mysqltestmanager and related programs
unknown's avatar
unknown committed
921 922 923 924
* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>

- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS

unknown's avatar
unknown committed
925 926 927 928
* Wed Mar 07 2006 Kent Boortz <kent@mysql.com>

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

unknown's avatar
unknown committed
929 930 931 932 933
* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>

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

934
* Mon Feb 20 2006 Kent Boortz <kent@mysql.com>
unknown's avatar
unknown committed
935 936 937 938 939

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

940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958
* 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>
959 960 961 962 963 964

- 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"

965 966 967 968 969
* 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.
unknown's avatar
unknown committed
970
  (Change was done on Nov 11, but left uncommented.)
971

unknown's avatar
unknown committed
972 973 974 975 976
* 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".

977 978 979 980
* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>

- added more man pages

unknown's avatar
unknown committed
981 982
* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>

unknown's avatar
unknown committed
983 984 985 986
- Made yaSSL support an option (off by default)

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

unknown's avatar
unknown committed
987
- Enabled yaSSL support
unknown's avatar
unknown committed
988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002

* 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>

unknown's avatar
unknown committed
1003
- Removed unneeded/obsolete configure options
unknown's avatar
unknown committed
1004 1005 1006 1007 1008
- Added archive engine to standard server
- Removed the embedded server from experimental server
- Changed suffix "-Max" => "-max"
- Changed comment string "Max" => "Experimental"

unknown's avatar
unknown committed
1009 1010 1011 1012 1013 1014 1015 1016 1017
* 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.

1018 1019 1020 1021 1022
* 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)

1023 1024
* Thu Aug 04 2005 Lenz Grimmer <lenz@mysql.com>

1025 1026
- Fixed the creation of the mysql user group account in the postinstall
  section (BUG 12348)
1027 1028
- Fixed enabling the Archive storage engine in the Max binary

1029 1030 1031 1032
* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>

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

unknown's avatar
unknown committed
1033 1034 1035 1036 1037
* 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)

1038 1039 1040 1041 1042 1043 1044
* 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.

1045 1046 1047
* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>

- added mysql_client_test to the "bench" subpackage (BUG 10676)
1048
- added the libndbclient static and shared libraries (BUG 10676)
1049 1050 1051 1052 1053 1054 1055 1056

* 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

1057 1058 1059 1060
* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>

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

1061 1062 1063 1064
* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com>

- Removed the mysql_tableinfo script made obsolete by the information schema

1065 1066 1067 1068
* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>

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

unknown's avatar
unknown committed
1069
* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
1070 1071 1072 1073

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

1074 1075 1076 1077 1078
* Mon Apr 4 2005 Petr Chardin <petr@mysql.com>

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

1079 1080 1081 1082 1083
* 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)

1084 1085
* Sun Feb 20 2005 Petr Chardin <petr@mysql.com>

1086
- Install MySQL Instance Manager together with mysqld, touch mysqlmanager
1087 1088
  password file

1089
* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
unknown's avatar
unknown committed
1090

1091
- Fixed the compilation comments and moved them into the separate build sections
unknown's avatar
unknown committed
1092 1093 1094
  for Max and Standard

* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
unknown's avatar
unknown committed
1095 1096 1097 1098 1099

- 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

1100 1101 1102 1103
* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>

- replaced obsoleted "BuildPrereq" with "BuildRequires" instead

1104 1105 1106 1107
* Thu Jan 13 2005 Lenz Grimmer <lenz@mysql.com>

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

1108 1109 1110 1111 1112
* 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)

1113 1114 1115 1116 1117 1118
* 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

1119 1120 1121 1122
* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>

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

1123 1124 1125 1126 1127
* 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

1128 1129 1130 1131 1132
* 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)

1133 1134 1135 1136
* Mon Aug 09 2004 Lenz Grimmer <lenz@mysql.com>

- Added EXCEPTIONS-CLIENT to the "devel" package

1137 1138 1139 1140 1141
* 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)

1142 1143 1144 1145 1146
* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>

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

1147 1148 1149 1150 1151
* 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"

1152 1153 1154 1155
* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>

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

1156 1157 1158
* Thu Feb 12 2004 Lenz Grimmer <lenz@mysql.com>

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

1161 1162 1163 1164
* Tue Feb 03 2004 Lenz Grimmer <lenz@mysql.com>

- added myisam_ftdump to the Server package

1165 1166 1167 1168
* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>

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

1169 1170 1171 1172
* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>

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

1173 1174 1175 1176
* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>

- fixed file permissions (BUG 1672)

1177 1178 1179 1180
* Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>

- made testing for gcc3 a bit more robust

unknown's avatar
unknown committed
1181 1182 1183 1184
* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>

- added missing file mysql_create_system_tables to the server subpackage

1185 1186 1187 1188 1189
* 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)

1190 1191 1192 1193 1194 1195
* 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)

unknown's avatar
unknown committed
1196 1197
* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>

1198 1199
- Fixed BUG 959 (libmysqld not being compiled properly)
- Fixed BUG 998 (RPM build errors): added missing files to the
unknown's avatar
unknown committed
1200
  distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
1201
  mysql_fix_privilege_tables.1), removed "-n" from install section.
unknown's avatar
unknown committed
1202

1203 1204 1205
* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>

- removed the GIF Icon (file was not included in the sources anyway)
1206
- removed unused variable shared_lib_version
1207 1208 1209 1210 1211 1212 1213 1214
- 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)

1215 1216 1217
* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>

- re-enabled RAID again
unknown's avatar
unknown committed
1218

1219 1220 1221 1222
* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>

- disabled MyISAM RAID (--with-raid) - it throws an assertion which
  needs to be investigated first.
unknown's avatar
unknown committed
1223

1224 1225 1226
* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>

- added missing file mysql_secure_installation to server subpackage
1227
  (BUG 141)
1228

1229 1230 1231 1232 1233 1234
* 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

1235 1236 1237 1238 1239
* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>

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

1240 1241 1242 1243 1244 1245
* 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)

1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256
* 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

1257 1258 1259 1260 1261
* 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)

1262 1263 1264 1265 1266 1267 1268
* 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

1269 1270 1271 1272 1273 1274 1275 1276 1277 1278
* 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

1279 1280 1281 1282 1283 1284 1285
* 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

1286 1287 1288 1289 1290 1291 1292 1293
* 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
1294
- do not include libmysqld.a in the devel subpackage as well, if we
1295 1296 1297
  have a special "embedded" subpackage
- reworked the package descriptions

unknown's avatar
unknown committed
1298 1299 1300 1301
* Mon Oct  8 2001 Monty

- Added embedded server as a separate RPM

1302 1303 1304 1305
* Fri Apr 13 2001 Monty

- Added mysqld-max to the distribution

1306 1307 1308 1309
* Tue Jan 2  2001  Monty

- Added mysql-test to the bench package

1310
* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
1311 1312 1313 1314

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

unknown's avatar
unknown committed
1315 1316 1317 1318 1319 1320 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
* 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.