~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to support-files/mysql.spec.sh

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (C) 2000-2007 MySQL AB
 
2
 
3
# This program is free software; you can redistribute it and/or modify
 
4
# it under the terms of the GNU General Public License as published by
 
5
# the Free Software Foundation; version 2 of the License.
 
6
 
7
# This program is distributed in the hope that it will be useful,
 
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
10
# GNU General Public License for more details.
 
11
 
12
# You should have received a copy of the GNU General Public License
 
13
# along with this program; see the file COPYING. If not, write to the
 
14
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston
 
15
# MA  02110-1301  USA.
 
16
 
 
17
%define mysql_version           @VERSION@
 
18
%define mysql_vendor    MySQL AB
 
19
 
 
20
# use "rpmbuild --with static" or "rpm --define '_with_static 1'" (for RPM 3.x)
 
21
# to enable static linking (off by default)
 
22
%{?_with_static:%define STATIC_BUILD 1}
 
23
%{!?_with_static:%define STATIC_BUILD 0}
 
24
 
 
25
# use "rpmbuild --with yassl" or "rpm --define '_with_yassl 1'" (for RPM 3.x)
 
26
# to build with yaSSL support (off by default)
 
27
%{?_with_yassl:%define YASSL_BUILD 1}
 
28
%{!?_with_yassl:%define YASSL_BUILD 0}
 
29
 
 
30
%if %{STATIC_BUILD}
 
31
%define release 0
 
32
%else
 
33
%define release 0.glibc23
 
34
%endif
 
35
%define license GPL
 
36
%define mysqld_user             mysql
 
37
%define mysqld_group    mysql
 
38
%define server_suffix -standard
 
39
%define mysqldatadir /var/lib/mysql
 
40
 
 
41
# We don't package all files installed into the build root by intention -
 
42
# See BUG#998 for details.
 
43
%define _unpackaged_files_terminate_build 0
 
44
 
 
45
%define see_base For a description of MySQL see the base MySQL RPM or http://www.mysql.com
 
46
 
 
47
# On SuSE 9 no separate "debuginfo" package is built. To enable basic
 
48
# debugging on that platform, we don't strip binaries on SuSE 9. We
 
49
# disable the strip of binaries by redefining the RPM macro
 
50
# "__os_install_post" leaving out the script calls that normally does
 
51
# this. We do this in all cases, as on platforms where "debuginfo" is
 
52
# created, a script "find-debuginfo.sh" will be called that will do
 
53
# the strip anyway, part of separating the executable and debug
 
54
# information into separate files put into separate packages.
 
55
#
 
56
# Some references (shows more advanced conditional usage):
 
57
# http://www.redhat.com/archives/rpm-list/2001-November/msg00257.html
 
58
# http://www.redhat.com/archives/rpm-list/2003-February/msg00275.html
 
59
# http://www.redhat.com/archives/rhl-devel-list/2004-January/msg01546.html
 
60
# http://lists.opensuse.org/archive/opensuse-commit/2006-May/1171.html
 
61
 
 
62
%define __os_install_post /usr/lib/rpm/brp-compress
 
63
 
 
64
Name: MySQL
 
65
Summary:        MySQL: a very fast and reliable SQL database server
 
66
Group:          Applications/Databases
 
67
Version:        @MYSQL_NO_DASH_VERSION@
 
68
Release:        %{release}
 
69
License:        %{license}
 
70
Source:         http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
 
71
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
 
76
Obsoletes:      mysql
 
77
 
 
78
# Think about what you use here since the first step is to
 
79
# run a rm -rf
 
80
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
 
81
 
 
82
# From the manual
 
83
%description
 
84
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
 
85
and robust SQL (Structured Query Language) database server. MySQL Server
 
86
is intended for mission-critical, heavy-load production systems as well
 
87
as for embedding into mass-deployed software. MySQL is a trademark of
 
88
MySQL AB.
 
89
 
 
90
Copyright (C) 2000-2007 MySQL AB
 
91
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
 
92
and you are welcome to modify and redistribute it under the GPL license.
 
93
 
 
94
The MySQL web site (http://www.mysql.com/) provides the latest
 
95
news and information about the MySQL software. Also please see the
 
96
documentation and the manual for more information.
 
97
 
 
98
%package server
 
99
Summary:        MySQL: a very fast and reliable SQL database server
 
100
Group:          Applications/Databases
 
101
Requires: coreutils grep procps /usr/sbin/useradd /usr/sbin/groupadd /sbin/chkconfig
 
102
Provides:       msqlormysql mysql-server mysql MySQL
 
103
Obsoletes:      MySQL mysql mysql-server
 
104
 
 
105
%description server
 
106
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
 
107
and robust SQL (Structured Query Language) database server. MySQL Server
 
108
is intended for mission-critical, heavy-load production systems as well
 
109
as for embedding into mass-deployed software. MySQL is a trademark of
 
110
MySQL AB.
 
111
 
 
112
Copyright (C) 2000-2007 MySQL AB
 
113
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
 
114
and you are welcome to modify and redistribute it under the GPL license.
 
115
 
 
116
The MySQL web site (http://www.mysql.com/) provides the latest
 
117
news and information about the MySQL software. Also please see the
 
118
documentation and the manual for more information.
 
119
 
 
120
This package includes the MySQL server binary (incl. InnoDB) as well
 
121
as related utilities to run and administrate a MySQL server.
 
122
 
 
123
If you want to access and work with the database, you have to install
 
124
package "MySQL-client" as well!
 
125
 
 
126
%package client
 
127
Summary: MySQL - Client
 
128
Group: Applications/Databases
 
129
Obsoletes: mysql-client
 
130
Provides: mysql-client
 
131
 
 
132
%description client
 
133
This package contains the standard MySQL clients and administration tools. 
 
134
 
 
135
%{see_base}
 
136
 
 
137
%package ndb-storage
 
138
Summary:        MySQL - ndbcluster storage engine
 
139
Group:          Applications/Databases
 
140
 
 
141
%description ndb-storage
 
142
This package contains the ndbcluster storage engine. 
 
143
It is necessary to have this package installed on all 
 
144
computers that should store ndbcluster table data.
 
145
 
 
146
%{see_base}
 
147
 
 
148
%package ndb-management
 
149
Summary:        MySQL - ndbcluster storage engine management
 
150
Group:          Applications/Databases
 
151
 
 
152
%description ndb-management
 
153
This package contains ndbcluster storage engine management.
 
154
It is necessary to have this package installed on at least 
 
155
one computer in the cluster.
 
156
 
 
157
%{see_base}
 
158
 
 
159
%package ndb-tools
 
160
Summary:        MySQL - ndbcluster storage engine basic tools
 
161
Group:          Applications/Databases
 
162
 
 
163
%description ndb-tools
 
164
This package contains ndbcluster storage engine basic tools.
 
165
 
 
166
%{see_base}
 
167
 
 
168
%package ndb-extra
 
169
Summary:        MySQL - ndbcluster storage engine extra tools
 
170
Group:          Applications/Databases
 
171
 
 
172
%description ndb-extra
 
173
This package contains some extra ndbcluster storage engine tools for the advanced user.
 
174
They should be used with caution.
 
175
 
 
176
%{see_base}
 
177
 
 
178
%package test
 
179
Requires: %{name}-client perl-DBI perl
 
180
Summary: MySQL - Test suite
 
181
Group: Applications/Databases
 
182
Provides: mysql-test
 
183
Obsoletes: mysql-bench mysql-test
 
184
AutoReqProv: no
 
185
 
 
186
%description test
 
187
This package contains the MySQL regression test suite.
 
188
 
 
189
%{see_base}
 
190
 
 
191
%package devel
 
192
Summary: MySQL - Development header files and libraries
 
193
Group: Applications/Databases
 
194
Provides: mysql-devel
 
195
Obsoletes: mysql-devel
 
196
 
 
197
%description devel
 
198
This package contains the development header files and libraries
 
199
necessary to develop MySQL client applications.
 
200
 
 
201
%{see_base}
 
202
 
 
203
%package shared
 
204
Summary: MySQL - Shared libraries
 
205
Group: Applications/Databases
 
206
 
 
207
%description shared
 
208
This package contains the shared libraries (*.so*) which certain
 
209
languages and applications need to dynamically load and use MySQL.
 
210
 
 
211
%package embedded
 
212
Requires: %{name}-devel
 
213
Summary: MySQL - embedded library
 
214
Group: Applications/Databases
 
215
Obsoletes: mysql-embedded
 
216
 
 
217
%description embedded
 
218
This package contains the MySQL server as an embedded library.
 
219
 
 
220
The embedded MySQL server library makes it possible to run a
 
221
full-featured MySQL server inside the client application.
 
222
The main benefits are increased speed and more simple management
 
223
for embedded applications.
 
224
 
 
225
The API is identical for the embedded MySQL version and the
 
226
client/server version.
 
227
 
 
228
%{see_base}
 
229
 
 
230
%prep
 
231
# We unpack the source two times, for 'debug' and 'release' build.
 
232
%setup -T -a 0 -c -n mysql-%{mysql_version}
 
233
mv mysql-%{mysql_version} mysql-debug-%{mysql_version}
 
234
%setup -D -T -a 0 -n mysql-%{mysql_version}
 
235
mv mysql-%{mysql_version} mysql-release-%{mysql_version}
 
236
 
 
237
%build
 
238
 
 
239
BuildMySQL() {
 
240
# The --enable-assembler simply does nothing on systems that does not
 
241
# support assembler speedups.
 
242
sh -c  "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
 
243
        CC=\"${CC:-$MYSQL_BUILD_CC}\" \
 
244
        CXX=\"${CXX:-$MYSQL_BUILD_CXX}\" \
 
245
        CFLAGS=\"$CFLAGS\" \
 
246
        CXXFLAGS=\"$CXXFLAGS\" \
 
247
        LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \
 
248
        ./configure \
 
249
            $* \
 
250
            --with-mysqld-ldflags='-static' \
 
251
            --with-client-ldflags='-static' \
 
252
            --with-zlib-dir=bundled \
 
253
            --enable-assembler \
 
254
            --enable-local-infile \
 
255
            --with-fast-mutexes \
 
256
            --with-mysqld-user=%{mysqld_user} \
 
257
            --with-unix-socket-path=/var/lib/mysql/mysql.sock \
 
258
            --with-pic \
 
259
            --prefix=/ \
 
260
            --with-extra-charsets=all \
 
261
%if %{YASSL_BUILD}
 
262
            --with-ssl \
 
263
%endif
 
264
            --exec-prefix=%{_exec_prefix} \
 
265
            --libexecdir=%{_sbindir} \
 
266
            --libdir=%{_libdir} \
 
267
            --sysconfdir=%{_sysconfdir} \
 
268
            --datadir=%{_datadir} \
 
269
            --localstatedir=%{mysqldatadir} \
 
270
            --infodir=%{_infodir} \
 
271
            --includedir=%{_includedir} \
 
272
            --mandir=%{_mandir} \
 
273
            --enable-thread-safe-client \
 
274
            --with-readline \
 
275
            "
 
276
 make
 
277
}
 
278
 
 
279
# Use our own copy of glibc
 
280
 
 
281
OTHER_LIBC_DIR=/usr/local/mysql-glibc
 
282
USE_OTHER_LIBC_DIR=""
 
283
if test -d "$OTHER_LIBC_DIR"
 
284
then
 
285
  USE_OTHER_LIBC_DIR="--with-other-libc=$OTHER_LIBC_DIR"
 
286
fi
 
287
 
 
288
# Use the build root for temporary storage of the shared libraries.
 
289
 
 
290
RBR=$RPM_BUILD_ROOT
 
291
 
 
292
# Clean up the BuildRoot first
 
293
[ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
 
294
mkdir -p $RBR%{_libdir}/mysql
 
295
 
 
296
#
 
297
# Use MYSQL_BUILD_PATH so that we can use a dedicated version of gcc
 
298
#
 
299
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
 
300
export PATH
 
301
 
 
302
# Build the Debug binary.
 
303
 
 
304
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
 
305
# including exceptions into the code
 
306
if [ -z "$CXX" -a -z "$CC" ]
 
307
then
 
308
        export CC="gcc"
 
309
        export CXX="gcc"
 
310
fi
 
311
 
 
312
##############################################################################
 
313
#
 
314
#  Build the debug version
 
315
#
 
316
##############################################################################
 
317
 
 
318
# Strip -Oxxx, add -g and --with-debug.
 
319
(cd mysql-debug-%{mysql_version} &&
 
320
CFLAGS=`echo "${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" | sed -e 's/-O[0-9]*//g'` \
 
321
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 \
 
325
                --with-ndbcluster \
 
326
                --with-archive-storage-engine \
 
327
                --with-csv-storage-engine \
 
328
                --with-example-storage-engine \
 
329
                --with-blackhole-storage-engine \
 
330
                --with-federated-storage-engine \
 
331
%ifarch i386 x86_64
 
332
                --with-falcon \
 
333
%else
 
334
                --without-falcon \
 
335
%endif
 
336
                --with-partition \
 
337
                --with-big-tables \
 
338
                --with-comment=\"MySQL Community Server - Debug (GPL)\"")
 
339
 
 
340
# We might want to save the config log file
 
341
if test -n "$MYSQL_DEBUGCONFLOG_DEST"
 
342
then
 
343
  cp -fp mysql-debug-%{mysql_version}/config.log "$MYSQL_DEBUGCONFLOG_DEST"
 
344
fi
 
345
 
 
346
(cd mysql-debug-%{mysql_version} ; make test-bt-debug)
 
347
 
 
348
##############################################################################
 
349
#
 
350
#  Build the release binary
 
351
#
 
352
##############################################################################
 
353
 
 
354
(cd mysql-release-%{mysql_version} &&
 
355
CFLAGS="${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS} -g" \
 
356
CXXFLAGS="${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti} -g" \
 
357
BuildMySQL "--enable-shared \
 
358
                --with-innodb \
 
359
                --with-ndbcluster \
 
360
                --with-archive-storage-engine \
 
361
                --with-csv-storage-engine \
 
362
                --with-example-storage-engine \
 
363
                --with-blackhole-storage-engine \
 
364
                --with-federated-storage-engine \
 
365
%ifarch i386 x86_64
 
366
                --with-falcon \
 
367
%else
 
368
                --without-falcon \
 
369
%endif
 
370
                --with-partition \
 
371
                --with-embedded-server \
 
372
                --with-big-tables \
 
373
                --with-comment=\"MySQL Community Server (GPL)\"")
 
374
# We might want to save the config log file
 
375
if test -n "$MYSQL_CONFLOG_DEST"
 
376
then
 
377
  cp -fp  mysql-release-%{mysql_version}/config.log "$MYSQL_CONFLOG_DEST"
 
378
fi
 
379
 
 
380
(cd mysql-release-%{mysql_version} ; make test-bt)
 
381
 
 
382
##############################################################################
 
383
 
 
384
# Include libgcc.a in the devel subpackage (BUG 4921)
 
385
if expr "$CC" : ".*gcc.*" > /dev/null ;
 
386
then
 
387
  libgcc=`$CC $CFLAGS --print-libgcc-file`
 
388
  if [ -f $libgcc ]
 
389
  then
 
390
    %define have_libgcc 1
 
391
    install -m 644 $libgcc $RBR%{_libdir}/mysql/libmygcc.a
 
392
  fi
 
393
fi
 
394
 
 
395
##############################################################################
 
396
 
 
397
%install
 
398
RBR=$RPM_BUILD_ROOT
 
399
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-release-%{mysql_version}
 
400
 
 
401
# Ensure that needed directories exists
 
402
install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
 
403
install -d $RBR%{mysqldatadir}/mysql
 
404
install -d $RBR%{_datadir}/mysql-test
 
405
install -d $RBR%{_includedir}
 
406
install -d $RBR%{_libdir}
 
407
install -d $RBR%{_mandir}
 
408
install -d $RBR%{_sbindir}
 
409
 
 
410
 
 
411
# Install all binaries 
 
412
(cd $MBD && make install DESTDIR=$RBR benchdir_root=%{_datadir})
 
413
# Old packages put shared libs in %{_libdir}/ (not %{_libdir}/mysql), so do
 
414
# the same here.
 
415
mv $RBR/%{_libdir}/mysql/*.so* $RBR/%{_libdir}/
 
416
 
 
417
# install "mysqld-debug"
 
418
$MBD/libtool --mode=execute install -m 755 \
 
419
                 $RPM_BUILD_DIR/mysql-%{mysql_version}/mysql-debug-%{mysql_version}/sql/mysqld \
 
420
                 $RBR%{_sbindir}/mysqld-debug
 
421
 
 
422
# install saved perror binary with NDB support (BUG#13740)
 
423
install -m 755 $MBD/extra/perror $RBR%{_bindir}/perror
 
424
 
 
425
# Install logrotate and autostart
 
426
install -m 644 $MBD/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
 
427
install -m 755 $MBD/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql
 
428
 
 
429
# Install embedded server library in the build root
 
430
install -m 644 $MBD/libmysqld/libmysqld.a $RBR%{_libdir}/mysql/
 
431
 
 
432
# Create a symlink "rcmysql", pointing to the init.script. SuSE users
 
433
# will appreciate that, as all services usually offer this.
 
434
ln -s %{_sysconfdir}/init.d/mysql $RPM_BUILD_ROOT%{_sbindir}/rcmysql
 
435
 
 
436
# Touch the place where the my.cnf config file might be located.
 
437
# Just to make sure it's in the file list and marked as a config file.
 
438
touch $RBR%{_sysconfdir}/my.cnf
 
439
 
 
440
%pre server
 
441
# Check if we can safely upgrade.  An upgrade is only safe if it's from one
 
442
# of our RPMs in the same version family.
 
443
 
 
444
installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
 
445
if [ $? -eq 0 -a -n "$installed" ]; then
 
446
  vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
 
447
  version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
 
448
  myvendor='%{mysql_vendor}'
 
449
  myversion='%{mysql_version}'
 
450
 
 
451
  old_family=`echo $version   | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
 
452
  new_family=`echo $myversion | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
 
453
 
 
454
  [ -z "$vendor" ] && vendor='<unknown>'
 
455
  [ -z "$old_family" ] && old_family="<unrecognized version $version>"
 
456
  [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
 
457
 
 
458
  error_text=
 
459
  if [ "$vendor" != "$myvendor" ]; then
 
460
    error_text="$error_text
 
461
The current MySQL server package is provided by a different
 
462
vendor ($vendor) than $myvendor.  Some files may be installed
 
463
to different locations, including log files and the service
 
464
startup script in %{_sysconfdir}/init.d/.
 
465
"
 
466
  fi
 
467
 
 
468
  if [ "$old_family" != "$new_family" ]; then
 
469
    error_text="$error_text
 
470
Upgrading directly from MySQL $old_family to MySQL $new_family may not
 
471
be safe in all cases.  A manual dump and restore using mysqldump is
 
472
recommended.  It is important to review the MySQL manual's Upgrading
 
473
section for version-specific incompatibilities.
 
474
"
 
475
  fi
 
476
 
 
477
  if [ -n "$error_text" ]; then
 
478
    cat <<HERE >&2
 
479
 
 
480
******************************************************************
 
481
A MySQL server package ($installed) is installed.
 
482
$error_text
 
483
A manual upgrade is required.
 
484
 
 
485
- Ensure that you have a complete, working backup of your data and my.cnf
 
486
  files
 
487
- Shut down the MySQL server cleanly
 
488
- Remove the existing MySQL packages.  Usually this command will
 
489
  list the packages you should remove:
 
490
  rpm -qa | grep -i '^mysql-'
 
491
 
 
492
  You may choose to use 'rpm --nodeps -ev <package-name>' to remove
 
493
  the package which contains the mysqlclient shared library.  The
 
494
  library will be reinstalled by the MySQL-shared-compat package.
 
495
- Install the new MySQL packages supplied by $myvendor
 
496
- Ensure that the MySQL server is started
 
497
- Run the 'mysql_upgrade' program
 
498
 
 
499
This is a brief description of the upgrade process.  Important details
 
500
can be found in the MySQL manual, in the Upgrading section.
 
501
******************************************************************
 
502
HERE
 
503
    exit 1
 
504
  fi
 
505
fi
 
506
 
 
507
# Shut down a previously installed server first
 
508
if test -x %{_sysconfdir}/init.d/mysql
 
509
then
 
510
  %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
 
511
  echo "Giving mysqld a couple of seconds to exit nicely"
 
512
  sleep 5
 
513
elif test -x %{_sysconfdir}/rc.d/init.d/mysql
 
514
then
 
515
  %{_sysconfdir}/rc.d/init.d/mysql stop > /dev/null 2>&1
 
516
  echo "Giving mysqld a couple of seconds to exit nicely"
 
517
  sleep 5
 
518
fi
 
519
 
 
520
%post server
 
521
mysql_datadir=%{mysqldatadir}
 
522
 
 
523
# Create data directory if needed
 
524
if test ! -d $mysql_datadir; then mkdir -m 755 $mysql_datadir; fi
 
525
if test ! -d $mysql_datadir/mysql; then mkdir $mysql_datadir/mysql; fi
 
526
if test ! -d $mysql_datadir/test; then mkdir $mysql_datadir/test; fi
 
527
 
 
528
# Make MySQL start/shutdown automatically when the machine does it.
 
529
# use insserv for older SuSE Linux versions
 
530
if test -x /sbin/insserv
 
531
then
 
532
        /sbin/insserv %{_sysconfdir}/init.d/mysql
 
533
# use chkconfig on Red Hat and newer SuSE releases
 
534
elif test -x /sbin/chkconfig
 
535
then
 
536
        /sbin/chkconfig --add mysql
 
537
fi
 
538
 
 
539
# Create a MySQL user and group. Do not report any problems if it already
 
540
# exists.
 
541
groupadd -r %{mysqld_group} 2> /dev/null || true
 
542
useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true 
 
543
# The user may already exist, make sure it has the proper group nevertheless (BUG#12823)
 
544
usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
 
545
 
 
546
# Change permissions so that the user that will run the MySQL daemon
 
547
# owns all database files.
 
548
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
 
549
 
 
550
# Initiate databases if needed
 
551
%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
 
552
 
 
553
# Upgrade databases if needed would go here - but it cannot be automated yet
 
554
 
 
555
# Change permissions again to fix any new files.
 
556
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
 
557
 
 
558
# Fix permissions for the permission database so that only the user
 
559
# can read them.
 
560
chmod -R og-rw $mysql_datadir/mysql
 
561
 
 
562
# Restart in the same way that mysqld will be started normally.
 
563
%{_sysconfdir}/init.d/mysql start
 
564
 
 
565
# Allow mysqld_safe to start mysqld and print a message before we exit
 
566
sleep 2
 
567
 
 
568
#echo "Thank you for installing the MySQL Community Server! For Production
 
569
#systems, we recommend MySQL Enterprise, which contains enterprise-ready
 
570
#software, intelligent advisory services, and full production support with
 
571
#scheduled service packs and more.  Visit www.mysql.com/enterprise for more
 
572
#information." 
 
573
 
 
574
%post ndb-storage
 
575
mysql_clusterdir=/var/lib/mysql-cluster
 
576
 
 
577
# Create cluster directory if needed
 
578
if test ! -d $mysql_clusterdir; then mkdir -m 755 $mysql_clusterdir; fi
 
579
 
 
580
 
 
581
%preun server
 
582
if test $1 = 0
 
583
then
 
584
  # Stop MySQL before uninstalling it
 
585
  if test -x %{_sysconfdir}/init.d/mysql
 
586
  then
 
587
    %{_sysconfdir}/init.d/mysql stop > /dev/null
 
588
 
 
589
    # Remove autostart of mysql
 
590
    # for older SuSE Linux versions
 
591
    if test -x /sbin/insserv
 
592
    then
 
593
      /sbin/insserv -r %{_sysconfdir}/init.d/mysql
 
594
    # use chkconfig on Red Hat and newer SuSE releases
 
595
    elif test -x /sbin/chkconfig
 
596
    then
 
597
      /sbin/chkconfig --del mysql
 
598
    fi
 
599
  fi
 
600
fi
 
601
 
 
602
# We do not remove the mysql user since it may still own a lot of
 
603
# database files.
 
604
 
 
605
# Clean up the BuildRoot
 
606
%clean
 
607
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
 
608
 
 
609
%files server
 
610
%defattr(-,root,root,0755)
 
611
 
 
612
%doc mysql-release-%{mysql_version}/COPYING mysql-release-%{mysql_version}/README 
 
613
%doc mysql-release-%{mysql_version}/support-files/my-*.cnf
 
614
%doc mysql-release-%{mysql_version}/support-files/ndb-*.ini
 
615
 
 
616
%doc %attr(644, root, root) %{_infodir}/mysql.info*
 
617
 
 
618
%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
 
619
%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
 
620
%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
 
621
%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
 
622
%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1*
 
623
%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8*
 
624
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
 
625
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
 
626
%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_privilege_tables.1*
 
627
%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
 
628
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
 
629
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
 
630
%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
 
631
%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
 
632
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1*
 
633
%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1*
 
634
%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
 
635
%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
 
636
%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
 
637
 
 
638
%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
 
639
 
 
640
%attr(755, root, root) %{_bindir}/my_print_defaults
 
641
%attr(755, root, root) %{_bindir}/myisam_ftdump
 
642
%attr(755, root, root) %{_bindir}/myisamchk
 
643
%attr(755, root, root) %{_bindir}/myisamlog
 
644
%attr(755, root, root) %{_bindir}/myisampack
 
645
%attr(755, root, root) %{_bindir}/mysql_convert_table_format
 
646
%attr(755, root, root) %{_bindir}/mysql_fix_extensions
 
647
%attr(755, root, root) %{_bindir}/mysql_fix_privilege_tables
 
648
%attr(755, root, root) %{_bindir}/mysql_install_db
 
649
%attr(755, root, root) %{_bindir}/mysql_secure_installation
 
650
%attr(755, root, root) %{_bindir}/mysql_setpermission
 
651
%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql
 
652
%attr(755, root, root) %{_bindir}/mysql_upgrade
 
653
%attr(755, root, root) %{_bindir}/mysql_zap
 
654
%attr(755, root, root) %{_bindir}/mysqlbug
 
655
%attr(755, root, root) %{_bindir}/mysqld_multi
 
656
%attr(755, root, root) %{_bindir}/mysqld_safe
 
657
%attr(755, root, root) %{_bindir}/mysqldumpslow
 
658
%attr(755, root, root) %{_bindir}/mysqlhotcopy
 
659
%attr(755, root, root) %{_bindir}/mysqltest
 
660
%attr(755, root, root) %{_bindir}/perror
 
661
%attr(755, root, root) %{_bindir}/replace
 
662
%attr(755, root, root) %{_bindir}/resolve_stack_dump
 
663
%attr(755, root, root) %{_bindir}/resolveip
 
664
 
 
665
%attr(755, root, root) %{_sbindir}/mysqld
 
666
%attr(755, root, root) %{_sbindir}/mysqld-debug
 
667
%attr(755, root, root) %{_sbindir}/rcmysql
 
668
 
 
669
%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
 
670
%attr(755, root, root) %{_sysconfdir}/init.d/mysql
 
671
 
 
672
%attr(755, root, root) %{_datadir}/mysql/
 
673
 
 
674
%files client
 
675
%defattr(-, root, root, 0755)
 
676
%attr(755, root, root) %{_bindir}/msql2mysql
 
677
%attr(755, root, root) %{_bindir}/mysql
 
678
%attr(755, root, root) %{_bindir}/mysql_find_rows
 
679
%attr(755, root, root) %{_bindir}/mysql_waitpid
 
680
%attr(755, root, root) %{_bindir}/mysqlaccess
 
681
%attr(755, root, root) %{_bindir}/mysqladmin
 
682
%attr(755, root, root) %{_bindir}/mysqlbinlog
 
683
%attr(755, root, root) %{_bindir}/mysqlcheck
 
684
%attr(755, root, root) %{_bindir}/mysqldump
 
685
%attr(755, root, root) %{_bindir}/mysqlimport
 
686
%attr(755, root, root) %{_bindir}/mysqlshow
 
687
%attr(755, root, root) %{_bindir}/mysqlslap
 
688
 
 
689
%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1*
 
690
%doc %attr(644, root, man) %{_mandir}/man1/mysql.1*
 
691
%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1*
 
692
%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1*
 
693
%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1*
 
694
%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1*
 
695
%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
 
696
%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1*
 
697
%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
 
698
%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
 
699
 
 
700
%post shared
 
701
/sbin/ldconfig
 
702
 
 
703
%postun shared
 
704
/sbin/ldconfig
 
705
 
 
706
%files ndb-storage
 
707
%defattr(-,root,root,0755)
 
708
%attr(755, root, root) %{_sbindir}/ndbd
 
709
%doc %attr(644, root, man) %{_mandir}/man8/ndbd.8*
 
710
 
 
711
%files ndb-management
 
712
%defattr(-,root,root,0755)
 
713
%attr(755, root, root) %{_sbindir}/ndb_mgmd
 
714
%doc %attr(644, root, man) %{_mandir}/man8/ndb_mgmd.8*
 
715
 
 
716
%files ndb-tools
 
717
%defattr(-,root,root,0755)
 
718
%attr(755, root, root) %{_bindir}/ndb_config
 
719
%attr(755, root, root) %{_bindir}/ndb_desc
 
720
%attr(755, root, root) %{_bindir}/ndb_error_reporter
 
721
%attr(755, root, root) %{_bindir}/ndb_mgm
 
722
%attr(755, root, root) %{_bindir}/ndb_print_backup_file
 
723
%attr(755, root, root) %{_bindir}/ndb_print_schema_file
 
724
%attr(755, root, root) %{_bindir}/ndb_print_sys_file
 
725
%attr(755, root, root) %{_bindir}/ndb_restore
 
726
%attr(755, root, root) %{_bindir}/ndb_select_all
 
727
%attr(755, root, root) %{_bindir}/ndb_select_count
 
728
%attr(755, root, root) %{_bindir}/ndb_show_tables
 
729
%attr(755, root, root) %{_bindir}/ndb_size.pl
 
730
%attr(755, root, root) %{_bindir}/ndb_test_platform
 
731
%attr(755, root, root) %{_bindir}/ndb_waiter
 
732
%doc %attr(644, root, man) %{_mandir}/man1/ndb_config.1*
 
733
%doc %attr(644, root, man) %{_mandir}/man1/ndb_desc.1*
 
734
%doc %attr(644, root, man) %{_mandir}/man1/ndb_error_reporter.1*
 
735
%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_backup_file.1*
 
736
%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_schema_file.1*
 
737
%doc %attr(644, root, man) %{_mandir}/man1/ndb_print_sys_file.1*
 
738
%doc %attr(644, root, man) %{_mandir}/man1/ndb_select_all.1*
 
739
%doc %attr(644, root, man) %{_mandir}/man1/ndb_select_count.1*
 
740
%doc %attr(644, root, man) %{_mandir}/man1/ndb_show_tables.1*
 
741
%doc %attr(644, root, man) %{_mandir}/man1/ndb_size.pl.1*
 
742
%doc %attr(644, root, man) %{_mandir}/man1/ndb_waiter.1*
 
743
 
 
744
%files ndb-extra
 
745
%defattr(-,root,root,0755)
 
746
%attr(755, root, root) %{_sbindir}/ndb_cpcd
 
747
%attr(755, root, root) %{_bindir}/ndb_delete_all
 
748
%attr(755, root, root) %{_bindir}/ndb_drop_index
 
749
%attr(755, root, root) %{_bindir}/ndb_drop_table
 
750
%doc %attr(644, root, man) %{_mandir}/man1/ndb_delete_all.1*
 
751
%doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_index.1*
 
752
%doc %attr(644, root, man) %{_mandir}/man1/ndb_drop_table.1*
 
753
 
 
754
%files devel
 
755
%defattr(-, root, root, 0755)
 
756
%doc mysql-release-%{mysql_version}/EXCEPTIONS-CLIENT
 
757
%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
 
758
%attr(755, root, root) %{_bindir}/mysql_config
 
759
%dir %attr(755, root, root) %{_includedir}/mysql
 
760
%dir %attr(755, root, root) %{_libdir}/mysql
 
761
%{_includedir}/mysql/*
 
762
%{_libdir}/mysql/libdbug.a
 
763
%{_libdir}/mysql/libheap.a
 
764
%if %{have_libgcc}
 
765
%{_libdir}/mysql/libmygcc.a
 
766
%endif
 
767
%{_libdir}/mysql/libmyisam.a
 
768
%{_libdir}/mysql/libmyisammrg.a
 
769
%{_libdir}/mysql/libmysqlclient.a
 
770
%{_libdir}/mysql/libmysqlclient.la
 
771
%{_libdir}/mysql/libmysqlclient_r.a
 
772
%{_libdir}/mysql/libmysqlclient_r.la
 
773
%{_libdir}/mysql/libmystrings.a
 
774
%{_libdir}/mysql/libmysys.a
 
775
%{_libdir}/mysql/libndbclient.a
 
776
%{_libdir}/mysql/libndbclient.la
 
777
%{_libdir}/mysql/libvio.a
 
778
%{_libdir}/mysql/libz.a
 
779
%{_libdir}/mysql/libz.la
 
780
 
 
781
%files shared
 
782
%defattr(-, root, root, 0755)
 
783
# Shared libraries (omit for architectures that don't support them)
 
784
%{_libdir}/libmysql*.so*
 
785
%{_libdir}/libndb*.so*
 
786
 
 
787
%files test
 
788
%defattr(-, root, root, 0755)
 
789
%attr(-, root, root) %{_datadir}/mysql-test
 
790
%attr(755, root, root) %{_bindir}/mysql_client_test
 
791
%attr(755, root, root) %{_bindir}/mysql_client_test_embedded
 
792
%attr(755, root, root) %{_bindir}/mysqltest_embedded
 
793
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1*
 
794
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1*
 
795
%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1*
 
796
%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1*
 
797
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
 
798
 
 
799
%files embedded
 
800
%defattr(-, root, root, 0755) 
 
801
%attr(644, root, root) %{_libdir}/mysql/libmysqld.a
 
802
 
 
803
# The spec file changelog only includes changes made to the spec file
 
804
# itself - note that they must be ordered by date (important when
 
805
# merging BK trees)
 
806
%changelog
 
807
* Wed Mar 19 2008 Joerg Bruehe <joerg@mysql.com>
 
808
 
 
809
- Add the man pages for "ndbd" and "ndb_mgmd".
 
810
 
 
811
* Mon Feb 18 2008 Timothy Smith <tim@mysql.com>
 
812
 
 
813
- Require a manual upgrade if the alread-installed mysql-server is
 
814
  from another vendor, or is of a different major version.
 
815
 
 
816
* Fri Dec 21 2007 Joerg Bruehe <joerg@mysql.com>
 
817
 
 
818
- "mysqlmanager" got removed from version 6.0, all references deleted.
 
819
 
 
820
* Thu Dec 06 2007 Jonathan Perkin <jperkin@mysql.com>
 
821
 
 
822
- Enabled the "Falcon" storage engine on i386/x86_64.
 
823
 
 
824
* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com>
 
825
 
 
826
- "ndb_size.tmpl" is not needed any more, 
 
827
  "man1/mysql_install_db.1" lacked the trailing '*'.
 
828
 
 
829
* Sat Apr 07 2007 Kent Boortz <kent@mysql.com>
 
830
 
 
831
- Removed man page for "mysql_create_system_tables"
 
832
 
 
833
* Wed Mar 21 2007 Daniel Fischer <df@mysql.com>
 
834
 
 
835
- Add debug server.
 
836
 
 
837
* Mon Mar 19 2007 Daniel Fischer <df@mysql.com>
 
838
 
 
839
- Remove Max RPMs; the server RPMs contain a mysqld compiled with all
 
840
  features that previously only were built into Max.
 
841
 
 
842
* Fri Mar 02 2007 Joerg Bruehe <joerg@mysql.com>
 
843
 
 
844
- Add several man pages for NDB which are now created.
 
845
 
 
846
* Fri Jan 05 2007 Kent Boortz <kent@mysql.com>
 
847
 
 
848
- Put back "libmygcc.a", found no real reason it was removed.
 
849
 
 
850
- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
 
851
  correct "libgcc.a" path is returned for the 32/64 bit architecture.
 
852
 
 
853
* Mon Dec 18 2006 Joerg Bruehe <joerg@mysql.com>
 
854
 
 
855
- Fix the move of "mysqlmanager" to section 8: Directory name was wrong.
 
856
 
 
857
* Thu Dec 14 2006 Joerg Bruehe <joerg@mysql.com>
 
858
 
 
859
- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql"
 
860
  in the server RPM.
 
861
- The "mysqlmanager" man page got moved from section 1 to 8.
 
862
 
 
863
* Thu Nov 30 2006 Joerg Bruehe <joerg@mysql.com>
 
864
 
 
865
- Call "make install" using "benchdir_root=%{_datadir}", 
 
866
  because that is affecting the regression test suite as well.
 
867
 
 
868
* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
 
869
 
 
870
- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB) 
 
871
  replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
 
872
  (bug#22081).
 
873
 
 
874
* Mon Nov 13 2006 Joerg Bruehe <joerg@mysql.com>
 
875
 
 
876
- Add "--with-partition" to all server builds.
 
877
 
 
878
- Use "--report-features" in one test run per server build.
 
879
 
 
880
* Tue Aug 15 2006 Joerg Bruehe <joerg@mysql.com>
 
881
 
 
882
- The "max" server is removed from packages, effective from 5.1.12-beta.
 
883
  Delete all steps to build, package, or install it.
 
884
 
 
885
* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>
 
886
 
 
887
- Fix a typing error in the "make" target for the Perl script to run the tests.
 
888
 
 
889
* Tue Jul 04 2006 Joerg Bruehe <joerg@mysql.com>
 
890
 
 
891
- Use the Perl script to run the tests, because it will automatically check
 
892
  whether the server is configured with SSL.
 
893
 
 
894
* Tue Jun 27 2006 Joerg Bruehe <joerg@mysql.com>
 
895
 
 
896
- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216)
 
897
 
 
898
- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade,
 
899
  there are some more aspects which need to be solved before this is possible.
 
900
  For now, just ensure the binary "mysql_upgrade" is delivered and installed.
 
901
 
 
902
* Thu Jun 22 2006 Joerg Bruehe <joerg@mysql.com>
 
903
 
 
904
- Close a gap of the previous version by explicitly using
 
905
  a newly created temporary directory for the socket to be used
 
906
  in the "mysql_upgrade" operation, overriding any local setting.
 
907
 
 
908
* Tue Jun 20 2006 Joerg Bruehe <joerg@mysql.com>
 
909
 
 
910
- To run "mysql_upgrade", we need a running server;
 
911
  start it in isolation and skip password checks.
 
912
 
 
913
* Sat May 20 2006 Kent Boortz <kent@mysql.com>
 
914
 
 
915
- Always compile for PIC, position independent code.
 
916
 
 
917
* Wed May 10 2006 Kent Boortz <kent@mysql.com>
 
918
 
 
919
- Use character set "all" when compiling with Cluster, to make Cluster
 
920
  nodes independent on the character set directory, and the problem
 
921
  that two RPM sub packages both wants to install this directory.
 
922
 
 
923
* Mon May 01 2006 Kent Boortz <kent@mysql.com>
 
924
 
 
925
- Use "./libtool --mode=execute" instead of searching for the
 
926
  executable in current directory and ".libs".
 
927
 
 
928
* Fri Apr 28 2006 Kent Boortz <kent@mysql.com>
 
929
 
 
930
- Install and run "mysql_upgrade"
 
931
 
 
932
* Wed Apr 12 2006 Jim Winstead <jimw@mysql.com>
 
933
 
 
934
- Remove sql-bench, and MySQL-bench RPM (will be built as an independent
 
935
  project from the mysql-bench repository)
 
936
 
 
937
* Tue Apr 11 2006 Jim Winstead <jimw@mysql.com>
 
938
 
 
939
- Remove old mysqltestmanager and related programs
 
940
* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>
 
941
 
 
942
- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS
 
943
 
 
944
* Wed Mar 07 2006 Kent Boortz <kent@mysql.com>
 
945
 
 
946
- Changed product name from "Community Edition" to "Community Server"
 
947
 
 
948
* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>
 
949
 
 
950
- Fast mutexes is now disabled by default, but should be
 
951
  used in Linux builds.
 
952
 
 
953
* Mon Feb 20 2006 Kent Boortz <kent@mysql.com>
 
954
 
 
955
- Reintroduced a max build
 
956
- Limited testing of 'debug' and 'max' servers
 
957
- Berkeley DB only in 'max'
 
958
 
 
959
* Mon Feb 13 2006 Joerg Bruehe <joerg@mysql.com>
 
960
 
 
961
- Use "-i" on "make test-force";
 
962
  this is essential for later evaluation of this log file.
 
963
 
 
964
* Thu Feb 09 2006 Kent Boortz <kent@mysql.com>
 
965
 
 
966
- Pass '-static' to libtool, link static with our own libraries, dynamic
 
967
  with system libraries.  Link with the bundled zlib.
 
968
 
 
969
* Wed Feb 08 2006 Kristian Nielsen <knielsen@mysql.com>
 
970
 
 
971
- Modified RPM spec to match new 5.1 debug+max combined community packaging.
 
972
 
 
973
* Sun Dec 18 2005 Kent Boortz <kent@mysql.com>
 
974
 
 
975
- Added "client/mysqlslap"
 
976
 
 
977
* Mon Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
 
978
 
 
979
- Added zlib to the list of (static) libraries installed
 
980
- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
 
981
- Compile MySQL with bundled zlib
 
982
- Fixed %packager name to "MySQL Production Engineering Team"
 
983
 
 
984
* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>
 
985
 
 
986
- Avoid using the "bundled" zlib on "shared" builds: 
 
987
  As it is not installed (on the build system), this gives dependency 
 
988
  problems with "libtool" causing the build to fail.
 
989
  (Change was done on Nov 11, but left uncommented.)
 
990
 
 
991
* Tue Nov 22 2005 Joerg Bruehe <joerg@mysql.com>
 
992
 
 
993
- Extend the file existence check for "init.d/mysql" on un-install
 
994
  to also guard the call to "insserv"/"chkconfig".
 
995
 
 
996
* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>
 
997
 
 
998
- added more man pages
 
999
 
 
1000
* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
 
1001
 
 
1002
- Made yaSSL support an option (off by default)
 
1003
 
 
1004
* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
 
1005
 
 
1006
- Enabled yaSSL support
 
1007
 
 
1008
* Sat Oct 15 2005 Kent Boortz <kent@mysql.com>
 
1009
 
 
1010
- Give mode arguments the same way in all places
 
1011
- Moved copy of mysqld.a to "standard" build, but
 
1012
  disabled it as we don't do embedded yet in 5.0
 
1013
 
 
1014
* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
 
1015
 
 
1016
- For 5.x, always compile with --with-big-tables
 
1017
- Copy the config.log file to location outside
 
1018
  the build tree
 
1019
 
 
1020
* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
 
1021
 
 
1022
- Removed unneeded/obsolete configure options
 
1023
- Added archive engine to standard server
 
1024
- Removed the embedded server from experimental server
 
1025
- Changed suffix "-Max" => "-max"
 
1026
- Changed comment string "Max" => "Experimental"
 
1027
 
 
1028
* Thu Oct 13 2005 Lenz Grimmer <lenz@mysql.com>
 
1029
 
 
1030
- added a usermod call to assign a potential existing mysql user to the
 
1031
  correct user group (BUG#12823)
 
1032
- Save the perror binary built during Max build so it supports the NDB
 
1033
  error codes (BUG#13740)
 
1034
- added a separate macro "mysqld_group" to be able to define the
 
1035
  user group of the mysql user seperately, if desired.
 
1036
 
 
1037
* Thu Sep 29 2005 Lenz Grimmer <lenz@mysql.com>
 
1038
 
 
1039
- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
 
1040
  $RBR variable did not get expanded, thus leaving old build roots behind)
 
1041
 
 
1042
* Thu Aug 04 2005 Lenz Grimmer <lenz@mysql.com>
 
1043
 
 
1044
- Fixed the creation of the mysql user group account in the postinstall
 
1045
  section (BUG 12348)
 
1046
- Fixed enabling the Archive storage engine in the Max binary
 
1047
 
 
1048
* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>
 
1049
 
 
1050
- Fixed the Requires: tag for the server RPM (BUG 12233)
 
1051
 
 
1052
* Fri Jul 15 2005 Lenz Grimmer <lenz@mysql.com>
 
1053
 
 
1054
- create a "mysql" user group and assign the mysql user account to that group
 
1055
  in the server postinstall section. (BUG 10984)
 
1056
 
 
1057
* Tue Jun 14 2005 Lenz Grimmer <lenz@mysql.com>
 
1058
 
 
1059
- Do not build statically on i386 by default, only when adding either "--with
 
1060
  static" or "--define '_with_static 1'" to the RPM build options. Static
 
1061
  linking really only makes sense when linking against the specially patched
 
1062
  glibc 2.2.5.
 
1063
 
 
1064
* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>
 
1065
 
 
1066
- added mysql_client_test to the "bench" subpackage (BUG 10676)
 
1067
- added the libndbclient static and shared libraries (BUG 10676)
 
1068
 
 
1069
* Wed Jun 01 2005 Lenz Grimmer <lenz@mysql.com>
 
1070
 
 
1071
- use "mysqldatadir" variable instead of hard-coding the path multiple times
 
1072
- use the "mysqld_user" variable on all occasions a user name is referenced
 
1073
- removed (incomplete) Brazilian translations
 
1074
- removed redundant release tags from the subpackage descriptions
 
1075
 
 
1076
* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>
 
1077
 
 
1078
- Added a "make clean" between separate calls to "BuildMySQL".
 
1079
 
 
1080
* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com>
 
1081
 
 
1082
- Removed the mysql_tableinfo script made obsolete by the information schema
 
1083
 
 
1084
* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>
 
1085
 
 
1086
- Enabled the "blackhole" storage engine for the Max RPM
 
1087
 
 
1088
* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
 
1089
 
 
1090
- removed the MySQL manual files (html/ps/texi) - they have been removed
 
1091
  from the MySQL sources and are now available seperately.
 
1092
 
 
1093
* Mon Apr 4 2005 Petr Chardin <petr@mysql.com>
 
1094
 
 
1095
- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into
 
1096
  mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively
 
1097
 
 
1098
* Fri Mar 18 2005 Lenz Grimmer <lenz@mysql.com>
 
1099
 
 
1100
- Disabled RAID in the Max binaries once and for all (it has finally been
 
1101
  removed from the source tree)
 
1102
 
 
1103
* Sun Feb 20 2005 Petr Chardin <petr@mysql.com>
 
1104
 
 
1105
- Install MySQL Instance Manager together with mysqld, touch mysqlmanager
 
1106
  password file
 
1107
 
 
1108
* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
 
1109
 
 
1110
- Fixed the compilation comments and moved them into the separate build sections
 
1111
  for Max and Standard
 
1112
 
 
1113
* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
 
1114
 
 
1115
- enabled the "Ndbcluster" storage engine for the max binary
 
1116
- added extra make install in ndb subdir after Max build to get ndb binaries
 
1117
- added packages for ndbcluster storage engine
 
1118
 
 
1119
* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>
 
1120
 
 
1121
- replaced obsoleted "BuildPrereq" with "BuildRequires" instead
 
1122
 
 
1123
* Thu Jan 13 2005 Lenz Grimmer <lenz@mysql.com>
 
1124
 
 
1125
- enabled the "Federated" storage engine for the max binary
 
1126
 
 
1127
* Tue Jan 04 2005 Petr Chardin <petr@mysql.com>
 
1128
 
 
1129
- ISAM and merge storage engines were purged. As well as appropriate
 
1130
  tools and manpages (isamchk and isamlog)
 
1131
 
 
1132
* Thu Dec 31 2004 Lenz Grimmer <lenz@mysql.com>
 
1133
 
 
1134
- enabled the "Archive" storage engine for the max binary
 
1135
- enabled the "CSV" storage engine for the max binary
 
1136
- enabled the "Example" storage engine for the max binary
 
1137
 
 
1138
* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>
 
1139
 
 
1140
- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860)
 
1141
 
 
1142
* Fri Aug 20 2004 Lenz Grimmer <lenz@mysql.com>
 
1143
 
 
1144
- do not link statically on IA64/AMD64 as these systems do not have
 
1145
  a patched glibc installed
 
1146
 
 
1147
* Tue Aug 10 2004 Lenz Grimmer <lenz@mysql.com>
 
1148
 
 
1149
- Added libmygcc.a to the devel subpackage (required to link applications
 
1150
  against the the embedded server libmysqld.a) (BUG 4921)
 
1151
 
 
1152
* Mon Aug 09 2004 Lenz Grimmer <lenz@mysql.com>
 
1153
 
 
1154
- Added EXCEPTIONS-CLIENT to the "devel" package
 
1155
 
 
1156
* Thu Jul 29 2004 Lenz Grimmer <lenz@mysql.com>
 
1157
 
 
1158
- disabled OpenSSL in the Max binaries again (the RPM packages were the
 
1159
  only exception to this anyway) (BUG 1043)
 
1160
 
 
1161
* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>
 
1162
 
 
1163
- fixed server postinstall (mysql_install_db was called with the wrong
 
1164
  parameter)
 
1165
 
 
1166
* Thu Jun 24 2004 Lenz Grimmer <lenz@mysql.com>
 
1167
 
 
1168
- added mysql_tzinfo_to_sql to the server subpackage
 
1169
- run "make clean" instead of "make distclean"
 
1170
 
 
1171
* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>
 
1172
 
 
1173
- added ncurses-devel to the build prerequisites (BUG 3377)
 
1174
 
 
1175
* Thu Feb 12 2004 Lenz Grimmer <lenz@mysql.com>
 
1176
 
 
1177
- when using gcc, _always_ use CXX=gcc 
 
1178
- replaced Copyright with License field (Copyright is obsolete)
 
1179
 
 
1180
* Tue Feb 03 2004 Lenz Grimmer <lenz@mysql.com>
 
1181
 
 
1182
- added myisam_ftdump to the Server package
 
1183
 
 
1184
* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>
 
1185
 
 
1186
- link the mysql client against libreadline instead of libedit (BUG 2289)
 
1187
 
 
1188
* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>
 
1189
 
 
1190
- marked /etc/logrotate.d/mysql as a config file (BUG 2156)
 
1191
 
 
1192
* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>
 
1193
 
 
1194
- fixed file permissions (BUG 1672)
 
1195
 
 
1196
* Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>
 
1197
 
 
1198
- made testing for gcc3 a bit more robust
 
1199
 
 
1200
* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>
 
1201
 
 
1202
- added missing file mysql_create_system_tables to the server subpackage
 
1203
 
 
1204
* Fri Nov 21 2003 Lenz Grimmer <lenz@mysql.com>
 
1205
 
 
1206
- removed dependency on MySQL-client from the MySQL-devel subpackage
 
1207
  as it is not really required. (BUG 1610)
 
1208
 
 
1209
* Fri Aug 29 2003 Lenz Grimmer <lenz@mysql.com>
 
1210
 
 
1211
- Fixed BUG 1162 (removed macro names from the changelog)
 
1212
- Really fixed BUG 998 (disable the checking for installed but
 
1213
  unpackaged files)
 
1214
 
 
1215
* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>
 
1216
 
 
1217
- Fixed BUG 959 (libmysqld not being compiled properly)
 
1218
- Fixed BUG 998 (RPM build errors): added missing files to the
 
1219
  distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
 
1220
  mysql_fix_privilege_tables.1), removed "-n" from install section.
 
1221
 
 
1222
* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>
 
1223
 
 
1224
- removed the GIF Icon (file was not included in the sources anyway)
 
1225
- removed unused variable shared_lib_version
 
1226
- do not run automake before building the standard binary
 
1227
  (should not be necessary)
 
1228
- add server suffix '-standard' to standard binary (to be in line
 
1229
  with the binary tarball distributions)
 
1230
- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
 
1231
  _datadir, _includedir) throughout the spec file.
 
1232
- allow overriding CC and CXX (required when building with other compilers)
 
1233
 
 
1234
* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>
 
1235
 
 
1236
- re-enabled RAID again
 
1237
 
 
1238
* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>
 
1239
 
 
1240
- disabled MyISAM RAID (--with-raid) - it throws an assertion which
 
1241
  needs to be investigated first.
 
1242
 
 
1243
* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>
 
1244
 
 
1245
- added missing file mysql_secure_installation to server subpackage
 
1246
  (BUG 141)
 
1247
 
 
1248
* Tue Feb 11 2003 Lenz Grimmer <lenz@mysql.com>
 
1249
 
 
1250
- re-added missing pre- and post(un)install scripts to server subpackage
 
1251
- added config file /etc/my.cnf to the file list (just for completeness)
 
1252
- make sure to create the datadir with 755 permissions
 
1253
 
 
1254
* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>
 
1255
 
 
1256
- removed unused CC and CXX variables
 
1257
- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS
 
1258
 
 
1259
* Fri Jan 24 2003 Lenz Grimmer <lenz@mysql.com>
 
1260
 
 
1261
- renamed package "MySQL" to "MySQL-server"
 
1262
- fixed Copyright tag
 
1263
- added mysql_waitpid to client subpackage (required for mysql-test-run)
 
1264
 
 
1265
* Wed Nov 27 2002 Lenz Grimmer <lenz@mysql.com>
 
1266
 
 
1267
- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of 
 
1268
  Linux distributions now support this scheme as proposed by the LSB either
 
1269
  directly or via a compatibility symlink)
 
1270
- Use new "restart" init script action instead of starting and stopping
 
1271
  separately
 
1272
- Be more flexible in activating the automatic bootup - use insserv (on
 
1273
  older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and
 
1274
  others) to create the respective symlinks
 
1275
 
 
1276
* Wed Sep 25 2002 Lenz Grimmer <lenz@mysql.com>
 
1277
 
 
1278
- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches
 
1279
  (mixing 3.23 and 4.0 packages)
 
1280
 
 
1281
* Fri Aug 09 2002 Lenz Grimmer <lenz@mysql.com>
 
1282
 
 
1283
- Turn off OpenSSL in MySQL-Max for now until it works properly again
 
1284
- enable RAID for the Max binary instead
 
1285
- added compatibility link: safe_mysqld -> mysqld_safe to ease the
 
1286
  transition from 3.23
 
1287
 
 
1288
* Thu Jul 18 2002 Lenz Grimmer <lenz@mysql.com>
 
1289
 
 
1290
- Reworked the build steps a little bit: the Max binary is supposed
 
1291
  to include OpenSSL, which cannot be linked statically, thus trying
 
1292
        to statically link against a special glibc is futile anyway
 
1293
- because of this, it is not required to make yet another build run
 
1294
  just to compile the shared libs (saves a lot of time)
 
1295
- updated package description of the Max subpackage
 
1296
- clean up the BuildRoot directory afterwards
 
1297
 
 
1298
* Mon Jul 15 2002 Lenz Grimmer <lenz@mysql.com>
 
1299
 
 
1300
- Updated Packager information
 
1301
- Fixed the build options: the regular package is supposed to
 
1302
  include InnoDB and linked statically, while the Max package
 
1303
        should include BDB and SSL support
 
1304
 
 
1305
* Fri May 03 2002 Lenz Grimmer <lenz@mysql.com>
 
1306
 
 
1307
- Use more RPM macros (e.g. infodir, mandir) to make the spec
 
1308
  file more portable
 
1309
- reorganized the installation of documentation files: let RPM
 
1310
  take care of this
 
1311
- reorganized the file list: actually install man pages along
 
1312
  with the binaries of the respective subpackage
 
1313
- do not include libmysqld.a in the devel subpackage as well, if we
 
1314
  have a special "embedded" subpackage
 
1315
- reworked the package descriptions
 
1316
 
 
1317
* Mon Oct  8 2001 Monty
 
1318
 
 
1319
- Added embedded server as a separate RPM
 
1320
 
 
1321
* Fri Apr 13 2001 Monty
 
1322
 
 
1323
- Added mysqld-max to the distribution
 
1324
 
 
1325
* Tue Jan 2  2001  Monty
 
1326
 
 
1327
- Added mysql-test to the bench package
 
1328
 
 
1329
* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
 
1330
 
 
1331
- Added separate libmysql_r directory; now both a threaded
 
1332
  and non-threaded library is shipped.
 
1333
 
 
1334
* Wed Sep 28 1999 David Axmark <davida@mysql.com>
 
1335
 
 
1336
- Added the support-files/my-example.cnf to the docs directory.
 
1337
 
 
1338
- Removed devel dependency on base since it is about client
 
1339
  development.
 
1340
 
 
1341
* Wed Sep 8 1999 David Axmark <davida@mysql.com>
 
1342
 
 
1343
- Cleaned up some for 3.23.
 
1344
 
 
1345
* Thu Jul 1 1999 David Axmark <davida@mysql.com>
 
1346
 
 
1347
- Added support for shared libraries in a separate sub
 
1348
  package. Original fix by David Fox (dsfox@cogsci.ucsd.edu)
 
1349
 
 
1350
- The --enable-assembler switch is now automatically disables on
 
1351
  platforms there assembler code is unavailable. This should allow
 
1352
  building this RPM on non i386 systems.
 
1353
 
 
1354
* Mon Feb 22 1999 David Axmark <david@detron.se>
 
1355
 
 
1356
- Removed unportable cc switches from the spec file. The defaults can
 
1357
  now be overridden with environment variables. This feature is used
 
1358
  to compile the official RPM with optimal (but compiler version
 
1359
  specific) switches.
 
1360
 
 
1361
- Removed the repetitive description parts for the sub rpms. Maybe add
 
1362
  again if RPM gets a multiline macro capability.
 
1363
 
 
1364
- Added support for a pt_BR translation. Translation contributed by
 
1365
  Jorge Godoy <jorge@bestway.com.br>.
 
1366
 
 
1367
* Wed Nov 4 1998 David Axmark <david@detron.se>
 
1368
 
 
1369
- A lot of changes in all the rpm and install scripts. This may even
 
1370
  be a working RPM :-)
 
1371
 
 
1372
* Sun Aug 16 1998 David Axmark <david@detron.se>
 
1373
 
 
1374
- A developers changelog for MySQL is available in the source RPM. And
 
1375
  there is a history of major user visible changed in the Reference
 
1376
  Manual.  Only RPM specific changes will be documented here.