~ubuntu-branches/ubuntu/quantal/mysql-5.5/quantal-security

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Seth Arnold
  • Date: 2013-04-18 18:15:39 UTC
  • mfrom: (1.1.12)
  • Revision ID: package-import@ubuntu.com-20130418181539-7uo1w041b4h2ulbs
Tags: 5.5.31-0ubuntu0.12.10.1
* SECURITY UPDATE: Update to 5.5.31 to fix security issues (LP: #1170516)
  - http://www.oracle.com/technetwork/topics/security/cpuapr2013-1899555.html
* debian/patches/71_disable_rpl_tests.patch: refreshed.
* debian/patches/fix-mysqldump-test.patch: removed, fixed differently
  upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
 
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
##############################################################################
 
18
# Some common macro definitions
 
19
##############################################################################
 
20
 
 
21
# NOTE: "vendor" is used in upgrade/downgrade check, so you can't
 
22
# change these, has to be exactly as is.
 
23
%define mysql_old_vendor        MySQL AB
 
24
%define mysql_vendor_2          Sun Microsystems, Inc.
 
25
%define mysql_vendor            Oracle and/or its affiliates
 
26
 
 
27
%define mysql_version   5.5.31
 
28
 
 
29
%define mysqld_user     mysql
 
30
%define mysqld_group    mysql
 
31
%define mysqldatadir    /var/lib/mysql
 
32
 
 
33
%define release         1
 
34
 
 
35
#
 
36
# Macros we use which are not available in all supported versions of RPM
 
37
#
 
38
# - defined/undefined are missing on RHEL4
 
39
#
 
40
%if %{expand:%{?defined:0}%{!?defined:1}}
 
41
%define defined()       %{expand:%%{?%{1}:1}%%{!?%{1}:0}}
 
42
%endif
 
43
%if %{expand:%{?undefined:0}%{!?undefined:1}}
 
44
%define undefined()     %{expand:%%{?%{1}:0}%%{!?%{1}:1}}
 
45
%endif
 
46
 
 
47
# ----------------------------------------------------------------------------
 
48
# RPM build tools now automatically detect Perl module dependencies.  This
 
49
# detection causes problems as it is broken in some versions, and it also
 
50
# provides unwanted dependencies from mandatory scripts in our package.
 
51
# It might not be possible to disable this in all versions of RPM, but here we
 
52
# try anyway.  We keep the "AutoReqProv: no" for the "test" sub package, as
 
53
# disabling here might fail, and that package has the most problems.
 
54
# See:
 
55
#  http://fedoraproject.org/wiki/Packaging/Perl#Filtering_Requires:_and_Provides
 
56
#  http://www.wideopen.com/archives/rpm-list/2002-October/msg00343.html
 
57
# ----------------------------------------------------------------------------
 
58
%undefine __perl_provides
 
59
%undefine __perl_requires
 
60
 
 
61
##############################################################################
 
62
# Command line handling
 
63
##############################################################################
 
64
#
 
65
# To set options:
 
66
#
 
67
#   $ rpmbuild --define="option <x>" ...
 
68
#
 
69
 
 
70
# ----------------------------------------------------------------------------
 
71
# Commercial builds
 
72
# ----------------------------------------------------------------------------
 
73
%if %{undefined commercial}
 
74
%define commercial 0
 
75
%endif
 
76
 
 
77
# ----------------------------------------------------------------------------
 
78
# Source name
 
79
# ----------------------------------------------------------------------------
 
80
%if %{undefined src_base}
 
81
%define src_base mysql
 
82
%endif
 
83
%define src_dir %{src_base}-%{mysql_version}
 
84
 
 
85
# ----------------------------------------------------------------------------
 
86
# Feature set (storage engines, options).  Default to community (everything)
 
87
# ----------------------------------------------------------------------------
 
88
%if %{undefined feature_set}
 
89
%define feature_set community
 
90
%endif
 
91
 
 
92
# ----------------------------------------------------------------------------
 
93
# Server comment strings
 
94
# ----------------------------------------------------------------------------
 
95
%if %{undefined compilation_comment_debug}
 
96
%define compilation_comment_debug       MySQL Community Server - Debug (GPL)
 
97
%endif
 
98
%if %{undefined compilation_comment_release}
 
99
%define compilation_comment_release     MySQL Community Server (GPL)
 
100
%endif
 
101
 
 
102
# ----------------------------------------------------------------------------
 
103
# Product and server suffixes
 
104
# ----------------------------------------------------------------------------
 
105
%if %{undefined product_suffix}
 
106
  %if %{defined short_product_tag}
 
107
    %define product_suffix      -%{short_product_tag}
 
108
  %else
 
109
    %define product_suffix      %{nil}
 
110
  %endif
 
111
%endif
 
112
 
 
113
%if %{undefined server_suffix}
 
114
%define server_suffix   %{nil}
 
115
%endif
 
116
 
 
117
# ----------------------------------------------------------------------------
 
118
# Distribution support
 
119
# ----------------------------------------------------------------------------
 
120
%if %{undefined distro_specific}
 
121
%define distro_specific 0
 
122
%endif
 
123
%if %{distro_specific}
 
124
  %if %(test -f /etc/enterprise-release && echo 1 || echo 0)
 
125
    %define oelver %(rpm -qf --qf '%%{version}\\n' /etc/enterprise-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
 
126
    %if "%oelver" == "4"
 
127
      %define distro_description        Oracle Enterprise Linux 4
 
128
      %define distro_releasetag         oel4
 
129
      %define distro_buildreq           gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
 
130
      %define distro_requires           chkconfig coreutils grep procps shadow-utils net-tools
 
131
    %else
 
132
      %if "%oelver" == "5"
 
133
        %define distro_description      Oracle Enterprise Linux 5
 
134
        %define distro_releasetag       oel5
 
135
        %define distro_buildreq         gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
 
136
        %define distro_requires         chkconfig coreutils grep procps shadow-utils net-tools
 
137
      %else
 
138
        %{error:Oracle Enterprise Linux %{oelver} is unsupported}
 
139
      %endif
 
140
    %endif
 
141
  %else
 
142
    %if %(test -f /etc/oracle-release && echo 1 || echo 0)
 
143
      %define elver %(rpm -qf --qf '%%{version}\\n' /etc/oracle-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
 
144
      %if "%elver" == "6"
 
145
        %define distro_description      Oracle Linux 6
 
146
        %define distro_releasetag       el6
 
147
        %define distro_buildreq         gcc-c++ ncurses-devel perl readline-devel time zlib-devel
 
148
        %define distro_requires         chkconfig coreutils grep procps shadow-utils net-tools
 
149
      %else
 
150
        %{error:Oracle Linux %{elver} is unsupported}
 
151
      %endif
 
152
    %else
 
153
      %if %(test -f /etc/redhat-release && echo 1 || echo 0)
 
154
        %define rhelver %(rpm -qf --qf '%%{version}\\n' /etc/redhat-release | sed -e 's/^\\([0-9]*\\).*/\\1/g')
 
155
        %if "%rhelver" == "4"
 
156
          %define distro_description      Red Hat Enterprise Linux 4
 
157
          %define distro_releasetag       rhel4
 
158
          %define distro_buildreq         gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
 
159
          %define distro_requires         chkconfig coreutils grep procps shadow-utils net-tools
 
160
        %else
 
161
          %if "%rhelver" == "5"
 
162
            %define distro_description    Red Hat Enterprise Linux 5
 
163
            %define distro_releasetag     rhel5
 
164
            %define distro_buildreq       gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
 
165
            %define distro_requires       chkconfig coreutils grep procps shadow-utils net-tools
 
166
          %else
 
167
            %if "%rhelver" == "6"
 
168
              %define distro_description    Red Hat Enterprise Linux 6
 
169
              %define distro_releasetag     rhel6
 
170
              %define distro_buildreq       gcc-c++ ncurses-devel perl readline-devel time zlib-devel
 
171
              %define distro_requires       chkconfig coreutils grep procps shadow-utils net-tools
 
172
            %else
 
173
              %{error:Red Hat Enterprise Linux %{rhelver} is unsupported}
 
174
            %endif
 
175
          %endif
 
176
        %endif
 
177
      %else
 
178
        %if %(test -f /etc/SuSE-release && echo 1 || echo 0)
 
179
          %define susever %(rpm -qf --qf '%%{version}\\n' /etc/SuSE-release | cut -d. -f1)
 
180
          %if "%susever" == "10"
 
181
            %define distro_description    SUSE Linux Enterprise Server 10
 
182
            %define distro_releasetag     sles10
 
183
            %define distro_buildreq       gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client readline-devel zlib-devel
 
184
            %define distro_requires       aaa_base coreutils grep procps pwdutils
 
185
          %else
 
186
            %if "%susever" == "11"
 
187
              %define distro_description  SUSE Linux Enterprise Server 11
 
188
              %define distro_releasetag   sles11
 
189
              %define distro_buildreq     gcc-c++ gdbm-devel gperf ncurses-devel openldap2-client procps pwdutils readline-devel zlib-devel
 
190
              %define distro_requires     aaa_base coreutils grep procps pwdutils
 
191
            %else
 
192
              %{error:SuSE %{susever} is unsupported}
 
193
            %endif
 
194
          %endif
 
195
        %else
 
196
          %{error:Unsupported distribution}
 
197
        %endif
 
198
      %endif
 
199
    %endif
 
200
  %endif
 
201
%else
 
202
  %define generic_kernel %(uname -r | cut -d. -f1-2)
 
203
  %define distro_description            Generic Linux (kernel %{generic_kernel})
 
204
  %define distro_releasetag             linux%{generic_kernel}
 
205
  %define distro_buildreq               gcc-c++ gperf ncurses-devel perl readline-devel time zlib-devel
 
206
  %define distro_requires               coreutils grep procps /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd
 
207
%endif
 
208
 
 
209
# Avoid debuginfo RPMs, leaves binaries unstripped
 
210
%define debug_package   %{nil}
 
211
 
 
212
# Hack to work around bug in RHEL5 __os_install_post macro, wrong inverted
 
213
# test for __debug_package
 
214
%define __strip         /bin/true
 
215
 
 
216
# ----------------------------------------------------------------------------
 
217
# Support optional "tcmalloc" library (experimental)
 
218
# ----------------------------------------------------------------------------
 
219
%if %{defined malloc_lib_target}
 
220
%define WITH_TCMALLOC 1
 
221
%else
 
222
%define WITH_TCMALLOC 0
 
223
%endif
 
224
 
 
225
##############################################################################
 
226
# Configuration based upon above user input, not to be set directly
 
227
##############################################################################
 
228
 
 
229
%if %{commercial}
 
230
%define license_files_server    %{src_dir}/LICENSE.mysql
 
231
%define license_type            Commercial
 
232
%else
 
233
%define license_files_server    %{src_dir}/COPYING %{src_dir}/README
 
234
%define license_type            GPL
 
235
%endif
 
236
 
 
237
##############################################################################
 
238
# Main spec file section
 
239
##############################################################################
 
240
 
 
241
Name:           MySQL%{product_suffix}
 
242
Summary:        MySQL: a very fast and reliable SQL database server
 
243
Group:          Applications/Databases
 
244
Version:        5.5.31
 
245
Release:        %{release}%{?distro_releasetag:.%{distro_releasetag}}
 
246
Distribution:   %{distro_description}
 
247
License:        Copyright (c) 2000, 2013, %{mysql_vendor}. All rights reserved. Under %{license_type} license as shown in the Description field.
 
248
Source:         http://www.mysql.com/Downloads/MySQL-5.5/%{src_dir}.tar.gz
 
249
URL:            http://www.mysql.com/
 
250
Packager:       MySQL Release Engineering <mysql-build@oss.oracle.com> 
 
251
Vendor:         %{mysql_vendor}
 
252
Provides:       msqlormysql MySQL-server
 
253
BuildRequires:  %{distro_buildreq}
 
254
 
 
255
# Regression tests may take a long time, override the default to skip them 
 
256
%{!?runselftest:%global runselftest 1}
 
257
 
 
258
# Think about what you use here since the first step is to
 
259
# run a rm -rf
 
260
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
 
261
 
 
262
# From the manual
 
263
%description
 
264
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
 
265
and robust SQL (Structured Query Language) database server. MySQL Server
 
266
is intended for mission-critical, heavy-load production systems as well
 
267
as for embedding into mass-deployed software. MySQL is a trademark of
 
268
%{mysql_vendor}
 
269
 
 
270
The MySQL software has Dual Licensing, which means you can use the MySQL
 
271
software free of charge under the GNU General Public License
 
272
(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
 
273
licenses from %{mysql_vendor} if you do not wish to be bound by the terms of
 
274
the GPL. See the chapter "Licensing and Support" in the manual for
 
275
further info.
 
276
 
 
277
The MySQL web site (http://www.mysql.com/) provides the latest
 
278
news and information about the MySQL software. Also please see the
 
279
documentation and the manual for more information.
 
280
 
 
281
##############################################################################
 
282
# Sub package definition
 
283
##############################################################################
 
284
 
 
285
%package -n MySQL-server%{product_suffix}
 
286
Summary:        MySQL: a very fast and reliable SQL database server
 
287
Group:          Applications/Databases
 
288
Requires:       %{distro_requires}
 
289
%if %{defined susever}
 
290
Provides:       msqlormysql MySQL MySQL-server
 
291
Conflicts:      mysql mysql-server mysql-advanced mysql-server-advanced
 
292
Obsoletes:      MySQL MySQL-server
 
293
Obsoletes:      MySQL-server-classic MySQL-server-community MySQL-server-enterprise
 
294
Obsoletes:      MySQL-server-advanced MySQL-server-advanced-gpl MySQL-server-enterprise-gpl
 
295
%else
 
296
Obsoletes:      MySQL < %{version}-%{release}
 
297
Obsoletes:      MySQL-server < %{version}-%{release}
 
298
Obsoletes:      MySQL-server-advanced < %{version}-%{release}
 
299
Obsoletes:      mysql mysql-server mysql-advanced mysql-server-advanced
 
300
Obsoletes:      MySQL-server-classic MySQL-server-community MySQL-server-enterprise
 
301
Obsoletes:      MySQL-server-advanced-gpl MySQL-server-enterprise-gpl
 
302
Provides:       msqlormysql MySQL MySQL-server MySQL-server-advanced
 
303
Provides:       mysql
 
304
%endif
 
305
 
 
306
%description -n MySQL-server%{product_suffix}
 
307
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
 
308
and robust SQL (Structured Query Language) database server. MySQL Server
 
309
is intended for mission-critical, heavy-load production systems as well
 
310
as for embedding into mass-deployed software. MySQL is a trademark of
 
311
%{mysql_vendor}
 
312
 
 
313
The MySQL software has Dual Licensing, which means you can use the MySQL
 
314
software free of charge under the GNU General Public License
 
315
(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
 
316
licenses from %{mysql_vendor} if you do not wish to be bound by the terms of
 
317
the GPL. See the chapter "Licensing and Support" in the manual for
 
318
further info.
 
319
 
 
320
The MySQL web site (http://www.mysql.com/) provides the latest news and 
 
321
information about the MySQL software.  Also please see the documentation
 
322
and the manual for more information.
 
323
 
 
324
This package includes the MySQL server binary as well as related utilities
 
325
to run and administer a MySQL server.
 
326
 
 
327
If you want to access and work with the database, you have to install
 
328
package "MySQL-client%{product_suffix}" as well!
 
329
 
 
330
# ----------------------------------------------------------------------------
 
331
%package -n MySQL-client%{product_suffix}
 
332
Summary:        MySQL - Client
 
333
Group:          Applications/Databases
 
334
%if %{defined susever}
 
335
Provides:       MySQL-client
 
336
Conflicts:      mysql mysql-advanced
 
337
Obsoletes:      MySQL-client
 
338
Obsoletes:      MySQL-client-classic MySQL-client-community MySQL-client-enterprise
 
339
Obsoletes:      MySQL-client-advanced MySQL-client-advanced-gpl MySQL-client-enterprise-gpl
 
340
%else
 
341
Obsoletes:      mysql mysql-advanced
 
342
Obsoletes:      MySQL-client < %{version}-%{release}
 
343
Obsoletes:      MySQL-client-advanced < %{version}-%{release}
 
344
Obsoletes:      MySQL-client-classic MySQL-client-community MySQL-client-enterprise
 
345
Obsoletes:      MySQL-client-advanced-gpl MySQL-client-enterprise-gpl
 
346
Provides:       MySQL-client MySQL-client-advanced
 
347
Provides:       mysql
 
348
%endif
 
349
 
 
350
%description -n MySQL-client%{product_suffix}
 
351
This package contains the standard MySQL clients and administration tools.
 
352
 
 
353
For a description of MySQL see the base MySQL RPM or http://www.mysql.com/
 
354
 
 
355
# ----------------------------------------------------------------------------
 
356
%package -n MySQL-test%{product_suffix}
 
357
Summary:        MySQL - Test suite
 
358
Group:          Applications/Databases
 
359
%if %{defined susever}
 
360
Requires:       MySQL-client perl
 
361
Provides:       MySQL-test
 
362
Conflicts:      mysql-test mysql-test-advanced
 
363
Obsoletes:      MySQL-test
 
364
Obsoletes:      mysql-bench MySQL-bench
 
365
Obsoletes:      MySQL-test-classic MySQL-test-community MySQL-test-enterprise
 
366
Obsoletes:      MySQL-test-advanced MySQL-test-advanced-gpl MySQL-test-enterprise-gpl
 
367
AutoReqProv:    no
 
368
%else
 
369
Requires:       MySQL-client perl
 
370
Conflicts:      mysql-test mysql-test-advanced
 
371
Obsoletes:      mysql-bench MySQL-bench
 
372
Obsoletes:      MySQL-test < %{version}-%{release}
 
373
Obsoletes:      MySQL-test-advanced < %{version}-%{release}
 
374
Obsoletes:      MySQL-test-classic MySQL-test-community MySQL-test-enterprise
 
375
Obsoletes:      MySQL-test-advanced-gpl MySQL-test-enterprise-gpl
 
376
Provides:       MySQL-test MySQL-test-advanced
 
377
AutoReqProv:    no
 
378
%endif
 
379
 
 
380
%description -n MySQL-test%{product_suffix}
 
381
This package contains the MySQL regression test suite.
 
382
 
 
383
For a description of MySQL see the base MySQL RPM or http://www.mysql.com/
 
384
 
 
385
# ----------------------------------------------------------------------------
 
386
%package -n MySQL-devel%{product_suffix}
 
387
Summary:        MySQL - Development header files and libraries
 
388
Group:          Applications/Databases
 
389
%if %{defined susever}
 
390
Provides:       MySQL-devel
 
391
Conflicts:      mysql-devel mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced
 
392
Obsoletes:      MySQL-devel
 
393
Obsoletes:      MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise
 
394
Obsoletes:      MySQL-devel-advanced MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl
 
395
%else
 
396
Conflicts:      mysql-devel mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced
 
397
Obsoletes:      MySQL-devel < %{version}-%{release}
 
398
Obsoletes:      MySQL-devel-advanced < %{version}-%{release}
 
399
Obsoletes:      MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise
 
400
Obsoletes:      MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl
 
401
Provides:       MySQL-devel MySQL-devel-advanced
 
402
%endif
 
403
 
 
404
%description -n MySQL-devel%{product_suffix}
 
405
This package contains the development header files and libraries necessary
 
406
to develop MySQL client applications.
 
407
 
 
408
For a description of MySQL see the base MySQL RPM or http://www.mysql.com/
 
409
 
 
410
# ----------------------------------------------------------------------------
 
411
%package -n MySQL-shared%{product_suffix}
 
412
Summary:        MySQL - Shared libraries
 
413
Group:          Applications/Databases
 
414
%if %{defined susever}
 
415
Provides:       MySQL-shared
 
416
Obsoletes:      MySQL-shared-standard MySQL-shared-pro
 
417
Obsoletes:      MySQL-shared-pro-cert MySQL-shared-pro-gpl
 
418
Obsoletes:      MySQL-shared-pro-gpl-cert MySQL-shared
 
419
Obsoletes:      MySQL-shared-classic MySQL-shared-community MySQL-shared-enterprise
 
420
Obsoletes:      MySQL-shared-advanced MySQL-shared-advanced-gpl MySQL-shared-enterprise-gpl
 
421
%else
 
422
Obsoletes:      MySQL-shared-standard MySQL-shared-pro
 
423
Obsoletes:      MySQL-shared-pro-cert MySQL-shared-pro-gpl
 
424
Obsoletes:      MySQL-shared < %{version}-%{release}
 
425
Obsoletes:      MySQL-shared-advanced < %{version}-%{release}
 
426
Obsoletes:      MySQL-shared-pro-gpl-cert
 
427
Obsoletes:      MySQL-shared-classic MySQL-shared-community MySQL-shared-enterprise
 
428
Obsoletes:      MySQL-shared-advanced-gpl MySQL-shared-enterprise-gpl
 
429
Provides:       MySQL-shared MySQL-shared-advanced
 
430
%endif
 
431
 
 
432
%description -n MySQL-shared%{product_suffix}
 
433
This package contains the shared libraries (*.so*) which certain languages
 
434
and applications need to dynamically load and use MySQL.
 
435
 
 
436
# ----------------------------------------------------------------------------
 
437
%package -n MySQL-embedded%{product_suffix}
 
438
Summary:        MySQL - Embedded library
 
439
Group:          Applications/Databases
 
440
%if %{defined susever}
 
441
Requires:       MySQL-devel
 
442
Provides:       MySQL-embedded
 
443
Conflicts:      mysql-embedded mysql-embedded-advanced
 
444
Obsoletes:      MySQL-embedded
 
445
Obsoletes:      MySQL-embedded-pro
 
446
Obsoletes:      MySQL-embedded-classic MySQL-embedded-community MySQL-embedded-enterprise
 
447
Obsoletes:      MySQL-embedded-advanced MySQL-embedded-advanced-gpl MySQL-embedded-enterprise-gpl
 
448
%else
 
449
Requires:       MySQL-devel
 
450
Conflicts:      mysql-embedded mysql-embedded-advanced
 
451
Obsoletes:      MySQL-embedded-pro
 
452
Obsoletes:      MySQL-embedded < %{version}-%{release}
 
453
Obsoletes:      MySQL-embedded-advanced < %{version}-%{release}
 
454
Obsoletes:      MySQL-embedded-classic MySQL-embedded-community MySQL-embedded-enterprise
 
455
Obsoletes:      MySQL-embedded-advanced-gpl MySQL-embedded-enterprise-gpl
 
456
Provides:       MySQL-embedded MySQL-embedded-advanced
 
457
%endif
 
458
 
 
459
%description -n MySQL-embedded%{product_suffix}
 
460
This package contains the MySQL server as an embedded library.
 
461
 
 
462
The embedded MySQL server library makes it possible to run a full-featured
 
463
MySQL server inside the client application. The main benefits are increased
 
464
speed and more simple management for embedded applications.
 
465
 
 
466
The API is identical for the embedded MySQL version and the
 
467
client/server version.
 
468
 
 
469
For a description of MySQL see the base MySQL RPM or http://www.mysql.com/
 
470
 
 
471
##############################################################################
 
472
%prep
 
473
%setup -T -a 0 -c -n %{src_dir}
 
474
 
 
475
##############################################################################
 
476
%build
 
477
 
 
478
# Fail quickly and obviously if user tries to build as root
 
479
%if %runselftest
 
480
    if [ x"`id -u`" = x0 ]; then
 
481
        echo "The MySQL regression tests may fail if run as root."
 
482
        echo "If you really need to build the RPM as root, use"
 
483
        echo "--define='runselftest 0' to skip the regression tests."
 
484
        exit 1
 
485
    fi
 
486
%endif
 
487
 
 
488
# Be strict about variables, bail at earliest opportunity, etc.
 
489
set -eu
 
490
 
 
491
# Optional package files
 
492
touch optional-files-devel
 
493
 
 
494
#
 
495
# Set environment in order of preference, MYSQL_BUILD_* first, then variable
 
496
# name, finally a default.  RPM_OPT_FLAGS is assumed to be a part of the
 
497
# default RPM build environment.
 
498
#
 
499
# We set CXX=gcc by default to support so-called 'generic' binaries, where we
 
500
# do not have a dependancy on libgcc/libstdc++.  This only works while we do
 
501
# not require C++ features such as exceptions, and may need to be removed at
 
502
# a later date.
 
503
#
 
504
 
 
505
# This is a hack, $RPM_OPT_FLAGS on ia64 hosts contains flags which break
 
506
# the compile in cmd-line-utils/readline - needs investigation, but for now
 
507
# we simply unset it and use those specified directly in cmake.
 
508
%if "%{_arch}" == "ia64"
 
509
RPM_OPT_FLAGS=
 
510
%endif
 
511
 
 
512
export PATH=${MYSQL_BUILD_PATH:-$PATH}
 
513
export CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
 
514
export CXX=${MYSQL_BUILD_CXX:-${CXX:-gcc}}
 
515
export CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
 
516
export CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-${CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti}}
 
517
export LDFLAGS=${MYSQL_BUILD_LDFLAGS:-${LDFLAGS:-}}
 
518
export CMAKE=${MYSQL_BUILD_CMAKE:-${CMAKE:-cmake}}
 
519
export MAKE_JFLAG=${MYSQL_BUILD_MAKE_JFLAG:-}
 
520
 
 
521
# Build debug mysqld and libmysqld.a
 
522
mkdir debug
 
523
(
 
524
  cd debug
 
525
  # Attempt to remove any optimisation flags from the debug build
 
526
  CFLAGS=`echo " ${CFLAGS} " | \
 
527
            sed -e 's/ -O[0-9]* / /' \
 
528
                -e 's/ -unroll2 / /' \
 
529
                -e 's/ -ip / /' \
 
530
                -e 's/^ //' \
 
531
                -e 's/ $//'`
 
532
  CXXFLAGS=`echo " ${CXXFLAGS} " | \
 
533
              sed -e 's/ -O[0-9]* / /' \
 
534
                  -e 's/ -unroll2 / /' \
 
535
                  -e 's/ -ip / /' \
 
536
                  -e 's/^ //' \
 
537
                  -e 's/ $//'`
 
538
  # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
 
539
  # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
 
540
  ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
 
541
           -DCMAKE_BUILD_TYPE=Debug \
 
542
           -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \
 
543
           -DFEATURE_SET="%{feature_set}" \
 
544
           -DCOMPILATION_COMMENT="%{compilation_comment_debug}" \
 
545
           -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
 
546
  echo BEGIN_DEBUG_CONFIG ; egrep '^#define' include/config.h ; echo END_DEBUG_CONFIG
 
547
  make ${MAKE_JFLAG} VERBOSE=1
 
548
)
 
549
# Build full release
 
550
mkdir release
 
551
(
 
552
  cd release
 
553
  # XXX: MYSQL_UNIX_ADDR should be in cmake/* but mysql_version is included before
 
554
  # XXX: install_layout so we can't just set it based on INSTALL_LAYOUT=RPM
 
555
  ${CMAKE} ../%{src_dir} -DBUILD_CONFIG=mysql_release -DINSTALL_LAYOUT=RPM \
 
556
           -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 
557
           -DMYSQL_UNIX_ADDR="%{mysqldatadir}/mysql.sock" \
 
558
           -DFEATURE_SET="%{feature_set}" \
 
559
           -DCOMPILATION_COMMENT="%{compilation_comment_release}" \
 
560
           -DMYSQL_SERVER_SUFFIX="%{server_suffix}"
 
561
  echo BEGIN_NORMAL_CONFIG ; egrep '^#define' include/config.h ; echo END_NORMAL_CONFIG
 
562
  make ${MAKE_JFLAG} VERBOSE=1
 
563
)
 
564
 
 
565
%if %runselftest
 
566
  MTR_BUILD_THREAD=auto
 
567
  export MTR_BUILD_THREAD
 
568
 
 
569
  (cd release && make test-bt-fast || true)
 
570
%endif
 
571
 
 
572
##############################################################################
 
573
%install
 
574
 
 
575
RBR=$RPM_BUILD_ROOT
 
576
MBD=$RPM_BUILD_DIR/%{src_dir}
 
577
 
 
578
# Ensure that needed directories exists
 
579
install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
 
580
install -d $RBR%{mysqldatadir}/mysql
 
581
install -d $RBR%{_datadir}/mysql-test
 
582
install -d $RBR%{_datadir}/mysql/SELinux/RHEL4
 
583
install -d $RBR%{_includedir}
 
584
install -d $RBR%{_libdir}
 
585
install -d $RBR%{_mandir}
 
586
install -d $RBR%{_sbindir}
 
587
 
 
588
# Install all binaries
 
589
(
 
590
  cd $MBD/release
 
591
  make DESTDIR=$RBR install
 
592
)
 
593
 
 
594
# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921).  Do
 
595
# this in a sub-shell to ensure we don't pollute the install environment
 
596
# with compiler bits.
 
597
(
 
598
  PATH=${MYSQL_BUILD_PATH:-$PATH}
 
599
  CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
 
600
  CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
 
601
  if "${CC}" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1; then
 
602
    libgcc=`${CC} ${CFLAGS} --print-libgcc-file`
 
603
    if [ -f ${libgcc} ]; then
 
604
      mkdir -p $RBR%{_libdir}/mysql
 
605
      install -m 644 ${libgcc} $RBR%{_libdir}/mysql/libmygcc.a
 
606
      echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel
 
607
    fi
 
608
  fi
 
609
)
 
610
 
 
611
# FIXME: at some point we should stop doing this and just install everything
 
612
# FIXME: directly into %{_libdir}/mysql - perhaps at the same time as renaming
 
613
# FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax
 
614
mv -v $RBR/%{_libdir}/*.a $RBR/%{_libdir}/mysql/
 
615
 
 
616
# Install logrotate and autostart
 
617
install -m 644 $MBD/release/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
 
618
install -m 755 $MBD/release/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql
 
619
 
 
620
# Create a symlink "rcmysql", pointing to the init.script. SuSE users
 
621
# will appreciate that, as all services usually offer this.
 
622
ln -s %{_sysconfdir}/init.d/mysql $RBR%{_sbindir}/rcmysql
 
623
 
 
624
# Touch the place where the my.cnf config file might be located
 
625
# Just to make sure it's in the file list and marked as a config file
 
626
touch $RBR%{_sysconfdir}/my.cnf
 
627
 
 
628
# Install SELinux files in datadir
 
629
install -m 600 $MBD/%{src_dir}/support-files/RHEL4-SElinux/mysql.{fc,te} \
 
630
  $RBR%{_datadir}/mysql/SELinux/RHEL4
 
631
 
 
632
%if %{WITH_TCMALLOC}
 
633
# Even though this is a shared library, put it under /usr/lib*/mysql, so it
 
634
# doesn't conflict with possible shared lib by the same name in /usr/lib*.  See
 
635
# `mysql_config --variable=pkglibdir` and mysqld_safe for how this is used.
 
636
install -m 644 "%{malloc_lib_source}" \
 
637
  "$RBR%{_libdir}/mysql/%{malloc_lib_target}"
 
638
%endif
 
639
 
 
640
# Remove man pages we explicitly do not want to package, avoids 'unpackaged
 
641
# files' warning.
 
642
# This has become obsolete:  rm -f $RBR%{_mandir}/man1/make_win_bin_dist.1*
 
643
 
 
644
##############################################################################
 
645
#  Post processing actions, i.e. when installed
 
646
##############################################################################
 
647
 
 
648
%pre -n MySQL-server%{product_suffix}
 
649
# This is the code running at the beginning of a RPM upgrade action,
 
650
# before replacing the old files with the new ones.
 
651
 
 
652
# ATTENTION: Parts of this are duplicated in the "triggerpostun" !
 
653
 
 
654
# There are users who deviate from the default file system layout.
 
655
# Check local settings to support them.
 
656
if [ -x %{_bindir}/my_print_defaults ]
 
657
then
 
658
  mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'`
 
659
  PID_FILE_PATT=`%{_bindir}/my_print_defaults server mysqld | grep '^--pid-file=' | sed -n 's/--pid-file=//p'`
 
660
fi
 
661
if [ -z "$mysql_datadir" ]
 
662
then
 
663
  mysql_datadir=%{mysqldatadir}
 
664
fi
 
665
if [ -z "$PID_FILE_PATT" ]
 
666
then
 
667
  PID_FILE_PATT="$mysql_datadir/*.pid"
 
668
fi
 
669
 
 
670
# Check if we can safely upgrade.  An upgrade is only safe if it's from one
 
671
# of our RPMs in the same version family.
 
672
 
 
673
# Handle both ways of spelling the capability.
 
674
installed=`rpm -q --whatprovides mysql-server 2> /dev/null`
 
675
if [ $? -ne 0 -o -z "$installed" ]; then
 
676
  installed=`rpm -q --whatprovides MySQL-server 2> /dev/null`
 
677
fi
 
678
if [ $? -eq 0 -a -n "$installed" ]; then
 
679
  installed=`echo $installed | sed 's/\([^ ]*\) .*/\1/'` # Tests have shown duplicated package names
 
680
  vendor=`rpm -q --queryformat='%{VENDOR}' "$installed" 2>&1`
 
681
  version=`rpm -q --queryformat='%{VERSION}' "$installed" 2>&1`
 
682
  myoldvendor='%{mysql_old_vendor}'
 
683
  myvendor_2='%{mysql_vendor_2}'
 
684
  myvendor='%{mysql_vendor}'
 
685
  myversion='%{mysql_version}'
 
686
 
 
687
  old_family=`echo $version \
 
688
    | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
 
689
  new_family=`echo $myversion \
 
690
    | sed -n -e 's,^\([1-9][0-9]*\.[0-9][0-9]*\)\..*$,\1,p'`
 
691
 
 
692
  [ -z "$vendor" ] && vendor='<unknown>'
 
693
  [ -z "$old_family" ] && old_family="<unrecognized version $version>"
 
694
  [ -z "$new_family" ] && new_family="<bad package specification: version $myversion>"
 
695
 
 
696
  error_text=
 
697
  if [ "$vendor" != "$myoldvendor" \
 
698
    -a "$vendor" != "$myvendor_2" \
 
699
    -a "$vendor" != "$myvendor" ]; then
 
700
    error_text="$error_text
 
701
The current MySQL server package is provided by a different
 
702
vendor ($vendor) than $myoldvendor, $myvendor_2, or $myvendor.
 
703
Some files may be installed to different locations, including log
 
704
files and the service startup script in %{_sysconfdir}/init.d/.
 
705
"
 
706
  fi
 
707
 
 
708
  if [ "$old_family" != "$new_family" ]; then
 
709
    error_text="$error_text
 
710
Upgrading directly from MySQL $old_family to MySQL $new_family may not
 
711
be safe in all cases.  A manual dump and restore using mysqldump is
 
712
recommended.  It is important to review the MySQL manual's Upgrading
 
713
section for version-specific incompatibilities.
 
714
"
 
715
  fi
 
716
 
 
717
  if [ -n "$error_text" ]; then
 
718
    cat <<HERE >&2
 
719
 
 
720
******************************************************************
 
721
A MySQL server package ($installed) is installed.
 
722
$error_text
 
723
A manual upgrade is required.
 
724
 
 
725
- Ensure that you have a complete, working backup of your data and my.cnf
 
726
  files
 
727
- Shut down the MySQL server cleanly
 
728
- Remove the existing MySQL packages.  Usually this command will
 
729
  list the packages you should remove:
 
730
  rpm -qa | grep -i '^mysql-'
 
731
 
 
732
  You may choose to use 'rpm --nodeps -ev <package-name>' to remove
 
733
  the package which contains the mysqlclient shared library.  The
 
734
  library will be reinstalled by the MySQL-shared-compat package.
 
735
- Install the new MySQL packages supplied by $myvendor
 
736
- Ensure that the MySQL server is started
 
737
- Run the 'mysql_upgrade' program
 
738
 
 
739
This is a brief description of the upgrade process.  Important details
 
740
can be found in the MySQL manual, in the Upgrading section.
 
741
******************************************************************
 
742
HERE
 
743
    exit 1
 
744
  fi
 
745
fi
 
746
 
 
747
# We assume that if there is exactly one ".pid" file,
 
748
# it contains the valid PID of a running MySQL server.
 
749
NR_PID_FILES=`ls $PID_FILE_PATT 2>/dev/null | wc -l`
 
750
case $NR_PID_FILES in
 
751
        0 ) SERVER_TO_START=''  ;;  # No "*.pid" file == no running server
 
752
        1 ) SERVER_TO_START='true' ;;
 
753
        * ) SERVER_TO_START=''      # Situation not clear
 
754
            SEVERAL_PID_FILES=true ;;
 
755
esac
 
756
# That logic may be debated: We might check whether it is non-empty,
 
757
# contains exactly one number (possibly a PID), and whether "ps" finds it.
 
758
# OTOH, if there is no such process, it means a crash without a cleanup -
 
759
# is that a reason not to start a new server after upgrade?
 
760
 
 
761
STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
 
762
 
 
763
if [ -f $STATUS_FILE ]; then
 
764
        echo "Some previous upgrade was not finished:"
 
765
        ls -ld $STATUS_FILE
 
766
        echo "Please check its status, then do"
 
767
        echo "    rm $STATUS_FILE"
 
768
        echo "before repeating the MySQL upgrade."
 
769
        exit 1
 
770
elif [ -n "$SEVERAL_PID_FILES" ] ; then
 
771
        echo "You have more than one PID file:"
 
772
        ls -ld $PID_FILE_PATT
 
773
        echo "Please check which one (if any) corresponds to a running server"
 
774
        echo "and delete all others before repeating the MySQL upgrade."
 
775
        exit 1
 
776
fi
 
777
 
 
778
NEW_VERSION=%{mysql_version}-%{release}
 
779
 
 
780
# The "pre" section code is also run on a first installation,
 
781
# when there  is no data directory yet. Protect against error messages.
 
782
if [ -d $mysql_datadir ] ; then
 
783
        echo "MySQL RPM upgrade to version $NEW_VERSION"  > $STATUS_FILE
 
784
        echo "'pre' step running at `date`"          >> $STATUS_FILE
 
785
        echo                                         >> $STATUS_FILE
 
786
        fcount=`ls -ltr $mysql_datadir/*.err 2>/dev/null | wc -l`       
 
787
        if [ $fcount -gt 0 ] ; then
 
788
             echo "ERR file(s):"                          >> $STATUS_FILE
 
789
             ls -ltr $mysql_datadir/*.err                 >> $STATUS_FILE
 
790
             echo                                         >> $STATUS_FILE
 
791
             echo "Latest 'Version' line in latest file:" >> $STATUS_FILE
 
792
             grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \
 
793
                tail -1                              >> $STATUS_FILE
 
794
             echo                                         >> $STATUS_FILE
 
795
        fi
 
796
 
 
797
        if [ -n "$SERVER_TO_START" ] ; then
 
798
                # There is only one PID file, race possibility ignored
 
799
                echo "PID file:"                           >> $STATUS_FILE
 
800
                ls -l   $PID_FILE_PATT                     >> $STATUS_FILE
 
801
                cat     $PID_FILE_PATT                     >> $STATUS_FILE
 
802
                echo                                       >> $STATUS_FILE
 
803
                echo "Server process:"                     >> $STATUS_FILE
 
804
                ps -fp `cat $PID_FILE_PATT`                >> $STATUS_FILE
 
805
                echo                                       >> $STATUS_FILE
 
806
                echo "SERVER_TO_START=$SERVER_TO_START"    >> $STATUS_FILE
 
807
        else
 
808
                # Take a note we checked it ...
 
809
                echo "PID file:"                           >> $STATUS_FILE
 
810
                ls -l   $PID_FILE_PATT                     >> $STATUS_FILE 2>&1
 
811
        fi
 
812
fi
 
813
 
 
814
# Shut down a previously installed server first
 
815
# Note we *could* make that depend on $SERVER_TO_START, but we rather don't,
 
816
# so a "stop" is attempted even if there is no PID file.
 
817
# (Maybe the "stop" doesn't work then, but we might fix that in itself.)
 
818
if [ -x %{_sysconfdir}/init.d/mysql ] ; then
 
819
        %{_sysconfdir}/init.d/mysql stop > /dev/null 2>&1
 
820
        echo "Giving mysqld 5 seconds to exit nicely"
 
821
        sleep 5
 
822
fi
 
823
 
 
824
%post -n MySQL-server%{product_suffix}
 
825
# This is the code running at the end of a RPM install or upgrade action,
 
826
# after the (new) files have been written.
 
827
 
 
828
# ATTENTION: Parts of this are duplicated in the "triggerpostun" !
 
829
 
 
830
# There are users who deviate from the default file system layout.
 
831
# Check local settings to support them.
 
832
if [ -x %{_bindir}/my_print_defaults ]
 
833
then
 
834
  mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'`
 
835
fi
 
836
if [ -z "$mysql_datadir" ]
 
837
then
 
838
  mysql_datadir=%{mysqldatadir}
 
839
fi
 
840
 
 
841
NEW_VERSION=%{mysql_version}-%{release}
 
842
STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER
 
843
 
 
844
# ----------------------------------------------------------------------
 
845
# Create data directory if needed, check whether upgrade or install
 
846
# ----------------------------------------------------------------------
 
847
if [ ! -d $mysql_datadir ] ; then mkdir -m 755 $mysql_datadir; fi
 
848
if [ -f $STATUS_FILE ] ; then
 
849
        SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
 
850
else
 
851
        SERVER_TO_START=''
 
852
fi
 
853
# echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
 
854
if [ ! -d $mysql_datadir/mysql ] ; then
 
855
        mkdir $mysql_datadir/mysql $mysql_datadir/test
 
856
        echo "MySQL RPM installation of version $NEW_VERSION" >> $STATUS_FILE
 
857
else
 
858
        # If the directory exists, we may assume it is an upgrade.
 
859
        echo "MySQL RPM upgrade to version $NEW_VERSION" >> $STATUS_FILE
 
860
fi
 
861
 
 
862
# ----------------------------------------------------------------------
 
863
# Make MySQL start/shutdown automatically when the machine does it.
 
864
# ----------------------------------------------------------------------
 
865
# NOTE: This still needs to be debated. Should we check whether these links
 
866
# for the other run levels exist(ed) before the upgrade?
 
867
# use chkconfig on Enterprise Linux and newer SuSE releases
 
868
if [ -x /sbin/chkconfig ] ; then
 
869
        /sbin/chkconfig --add mysql
 
870
# use insserv for older SuSE Linux versions
 
871
elif [ -x /sbin/insserv ] ; then
 
872
        /sbin/insserv %{_sysconfdir}/init.d/mysql
 
873
fi
 
874
 
 
875
# ----------------------------------------------------------------------
 
876
# Create a MySQL user and group. Do not report any problems if it already
 
877
# exists.
 
878
# ----------------------------------------------------------------------
 
879
groupadd -r %{mysqld_group} 2> /dev/null || true
 
880
useradd -M -r -d $mysql_datadir -s /bin/bash -c "MySQL server" \
 
881
  -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
 
882
# The user may already exist, make sure it has the proper group nevertheless
 
883
# (BUG#12823)
 
884
usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
 
885
 
 
886
# ----------------------------------------------------------------------
 
887
# Change permissions so that the user that will run the MySQL daemon
 
888
# owns all database files.
 
889
# ----------------------------------------------------------------------
 
890
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
 
891
 
 
892
# ----------------------------------------------------------------------
 
893
# Initiate databases if needed
 
894
# ----------------------------------------------------------------------
 
895
if ! grep '^MySQL RPM upgrade' $STATUS_FILE >/dev/null 2>&1 ; then
 
896
        # Fix bug#45415: no "mysql_install_db" on an upgrade
 
897
        # Do this as a negative to err towards more "install" runs
 
898
        # rather than to miss one.
 
899
        %{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
 
900
fi
 
901
 
 
902
# ----------------------------------------------------------------------
 
903
# Upgrade databases if needed would go here - but it cannot be automated yet
 
904
# ----------------------------------------------------------------------
 
905
 
 
906
# ----------------------------------------------------------------------
 
907
# Change permissions again to fix any new files.
 
908
# ----------------------------------------------------------------------
 
909
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
 
910
 
 
911
# ----------------------------------------------------------------------
 
912
# Fix permissions for the permission database so that only the user
 
913
# can read them.
 
914
# ----------------------------------------------------------------------
 
915
chmod -R og-rw $mysql_datadir/mysql
 
916
 
 
917
# ----------------------------------------------------------------------
 
918
# install SELinux files - but don't override existing ones
 
919
# ----------------------------------------------------------------------
 
920
SETARGETDIR=/etc/selinux/targeted/src/policy
 
921
SEDOMPROG=$SETARGETDIR/domains/program
 
922
SECONPROG=$SETARGETDIR/file_contexts/program
 
923
if [ -f /etc/redhat-release ] \
 
924
 && (grep -q "Red Hat Enterprise Linux .. release 4" /etc/redhat-release \
 
925
 || grep -q "CentOS release 4" /etc/redhat-release) ; then
 
926
  echo
 
927
  echo
 
928
  echo 'Notes regarding SELinux on this platform:'
 
929
  echo '========================================='
 
930
  echo
 
931
  echo 'The default policy might cause server startup to fail because it is'
 
932
  echo 'not allowed to access critical files.  In this case, please update'
 
933
  echo 'your installation.'
 
934
  echo
 
935
  echo 'The default policy might also cause inavailability of SSL related'
 
936
  echo 'features because the server is not allowed to access /dev/random'
 
937
  echo 'and /dev/urandom. If this is a problem, please do the following:'
 
938
  echo
 
939
  echo '  1) install selinux-policy-targeted-sources from your OS vendor'
 
940
  echo '  2) add the following two lines to '$SEDOMPROG/mysqld.te':'
 
941
  echo '       allow mysqld_t random_device_t:chr_file read;'
 
942
  echo '       allow mysqld_t urandom_device_t:chr_file read;'
 
943
  echo '  3) cd to '$SETARGETDIR' and issue the following command:'
 
944
  echo '       make load'
 
945
  echo
 
946
  echo
 
947
fi
 
948
 
 
949
if [ -x sbin/restorecon ] ; then
 
950
  sbin/restorecon -R var/lib/mysql
 
951
fi
 
952
 
 
953
# Was the server running before the upgrade? If so, restart the new one.
 
954
if [ "$SERVER_TO_START" = "true" ] ; then
 
955
        # Restart in the same way that mysqld will be started normally.
 
956
        if [ -x %{_sysconfdir}/init.d/mysql ] ; then
 
957
                %{_sysconfdir}/init.d/mysql start
 
958
                echo "Giving mysqld 5 seconds to start"
 
959
                sleep 5
 
960
        fi
 
961
fi
 
962
 
 
963
# Collect an upgrade history ...
 
964
echo "Upgrade/install finished at `date`"        >> $STATUS_FILE
 
965
echo                                             >> $STATUS_FILE
 
966
echo "====="                                     >> $STATUS_FILE
 
967
STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
 
968
cat $STATUS_FILE >> $STATUS_HISTORY
 
969
mv -f  $STATUS_FILE ${STATUS_FILE}-LAST  # for "triggerpostun"
 
970
 
 
971
 
 
972
#echo "Thank you for installing the MySQL Community Server! For Production
 
973
#systems, we recommend MySQL Enterprise, which contains enterprise-ready
 
974
#software, intelligent advisory services, and full production support with
 
975
#scheduled service packs and more.  Visit www.mysql.com/enterprise for more
 
976
#information."
 
977
 
 
978
%preun -n MySQL-server%{product_suffix}
 
979
 
 
980
# Which '$1' does this refer to?  Fedora docs have info:
 
981
# " ... a count of the number of versions of the package that are installed.
 
982
#   Action                           Count
 
983
#   Install the first time           1
 
984
#   Upgrade                          2 or higher (depending on the number of versions installed)
 
985
#   Remove last version of package   0 "
 
986
#
 
987
#  http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html
 
988
 
 
989
if [ $1 = 0 ] ; then
 
990
        # Stop MySQL before uninstalling it
 
991
        if [ -x %{_sysconfdir}/init.d/mysql ] ; then
 
992
                %{_sysconfdir}/init.d/mysql stop > /dev/null
 
993
                # Remove autostart of MySQL
 
994
                # use chkconfig on Enterprise Linux and newer SuSE releases
 
995
                if [ -x /sbin/chkconfig ] ; then
 
996
                        /sbin/chkconfig --del mysql
 
997
                # For older SuSE Linux versions
 
998
                elif [ -x /sbin/insserv ] ; then
 
999
                        /sbin/insserv -r %{_sysconfdir}/init.d/mysql
 
1000
                fi
 
1001
        fi
 
1002
fi
 
1003
 
 
1004
# We do not remove the mysql user since it may still own a lot of
 
1005
# database files.
 
1006
 
 
1007
%triggerpostun -n MySQL-server%{product_suffix} --MySQL-server-community
 
1008
 
 
1009
# Setup: We renamed this package, so any existing "server-community"
 
1010
#   package will be removed when this "server" is installed.
 
1011
# Problem: RPM will first run the "pre" and "post" sections of this script,
 
1012
#   and only then the "preun" of that old community server.
 
1013
#   But this "preun" includes stopping the server and uninstalling the service,
 
1014
#   "chkconfig --del mysql" which removes the symlinks to the start script.
 
1015
# Solution: *After* the community server got removed, restart this server
 
1016
#   and re-install the service.
 
1017
#
 
1018
# For information about triggers in spec files, see the Fedora docs:
 
1019
#   http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch10s02.html
 
1020
# For all details of this code, see the "pre" and "post" sections.
 
1021
 
 
1022
# There are users who deviate from the default file system layout.
 
1023
# Check local settings to support them.
 
1024
if [ -x %{_bindir}/my_print_defaults ]
 
1025
then
 
1026
  mysql_datadir=`%{_bindir}/my_print_defaults server mysqld | grep '^--datadir=' | sed -n 's/--datadir=//p'`
 
1027
fi
 
1028
if [ -z "$mysql_datadir" ]
 
1029
then
 
1030
  mysql_datadir=%{mysqldatadir}
 
1031
fi
 
1032
 
 
1033
NEW_VERSION=%{mysql_version}-%{release}
 
1034
STATUS_FILE=$mysql_datadir/RPM_UPGRADE_MARKER-LAST  # Note the difference!
 
1035
STATUS_HISTORY=$mysql_datadir/RPM_UPGRADE_HISTORY
 
1036
 
 
1037
if [ -f $STATUS_FILE ] ; then
 
1038
        SERVER_TO_START=`grep '^SERVER_TO_START=' $STATUS_FILE | cut -c17-`
 
1039
else
 
1040
        # This should never happen, but let's be prepared
 
1041
        SERVER_TO_START=''
 
1042
fi
 
1043
echo "Analyzed: SERVER_TO_START=$SERVER_TO_START"
 
1044
 
 
1045
if [ -x /sbin/chkconfig ] ; then
 
1046
        /sbin/chkconfig --add mysql
 
1047
# use insserv for older SuSE Linux versions
 
1048
elif [ -x /sbin/insserv ] ; then
 
1049
        /sbin/insserv %{_sysconfdir}/init.d/mysql
 
1050
fi
 
1051
 
 
1052
# Was the server running before the upgrade? If so, restart the new one.
 
1053
if [ "$SERVER_TO_START" = "true" ] ; then
 
1054
        # Restart in the same way that mysqld will be started normally.
 
1055
        if [ -x %{_sysconfdir}/init.d/mysql ] ; then
 
1056
                %{_sysconfdir}/init.d/mysql start
 
1057
                echo "Giving mysqld 5 seconds to start"
 
1058
                sleep 5
 
1059
        fi
 
1060
fi
 
1061
 
 
1062
echo "Trigger 'postun --community' finished at `date`"        >> $STATUS_HISTORY
 
1063
echo                                             >> $STATUS_HISTORY
 
1064
echo "====="                                     >> $STATUS_HISTORY
 
1065
 
 
1066
 
 
1067
# ----------------------------------------------------------------------
 
1068
# Clean up the BuildRoot after build is done
 
1069
# ----------------------------------------------------------------------
 
1070
%clean
 
1071
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] \
 
1072
  && rm -rf $RPM_BUILD_ROOT;
 
1073
 
 
1074
##############################################################################
 
1075
#  Files section
 
1076
##############################################################################
 
1077
 
 
1078
%files -n MySQL-server%{product_suffix} -f release/support-files/plugins.files
 
1079
%defattr(-,root,root,0755)
 
1080
 
 
1081
%if %{defined license_files_server}
 
1082
%doc %{license_files_server}
 
1083
%endif
 
1084
%doc %{src_dir}/Docs/ChangeLog
 
1085
%doc %{src_dir}/Docs/INFO_SRC*
 
1086
%doc release/Docs/INFO_BIN*
 
1087
%doc release/support-files/my-*.cnf
 
1088
 
 
1089
%doc %attr(644, root, root) %{_infodir}/mysql.info*
 
1090
 
 
1091
%doc %attr(644, root, man) %{_mandir}/man1/innochecksum.1*
 
1092
%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
 
1093
%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
 
1094
%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
 
1095
%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
 
1096
%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1*
 
1097
%doc %attr(644, root, man) %{_mandir}/man1/mysql_convert_table_format.1*
 
1098
%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_extensions.1*
 
1099
%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8*
 
1100
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
 
1101
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
 
1102
%doc %attr(644, root, man) %{_mandir}/man1/mysqldumpslow.1*
 
1103
%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
 
1104
%doc %attr(644, root, man) %{_mandir}/man1/mysql_plugin.1*
 
1105
%doc %attr(644, root, man) %{_mandir}/man1/mysql_secure_installation.1*
 
1106
%doc %attr(644, root, man) %{_mandir}/man1/mysql_setpermission.1*
 
1107
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
 
1108
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
 
1109
%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
 
1110
%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
 
1111
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest.1*
 
1112
%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1*
 
1113
%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
 
1114
%doc %attr(644, root, man) %{_mandir}/man1/mysqlbug.1*
 
1115
%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
 
1116
%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
 
1117
%doc %attr(644, root, man) %{_mandir}/man1/resolve_stack_dump.1*
 
1118
%doc %attr(644, root, man) %{_mandir}/man1/resolveip.1*
 
1119
 
 
1120
%ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf
 
1121
 
 
1122
%attr(755, root, root) %{_bindir}/innochecksum
 
1123
%attr(755, root, root) %{_bindir}/my_print_defaults
 
1124
%attr(755, root, root) %{_bindir}/myisam_ftdump
 
1125
%attr(755, root, root) %{_bindir}/myisamchk
 
1126
%attr(755, root, root) %{_bindir}/myisamlog
 
1127
%attr(755, root, root) %{_bindir}/myisampack
 
1128
%attr(755, root, root) %{_bindir}/mysql_convert_table_format
 
1129
%attr(755, root, root) %{_bindir}/mysql_fix_extensions
 
1130
%attr(755, root, root) %{_bindir}/mysql_install_db
 
1131
%attr(755, root, root) %{_bindir}/mysql_plugin
 
1132
%attr(755, root, root) %{_bindir}/mysql_secure_installation
 
1133
%attr(755, root, root) %{_bindir}/mysql_setpermission
 
1134
%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql
 
1135
%attr(755, root, root) %{_bindir}/mysql_upgrade
 
1136
%attr(755, root, root) %{_bindir}/mysql_zap
 
1137
%attr(755, root, root) %{_bindir}/mysqlbug
 
1138
%attr(755, root, root) %{_bindir}/mysqld_multi
 
1139
%attr(755, root, root) %{_bindir}/mysqld_safe
 
1140
%attr(755, root, root) %{_bindir}/mysqldumpslow
 
1141
%attr(755, root, root) %{_bindir}/mysqlhotcopy
 
1142
%attr(755, root, root) %{_bindir}/mysqltest
 
1143
%attr(755, root, root) %{_bindir}/perror
 
1144
%attr(755, root, root) %{_bindir}/replace
 
1145
%attr(755, root, root) %{_bindir}/resolve_stack_dump
 
1146
%attr(755, root, root) %{_bindir}/resolveip
 
1147
 
 
1148
%attr(755, root, root) %{_sbindir}/mysqld
 
1149
%attr(755, root, root) %{_sbindir}/mysqld-debug
 
1150
%attr(755, root, root) %{_sbindir}/rcmysql
 
1151
%attr(755, root, root) %{_libdir}/mysql/plugin/daemon_example.ini
 
1152
 
 
1153
%if %{WITH_TCMALLOC}
 
1154
%attr(755, root, root) %{_libdir}/mysql/%{malloc_lib_target}
 
1155
%endif
 
1156
 
 
1157
%attr(644, root, root) %config(noreplace,missingok) %{_sysconfdir}/logrotate.d/mysql
 
1158
%attr(755, root, root) %{_sysconfdir}/init.d/mysql
 
1159
 
 
1160
%attr(755, root, root) %{_datadir}/mysql/
 
1161
 
 
1162
# ----------------------------------------------------------------------------
 
1163
%files -n MySQL-client%{product_suffix}
 
1164
 
 
1165
%defattr(-, root, root, 0755)
 
1166
%attr(755, root, root) %{_bindir}/msql2mysql
 
1167
%attr(755, root, root) %{_bindir}/mysql
 
1168
%attr(755, root, root) %{_bindir}/mysql_find_rows
 
1169
%attr(755, root, root) %{_bindir}/mysql_waitpid
 
1170
%attr(755, root, root) %{_bindir}/mysqlaccess
 
1171
# XXX: This should be moved to %{_sysconfdir}
 
1172
%attr(644, root, root) %{_bindir}/mysqlaccess.conf
 
1173
%attr(755, root, root) %{_bindir}/mysqladmin
 
1174
%attr(755, root, root) %{_bindir}/mysqlbinlog
 
1175
%attr(755, root, root) %{_bindir}/mysqlcheck
 
1176
%attr(755, root, root) %{_bindir}/mysqldump
 
1177
%attr(755, root, root) %{_bindir}/mysqlimport
 
1178
%attr(755, root, root) %{_bindir}/mysqlshow
 
1179
%attr(755, root, root) %{_bindir}/mysqlslap
 
1180
 
 
1181
%doc %attr(644, root, man) %{_mandir}/man1/msql2mysql.1*
 
1182
%doc %attr(644, root, man) %{_mandir}/man1/mysql.1*
 
1183
%doc %attr(644, root, man) %{_mandir}/man1/mysql_find_rows.1*
 
1184
%doc %attr(644, root, man) %{_mandir}/man1/mysql_waitpid.1*
 
1185
%doc %attr(644, root, man) %{_mandir}/man1/mysqlaccess.1*
 
1186
%doc %attr(644, root, man) %{_mandir}/man1/mysqladmin.1*
 
1187
%doc %attr(644, root, man) %{_mandir}/man1/mysqlbinlog.1*
 
1188
%doc %attr(644, root, man) %{_mandir}/man1/mysqlcheck.1*
 
1189
%doc %attr(644, root, man) %{_mandir}/man1/mysqldump.1*
 
1190
%doc %attr(644, root, man) %{_mandir}/man1/mysqlimport.1*
 
1191
%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
 
1192
%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
 
1193
 
 
1194
# ----------------------------------------------------------------------------
 
1195
%files -n MySQL-devel%{product_suffix} -f optional-files-devel
 
1196
%defattr(-, root, root, 0755)
 
1197
%doc %attr(644, root, man) %{_mandir}/man1/comp_err.1*
 
1198
%doc %attr(644, root, man) %{_mandir}/man1/mysql_config.1*
 
1199
%attr(755, root, root) %{_bindir}/mysql_config
 
1200
%dir %attr(755, root, root) %{_includedir}/mysql
 
1201
%dir %attr(755, root, root) %{_libdir}/mysql
 
1202
%{_includedir}/mysql/*
 
1203
%{_datadir}/aclocal/mysql.m4
 
1204
%{_libdir}/mysql/libmysqlclient.a
 
1205
%{_libdir}/mysql/libmysqlclient_r.a
 
1206
%{_libdir}/mysql/libmysqlservices.a
 
1207
 
 
1208
# ----------------------------------------------------------------------------
 
1209
%files -n MySQL-shared%{product_suffix}
 
1210
%defattr(-, root, root, 0755)
 
1211
# Shared libraries (omit for architectures that don't support them)
 
1212
%{_libdir}/libmysql*.so*
 
1213
 
 
1214
%post -n MySQL-shared%{product_suffix}
 
1215
/sbin/ldconfig
 
1216
 
 
1217
%postun -n MySQL-shared%{product_suffix}
 
1218
/sbin/ldconfig
 
1219
 
 
1220
# ----------------------------------------------------------------------------
 
1221
%files -n MySQL-test%{product_suffix}
 
1222
%defattr(-, root, root, 0755)
 
1223
%attr(-, root, root) %{_datadir}/mysql-test
 
1224
%attr(755, root, root) %{_bindir}/mysql_client_test
 
1225
%attr(755, root, root) %{_bindir}/mysql_client_test_embedded
 
1226
%attr(755, root, root) %{_bindir}/mysqltest_embedded
 
1227
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test.1*
 
1228
%doc %attr(644, root, man) %{_mandir}/man1/mysql-stress-test.pl.1*
 
1229
%doc %attr(644, root, man) %{_mandir}/man1/mysql-test-run.pl.1*
 
1230
%doc %attr(644, root, man) %{_mandir}/man1/mysql_client_test_embedded.1*
 
1231
%doc %attr(644, root, man) %{_mandir}/man1/mysqltest_embedded.1*
 
1232
 
 
1233
# ----------------------------------------------------------------------------
 
1234
%files -n MySQL-embedded%{product_suffix}
 
1235
%defattr(-, root, root, 0755)
 
1236
%attr(755, root, root) %{_bindir}/mysql_embedded
 
1237
%attr(644, root, root) %{_libdir}/mysql/libmysqld.a
 
1238
%attr(644, root, root) %{_libdir}/mysql/libmysqld-debug.a
 
1239
 
 
1240
##############################################################################
 
1241
# The spec file changelog only includes changes made to the spec file
 
1242
# itself - note that they must be ordered by date (important when
 
1243
# merging BK trees)
 
1244
##############################################################################
 
1245
%changelog
 
1246
* Tue Jul 24 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1247
 
 
1248
- Add a macro "runselftest":
 
1249
  if set to 1 (default), the test suite will be run during the RPM build;
 
1250
  this can be oveeridden via the command line by adding
 
1251
      --define "runselftest 0"
 
1252
  Failures of the test suite will NOT make the RPM build fail!
 
1253
 
 
1254
* Mon Jun 11 2012 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1255
 
 
1256
- Make sure newly added "SPECIFIC-ULN/" directory does not disturb packaging.
 
1257
  
 
1258
* Wed Sep 28 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1259
 
 
1260
- Fix duplicate mentioning of "mysql_plugin" and its manual page,
 
1261
  it is better to keep alphabetic order in the files list (merging!).
 
1262
  
 
1263
* Wed Sep 14 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1264
 
 
1265
- Let the RPM capabilities ("obsoletes" etc) ensure that an upgrade may replace
 
1266
  the RPMs of any configuration (of the current or the preceding release series)
 
1267
  by the new ones. This is done by not using the implicitly generated capabilities
 
1268
  (which include the configuration name) and relying on more generic ones which
 
1269
  just list the function ("server", "client", ...).
 
1270
  The implicit generation cannot be prevented, so all these capabilities must be
 
1271
  explicitly listed in "Obsoletes:"
 
1272
 
 
1273
* Tue Sep 13 2011 Jonathan Perkin <jonathan.perkin@oracle.com>
 
1274
 
 
1275
- Add support for Oracle Linux 6 and Red Hat Enterprise Linux 6.  Due to
 
1276
  changes in RPM behaviour ($RPM_BUILD_ROOT is removed prior to install)
 
1277
  this necessitated a move of the libmygcc.a installation to the install
 
1278
  phase, which is probably where it belonged in the first place.
 
1279
 
 
1280
* Tue Sep 13 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1281
 
 
1282
- "make_win_bin_dist" and its manual are dropped, cmake does it different.
 
1283
 
 
1284
* Thu Sep 08 2011 Daniel Fischer <daniel.fischer@oracle.com>
 
1285
 
 
1286
- Add mysql_plugin man page.
 
1287
 
 
1288
* Tue Aug 30 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1289
 
 
1290
- Add the manual page for "mysql_plugin" to the server package.
 
1291
 
 
1292
* Fri Aug 19 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1293
 
 
1294
- Null-upmerge the fix of bug#37165: This spec file is not affected.
 
1295
- Replace "/var/lib/mysql" by the spec file variable "%{mysqldatadir}".
 
1296
 
 
1297
* Fri Aug 12 2011 Daniel Fischer <daniel.fischer@oracle.com>
 
1298
 
 
1299
- Source plugin library files list from cmake-generated file.
 
1300
 
 
1301
* Mon Jul 25 2011 Chuck Bell <chuck.bell@oracle.com>
 
1302
 
 
1303
- Added the mysql_plugin client - enables or disables plugins.
 
1304
 
 
1305
* Thu Jul 21 2011 Sunanda Menon <sunanda.menon@oracle.com>
 
1306
 
 
1307
- Fix bug#12561297: Added the MySQL embedded binary
 
1308
 
 
1309
* Thu Jul 07 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1310
 
 
1311
- Fix bug#45415: "rpm upgrade recreates test database"
 
1312
  Let the creation of the "test" database happen only during a new installation,
 
1313
  not in an RPM upgrade.
 
1314
  This affects both the "mkdir" and the call of "mysql_install_db".
 
1315
 
 
1316
* Thu Feb 09 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1317
 
 
1318
- Fix bug#56581: If an installation deviates from the default file locations
 
1319
  ("datadir" and "pid-file"), the mechanism to detect a running server (on upgrade)
 
1320
  should still work, and use these locations.
 
1321
  The problem was that the fix for bug#27072 did not check for local settings.
 
1322
  
 
1323
* Mon Jan 31 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1324
 
 
1325
- Install the new "manifest" files: "INFO_SRC" and "INFO_BIN".
 
1326
 
 
1327
* Tue Nov 23 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
 
1328
 
 
1329
- EXCEPTIONS-CLIENT has been deleted, remove it from here too
 
1330
- Support MYSQL_BUILD_MAKE_JFLAG environment variable for passing
 
1331
  a '-j' argument to make.
 
1332
 
 
1333
* Mon Nov 1 2010 Georgi Kodinov <georgi.godinov@oracle.com>
 
1334
 
 
1335
- Added test authentication (WL#1054) plugin binaries
 
1336
 
 
1337
* Wed Oct 6 2010 Georgi Kodinov <georgi.godinov@oracle.com>
 
1338
 
 
1339
- Added example external authentication (WL#1054) plugin binaries
 
1340
 
 
1341
* Wed Aug 11 2010 Joerg Bruehe <joerg.bruehe@oracle.com>
 
1342
 
 
1343
- With a recent spec file cleanup, names have changed: A "-community" part was dropped.
 
1344
  Reflect that in the "Obsoletes" specifications.
 
1345
- Add a "triggerpostun" to handle the uninstall of the "-community" server RPM.
 
1346
- This fixes bug#55015 "MySQL server is not restarted properly after RPM upgrade".
 
1347
 
 
1348
* Tue Jun 15 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1349
 
 
1350
- Change the behaviour on installation and upgrade:
 
1351
  On installation, do not autostart the server.
 
1352
  *Iff* the server was stopped before the upgrade is started, this is taken as a
 
1353
  sign the administrator is handling that manually, and so the new server will
 
1354
  not be started automatically at the end of the upgrade.
 
1355
  The start/stop scripts will still be installed, so the server will be started
 
1356
  on the next machine boot.
 
1357
  This is the 5.5 version of fixing bug#27072 (RPM autostarting the server).
 
1358
 
 
1359
* Tue Jun 1 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
 
1360
 
 
1361
- Implement SELinux checks from distribution-specific spec file.
 
1362
 
 
1363
* Wed May 12 2010 Jonathan Perkin <jonathan.perkin@oracle.com>
 
1364
 
 
1365
- Large number of changes to build using CMake
 
1366
- Introduce distribution-specific RPMs
 
1367
- Drop debuginfo, build all binaries with debug/symbols
 
1368
- Remove __os_install_post, use native macro
 
1369
- Remove _unpackaged_files_terminate_build, make it an error to have
 
1370
  unpackaged files
 
1371
- Remove cluster RPMs
 
1372
 
 
1373
* Wed Mar 24 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1374
 
 
1375
- Add "--with-perfschema" to the configure options.
 
1376
 
 
1377
* Mon Mar 22 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1378
 
 
1379
- User "usr/lib*" to allow for both "usr/lib" and "usr/lib64",
 
1380
  mask "rmdir" return code 1.
 
1381
- Remove "ha_example.*" files from the list, they aren't built.
 
1382
 
 
1383
* Wed Mar 17 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1384
 
 
1385
- Fix a wrong path name in handling the debug plugins.
 
1386
 
 
1387
* Wed Mar 10 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1388
 
 
1389
- Take the result of the debug plugin build and put it into the optimized tree,
 
1390
  so that it becomes part of the final installation;
 
1391
  include the files in the packlist. Part of the fixes for bug#49022.
 
1392
 
 
1393
* Mon Mar 01 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1394
 
 
1395
- Set "Oracle and/or its affiliates" as the vendor and copyright owner,
 
1396
  accept upgrading from packages showing MySQL or Sun as vendor.
 
1397
 
 
1398
* Fri Feb 12 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1399
 
 
1400
- Formatting changes:
 
1401
  Have a consistent structure of separator lines and of indentation
 
1402
  (8 leading blanks => tab).
 
1403
- Introduce the variable "src_dir".
 
1404
- Give the environment variables "MYSQL_BUILD_CC(CXX)" precedence
 
1405
  over "CC" ("CXX").
 
1406
- Drop the old "with_static" argument analysis, this is not supported
 
1407
  in 5.1 since ages.
 
1408
- Introduce variables to control the handlers individually, as well
 
1409
  as other options.
 
1410
- Use the new "--with-plugin" notation for the table handlers.
 
1411
- Drop handling "/etc/rc.d/init.d/mysql", the switch to "/etc/init.d/mysql"
 
1412
  was done back in 2002 already.
 
1413
- Make "--with-zlib-dir=bundled" the default, add an option to disable it.
 
1414
- Add missing manual pages to the file list.
 
1415
- Improve the runtime check for "libgcc.a", protect it against being tried
 
1416
  with the Intel compiler "icc".
 
1417
 
 
1418
* Mon Jan 11 2010 Joerg Bruehe <joerg.bruehe@sun.com>
 
1419
 
 
1420
- Change RPM file naming:
 
1421
  - Suffix like "-m2", "-rc" becomes part of version as "_m2", "_rc".
 
1422
  - Release counts from 1, not 0.
 
1423
 
 
1424
* Wed Dec 23 2009 Joerg Bruehe <joerg.bruehe@sun.com>
 
1425
 
 
1426
- The "semisync" plugin file name has lost its introductory "lib",
 
1427
  adapt the file lists for the subpackages.
 
1428
  This is a part missing from the fix for bug#48351.
 
1429
- Remove the "fix_privilege_tables" manual, it does not exist in 5.5
 
1430
  (and likely, the whole script will go, too).
 
1431
 
 
1432
* Mon Nov 16 2009 Joerg Bruehe <joerg.bruehe@sun.com>
 
1433
 
 
1434
- Fix some problems with the directives around "tcmalloc" (experimental),
 
1435
  remove erroneous traces of the InnoDB plugin (that is 5.1 only).
 
1436
 
 
1437
* Fri Oct 06 2009 Magnus Blaudd <mvensson@mysql.com>
 
1438
 
 
1439
- Removed mysql_fix_privilege_tables
 
1440
 
 
1441
* Fri Oct 02 2009 Alexander Nozdrin <alexander.nozdrin@sun.com>
 
1442
 
 
1443
- "mysqlmanager" got removed from version 5.4, all references deleted.
 
1444
 
 
1445
* Fri Aug 28 2009 Joerg Bruehe <joerg.bruehe@sun.com>
 
1446
 
 
1447
- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin.
 
1448
 
 
1449
* Thu Aug 27 2009 Joerg Bruehe <joerg.bruehe@sun.com>
 
1450
 
 
1451
- This version does not contain the "Instance manager", "mysqlmanager":
 
1452
  Remove it from the spec file so that packaging succeeds.
 
1453
 
 
1454
* Mon Aug 24 2009 Jonathan Perkin <jperkin@sun.com>
 
1455
 
 
1456
- Add conditionals for bundled zlib and innodb plugin
 
1457
 
 
1458
* Fri Aug 21 2009 Jonathan Perkin <jperkin@sun.com>
 
1459
 
 
1460
- Install plugin libraries in appropriate packages.
 
1461
- Disable libdaemon_example and ftexample plugins.
 
1462
 
 
1463
* Thu Aug 20 2009 Jonathan Perkin <jperkin@sun.com>
 
1464
 
 
1465
- Update variable used for mysql-test suite location to match source.
 
1466
 
 
1467
* Fri Nov 07 2008 Joerg Bruehe <joerg@mysql.com>
 
1468
 
 
1469
- Correct yesterday's fix, so that it also works for the last flag,
 
1470
  and fix a wrong quoting: un-quoted quote marks must not be escaped.
 
1471
 
 
1472
* Thu Nov 06 2008 Kent Boortz <kent.boortz@sun.com>
 
1473
 
 
1474
- Removed "mysql_upgrade_shell"
 
1475
- Removed some copy/paste between debug and normal build
 
1476
 
 
1477
* Thu Nov 06 2008 Joerg Bruehe <joerg@mysql.com>
 
1478
 
 
1479
- Modify CFLAGS and CXXFLAGS such that a debug build is not optimized.
 
1480
  This should cover both gcc and icc flags.  Fixes bug#40546.
 
1481
 
 
1482
* Fri Aug 29 2008 Kent Boortz <kent@mysql.com>
 
1483
 
 
1484
- Removed the "Federated" storage engine option, and enabled in all
 
1485
 
 
1486
* Tue Aug 26 2008 Joerg Bruehe <joerg@mysql.com>
 
1487
 
 
1488
- Get rid of the "warning: Installed (but unpackaged) file(s) found:"
 
1489
  Some generated files aren't needed in RPMs:
 
1490
  - the "sql-bench/" subdirectory
 
1491
  Some files were missing:
 
1492
  - /usr/share/aclocal/mysql.m4  ("devel" subpackage)
 
1493
  - Manual "mysqlbug" ("server" subpackage)
 
1494
  - Program "innochecksum" and its manual ("server" subpackage)
 
1495
  - Manual "mysql_find_rows" ("client" subpackage)
 
1496
  - Script "mysql_upgrade_shell" ("client" subpackage)
 
1497
  - Program "ndb_cpcd" and its manual ("ndb-extra" subpackage)
 
1498
  - Manuals "ndb_mgm" + "ndb_restore" ("ndb-tools" subpackage)
 
1499
 
 
1500
* Mon Mar 31 2008 Kent Boortz <kent@mysql.com>
 
1501
 
 
1502
- Made the "Federated" storage engine an option
 
1503
- Made the "Cluster" storage engine and sub packages an option
 
1504
 
 
1505
* Wed Mar 19 2008 Joerg Bruehe <joerg@mysql.com>
 
1506
 
 
1507
- Add the man pages for "ndbd" and "ndb_mgmd".
 
1508
 
 
1509
* Mon Feb 18 2008 Timothy Smith <tim@mysql.com>
 
1510
 
 
1511
- Require a manual upgrade if the alread-installed mysql-server is
 
1512
  from another vendor, or is of a different major version.
 
1513
 
 
1514
* Wed May 02 2007 Joerg Bruehe <joerg@mysql.com>
 
1515
 
 
1516
- "ndb_size.tmpl" is not needed any more,
 
1517
  "man1/mysql_install_db.1" lacked the trailing '*'.
 
1518
 
 
1519
* Sat Apr 07 2007 Kent Boortz <kent@mysql.com>
 
1520
 
 
1521
- Removed man page for "mysql_create_system_tables"
 
1522
 
 
1523
* Wed Mar 21 2007 Daniel Fischer <df@mysql.com>
 
1524
 
 
1525
- Add debug server.
 
1526
 
 
1527
* Mon Mar 19 2007 Daniel Fischer <df@mysql.com>
 
1528
 
 
1529
- Remove Max RPMs; the server RPMs contain a mysqld compiled with all
 
1530
  features that previously only were built into Max.
 
1531
 
 
1532
* Fri Mar 02 2007 Joerg Bruehe <joerg@mysql.com>
 
1533
 
 
1534
- Add several man pages for NDB which are now created.
 
1535
 
 
1536
* Fri Jan 05 2007 Kent Boortz <kent@mysql.com>
 
1537
 
 
1538
- Put back "libmygcc.a", found no real reason it was removed.
 
1539
 
 
1540
- Add CFLAGS to gcc call with --print-libgcc-file, to make sure the
 
1541
  correct "libgcc.a" path is returned for the 32/64 bit architecture.
 
1542
 
 
1543
* Mon Dec 18 2006 Joerg Bruehe <joerg@mysql.com>
 
1544
 
 
1545
- Fix the move of "mysqlmanager" to section 8: Directory name was wrong.
 
1546
 
 
1547
* Thu Dec 14 2006 Joerg Bruehe <joerg@mysql.com>
 
1548
 
 
1549
- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql"
 
1550
  in the server RPM.
 
1551
- The "mysqlmanager" man page got moved from section 1 to 8.
 
1552
 
 
1553
* Thu Nov 30 2006 Joerg Bruehe <joerg@mysql.com>
 
1554
 
 
1555
- Call "make install" using "benchdir_root=%{_datadir}",
 
1556
  because that is affecting the regression test suite as well.
 
1557
 
 
1558
* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
 
1559
 
 
1560
- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB)
 
1561
  replace "mysql-shared" (as distributed by SuSE) to allow easy upgrading
 
1562
  (bug#22081).
 
1563
 
 
1564
* Mon Nov 13 2006 Joerg Bruehe <joerg@mysql.com>
 
1565
 
 
1566
- Add "--with-partition" to all server builds.
 
1567
 
 
1568
- Use "--report-features" in one test run per server build.
 
1569
 
 
1570
* Tue Aug 15 2006 Joerg Bruehe <joerg@mysql.com>
 
1571
 
 
1572
- The "max" server is removed from packages, effective from 5.1.12-beta.
 
1573
  Delete all steps to build, package, or install it.
 
1574
 
 
1575
* Mon Jul 10 2006 Joerg Bruehe <joerg@mysql.com>
 
1576
 
 
1577
- Fix a typing error in the "make" target for the Perl script to run the tests.
 
1578
 
 
1579
* Tue Jul 04 2006 Joerg Bruehe <joerg@mysql.com>
 
1580
 
 
1581
- Use the Perl script to run the tests, because it will automatically check
 
1582
  whether the server is configured with SSL.
 
1583
 
 
1584
* Tue Jun 27 2006 Joerg Bruehe <joerg@mysql.com>
 
1585
 
 
1586
- move "mysqldumpslow" from the client RPM to the server RPM (bug#20216)
 
1587
 
 
1588
- Revert all previous attempts to call "mysql_upgrade" during RPM upgrade,
 
1589
  there are some more aspects which need to be solved before this is possible.
 
1590
  For now, just ensure the binary "mysql_upgrade" is delivered and installed.
 
1591
 
 
1592
* Thu Jun 22 2006 Joerg Bruehe <joerg@mysql.com>
 
1593
 
 
1594
- Close a gap of the previous version by explicitly using
 
1595
  a newly created temporary directory for the socket to be used
 
1596
  in the "mysql_upgrade" operation, overriding any local setting.
 
1597
 
 
1598
* Tue Jun 20 2006 Joerg Bruehe <joerg@mysql.com>
 
1599
 
 
1600
- To run "mysql_upgrade", we need a running server;
 
1601
  start it in isolation and skip password checks.
 
1602
 
 
1603
* Sat May 20 2006 Kent Boortz <kent@mysql.com>
 
1604
 
 
1605
- Always compile for PIC, position independent code.
 
1606
 
 
1607
* Wed May 10 2006 Kent Boortz <kent@mysql.com>
 
1608
 
 
1609
- Use character set "all" when compiling with Cluster, to make Cluster
 
1610
  nodes independent on the character set directory, and the problem
 
1611
  that two RPM sub packages both wants to install this directory.
 
1612
 
 
1613
* Mon May 01 2006 Kent Boortz <kent@mysql.com>
 
1614
 
 
1615
- Use "./libtool --mode=execute" instead of searching for the
 
1616
  executable in current directory and ".libs".
 
1617
 
 
1618
* Fri Apr 28 2006 Kent Boortz <kent@mysql.com>
 
1619
 
 
1620
- Install and run "mysql_upgrade"
 
1621
 
 
1622
* Wed Apr 12 2006 Jim Winstead <jimw@mysql.com>
 
1623
 
 
1624
- Remove sql-bench, and MySQL-bench RPM (will be built as an independent
 
1625
  project from the mysql-bench repository)
 
1626
 
 
1627
* Tue Apr 11 2006 Jim Winstead <jimw@mysql.com>
 
1628
 
 
1629
- Remove old mysqltestmanager and related programs
 
1630
* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>
 
1631
 
 
1632
- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS
 
1633
 
 
1634
* Wed Mar 07 2006 Kent Boortz <kent@mysql.com>
 
1635
 
 
1636
- Changed product name from "Community Edition" to "Community Server"
 
1637
 
 
1638
* Mon Mar 06 2006 Kent Boortz <kent@mysql.com>
 
1639
 
 
1640
- Fast mutexes is now disabled by default, but should be
 
1641
  used in Linux builds.
 
1642
 
 
1643
* Mon Feb 20 2006 Kent Boortz <kent@mysql.com>
 
1644
 
 
1645
- Reintroduced a max build
 
1646
- Limited testing of 'debug' and 'max' servers
 
1647
- Berkeley DB only in 'max'
 
1648
 
 
1649
* Mon Feb 13 2006 Joerg Bruehe <joerg@mysql.com>
 
1650
 
 
1651
- Use "-i" on "make test-force";
 
1652
  this is essential for later evaluation of this log file.
 
1653
 
 
1654
* Thu Feb 09 2006 Kent Boortz <kent@mysql.com>
 
1655
 
 
1656
- Pass '-static' to libtool, link static with our own libraries, dynamic
 
1657
  with system libraries.  Link with the bundled zlib.
 
1658
 
 
1659
* Wed Feb 08 2006 Kristian Nielsen <knielsen@mysql.com>
 
1660
 
 
1661
- Modified RPM spec to match new 5.1 debug+max combined community packaging.
 
1662
 
 
1663
* Sun Dec 18 2005 Kent Boortz <kent@mysql.com>
 
1664
 
 
1665
- Added "client/mysqlslap"
 
1666
 
 
1667
* Mon Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
 
1668
 
 
1669
- Added zlib to the list of (static) libraries installed
 
1670
- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
 
1671
- Compile MySQL with bundled zlib
 
1672
- Fixed %packager name to "MySQL Production Engineering Team"
 
1673
 
 
1674
* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>
 
1675
 
 
1676
- Avoid using the "bundled" zlib on "shared" builds:
 
1677
  As it is not installed (on the build system), this gives dependency
 
1678
  problems with "libtool" causing the build to fail.
 
1679
  (Change was done on Nov 11, but left uncommented.)
 
1680
 
 
1681
* Tue Nov 22 2005 Joerg Bruehe <joerg@mysql.com>
 
1682
 
 
1683
- Extend the file existence check for "init.d/mysql" on un-install
 
1684
  to also guard the call to "insserv"/"chkconfig".
 
1685
 
 
1686
* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>
 
1687
 
 
1688
- added more man pages
 
1689
 
 
1690
* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
 
1691
 
 
1692
- Made yaSSL support an option (off by default)
 
1693
 
 
1694
* Wed Oct 19 2005 Kent Boortz <kent@mysql.com>
 
1695
 
 
1696
- Enabled yaSSL support
 
1697
 
 
1698
* Sat Oct 15 2005 Kent Boortz <kent@mysql.com>
 
1699
 
 
1700
- Give mode arguments the same way in all places
 
1701
- Moved copy of mysqld.a to "standard" build, but
 
1702
  disabled it as we don't do embedded yet in 5.0
 
1703
 
 
1704
* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
 
1705
 
 
1706
- For 5.x, always compile with --with-big-tables
 
1707
- Copy the config.log file to location outside
 
1708
  the build tree
 
1709
 
 
1710
* Fri Oct 14 2005 Kent Boortz <kent@mysql.com>
 
1711
 
 
1712
- Removed unneeded/obsolete configure options
 
1713
- Added archive engine to standard server
 
1714
- Removed the embedded server from experimental server
 
1715
- Changed suffix "-Max" => "-max"
 
1716
- Changed comment string "Max" => "Experimental"
 
1717
 
 
1718
* Thu Oct 13 2005 Lenz Grimmer <lenz@mysql.com>
 
1719
 
 
1720
- added a usermod call to assign a potential existing mysql user to the
 
1721
  correct user group (BUG#12823)
 
1722
- Save the perror binary built during Max build so it supports the NDB
 
1723
  error codes (BUG#13740)
 
1724
- added a separate macro "mysqld_group" to be able to define the
 
1725
  user group of the mysql user seperately, if desired.
 
1726
 
 
1727
* Thu Sep 29 2005 Lenz Grimmer <lenz@mysql.com>
 
1728
 
 
1729
- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
 
1730
  $RBR variable did not get expanded, thus leaving old build roots behind)
 
1731
 
 
1732
* Thu Aug 04 2005 Lenz Grimmer <lenz@mysql.com>
 
1733
 
 
1734
- Fixed the creation of the mysql user group account in the postinstall
 
1735
  section (BUG 12348)
 
1736
- Fixed enabling the Archive storage engine in the Max binary
 
1737
 
 
1738
* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>
 
1739
 
 
1740
- Fixed the Requires: tag for the server RPM (BUG 12233)
 
1741
 
 
1742
* Fri Jul 15 2005 Lenz Grimmer <lenz@mysql.com>
 
1743
 
 
1744
- create a "mysql" user group and assign the mysql user account to that group
 
1745
  in the server postinstall section. (BUG 10984)
 
1746
 
 
1747
* Tue Jun 14 2005 Lenz Grimmer <lenz@mysql.com>
 
1748
 
 
1749
- Do not build statically on i386 by default, only when adding either "--with
 
1750
  static" or "--define '_with_static 1'" to the RPM build options. Static
 
1751
  linking really only makes sense when linking against the specially patched
 
1752
  glibc 2.2.5.
 
1753
 
 
1754
* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>
 
1755
 
 
1756
- added mysql_client_test to the "bench" subpackage (BUG 10676)
 
1757
- added the libndbclient static and shared libraries (BUG 10676)
 
1758
 
 
1759
* Wed Jun 01 2005 Lenz Grimmer <lenz@mysql.com>
 
1760
 
 
1761
- use "mysqldatadir" variable instead of hard-coding the path multiple times
 
1762
- use the "mysqld_user" variable on all occasions a user name is referenced
 
1763
- removed (incomplete) Brazilian translations
 
1764
- removed redundant release tags from the subpackage descriptions
 
1765
 
 
1766
* Wed May 25 2005 Joerg Bruehe <joerg@mysql.com>
 
1767
 
 
1768
- Added a "make clean" between separate calls to "BuildMySQL".
 
1769
 
 
1770
* Thu May 12 2005 Guilhem Bichot <guilhem@mysql.com>
 
1771
 
 
1772
- Removed the mysql_tableinfo script made obsolete by the information schema
 
1773
 
 
1774
* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>
 
1775
 
 
1776
- Enabled the "blackhole" storage engine for the Max RPM
 
1777
 
 
1778
* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
 
1779
 
 
1780
- removed the MySQL manual files (html/ps/texi) - they have been removed
 
1781
  from the MySQL sources and are now available seperately.
 
1782
 
 
1783
* Mon Apr 4 2005 Petr Chardin <petr@mysql.com>
 
1784
 
 
1785
- old mysqlmanager, mysqlmanagerc and mysqlmanager-pwger renamed into
 
1786
  mysqltestmanager, mysqltestmanager and mysqltestmanager-pwgen respectively
 
1787
 
 
1788
* Fri Mar 18 2005 Lenz Grimmer <lenz@mysql.com>
 
1789
 
 
1790
- Disabled RAID in the Max binaries once and for all (it has finally been
 
1791
  removed from the source tree)
 
1792
 
 
1793
* Sun Feb 20 2005 Petr Chardin <petr@mysql.com>
 
1794
 
 
1795
- Install MySQL Instance Manager together with mysqld, touch mysqlmanager
 
1796
  password file
 
1797
 
 
1798
* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
 
1799
 
 
1800
- Fixed the compilation comments and moved them into the separate build sections
 
1801
  for Max and Standard
 
1802
 
 
1803
* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
 
1804
 
 
1805
- enabled the "Ndbcluster" storage engine for the max binary
 
1806
- added extra make install in ndb subdir after Max build to get ndb binaries
 
1807
- added packages for ndbcluster storage engine
 
1808
 
 
1809
* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>
 
1810
 
 
1811
- replaced obsoleted "BuildPrereq" with "BuildRequires" instead
 
1812
 
 
1813
* Thu Jan 13 2005 Lenz Grimmer <lenz@mysql.com>
 
1814
 
 
1815
- enabled the "Federated" storage engine for the max binary
 
1816
 
 
1817
* Tue Jan 04 2005 Petr Chardin <petr@mysql.com>
 
1818
 
 
1819
- ISAM and merge storage engines were purged. As well as appropriate
 
1820
  tools and manpages (isamchk and isamlog)
 
1821
 
 
1822
* Thu Dec 31 2004 Lenz Grimmer <lenz@mysql.com>
 
1823
 
 
1824
- enabled the "Archive" storage engine for the max binary
 
1825
- enabled the "CSV" storage engine for the max binary
 
1826
- enabled the "Example" storage engine for the max binary
 
1827
 
 
1828
* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>
 
1829
 
 
1830
- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860)
 
1831
 
 
1832
* Fri Aug 20 2004 Lenz Grimmer <lenz@mysql.com>
 
1833
 
 
1834
- do not link statically on IA64/AMD64 as these systems do not have
 
1835
  a patched glibc installed
 
1836
 
 
1837
* Tue Aug 10 2004 Lenz Grimmer <lenz@mysql.com>
 
1838
 
 
1839
- Added libmygcc.a to the devel subpackage (required to link applications
 
1840
  against the the embedded server libmysqld.a) (BUG 4921)
 
1841
 
 
1842
* Mon Aug 09 2004 Lenz Grimmer <lenz@mysql.com>
 
1843
 
 
1844
- Added EXCEPTIONS-CLIENT to the "devel" package
 
1845
 
 
1846
* Thu Jul 29 2004 Lenz Grimmer <lenz@mysql.com>
 
1847
 
 
1848
- disabled OpenSSL in the Max binaries again (the RPM packages were the
 
1849
  only exception to this anyway) (BUG 1043)
 
1850
 
 
1851
* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>
 
1852
 
 
1853
- fixed server postinstall (mysql_install_db was called with the wrong
 
1854
  parameter)
 
1855
 
 
1856
* Thu Jun 24 2004 Lenz Grimmer <lenz@mysql.com>
 
1857
 
 
1858
- added mysql_tzinfo_to_sql to the server subpackage
 
1859
- run "make clean" instead of "make distclean"
 
1860
 
 
1861
* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>
 
1862
 
 
1863
- added ncurses-devel to the build prerequisites (BUG 3377)
 
1864
 
 
1865
* Thu Feb 12 2004 Lenz Grimmer <lenz@mysql.com>
 
1866
 
 
1867
- when using gcc, _always_ use CXX=gcc
 
1868
- replaced Copyright with License field (Copyright is obsolete)
 
1869
 
 
1870
* Tue Feb 03 2004 Lenz Grimmer <lenz@mysql.com>
 
1871
 
 
1872
- added myisam_ftdump to the Server package
 
1873
 
 
1874
* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>
 
1875
 
 
1876
- link the mysql client against libreadline instead of libedit (BUG 2289)
 
1877
 
 
1878
* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>
 
1879
 
 
1880
- marked /etc/logrotate.d/mysql as a config file (BUG 2156)
 
1881
 
 
1882
* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>
 
1883
 
 
1884
- fixed file permissions (BUG 1672)
 
1885
 
 
1886
* Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>
 
1887
 
 
1888
- made testing for gcc3 a bit more robust
 
1889
 
 
1890
* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>
 
1891
 
 
1892
- added missing file mysql_create_system_tables to the server subpackage
 
1893
 
 
1894
* Fri Nov 21 2003 Lenz Grimmer <lenz@mysql.com>
 
1895
 
 
1896
- removed dependency on MySQL-client from the MySQL-devel subpackage
 
1897
  as it is not really required. (BUG 1610)
 
1898
 
 
1899
* Fri Aug 29 2003 Lenz Grimmer <lenz@mysql.com>
 
1900
 
 
1901
- Fixed BUG 1162 (removed macro names from the changelog)
 
1902
- Really fixed BUG 998 (disable the checking for installed but
 
1903
  unpackaged files)
 
1904
 
 
1905
* Tue Aug 05 2003 Lenz Grimmer <lenz@mysql.com>
 
1906
 
 
1907
- Fixed BUG 959 (libmysqld not being compiled properly)
 
1908
- Fixed BUG 998 (RPM build errors): added missing files to the
 
1909
  distribution (mysql_fix_extensions, mysql_tableinfo, mysqldumpslow,
 
1910
  mysql_fix_privilege_tables.1), removed "-n" from install section.
 
1911
 
 
1912
* Wed Jul 09 2003 Lenz Grimmer <lenz@mysql.com>
 
1913
 
 
1914
- removed the GIF Icon (file was not included in the sources anyway)
 
1915
- removed unused variable shared_lib_version
 
1916
- do not run automake before building the standard binary
 
1917
  (should not be necessary)
 
1918
- add server suffix '-standard' to standard binary (to be in line
 
1919
  with the binary tarball distributions)
 
1920
- Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
 
1921
  _datadir, _includedir) throughout the spec file.
 
1922
- allow overriding CC and CXX (required when building with other compilers)
 
1923
 
 
1924
* Fri May 16 2003 Lenz Grimmer <lenz@mysql.com>
 
1925
 
 
1926
- re-enabled RAID again
 
1927
 
 
1928
* Wed Apr 30 2003 Lenz Grimmer <lenz@mysql.com>
 
1929
 
 
1930
- disabled MyISAM RAID (--with-raid) - it throws an assertion which
 
1931
  needs to be investigated first.
 
1932
 
 
1933
* Mon Mar 10 2003 Lenz Grimmer <lenz@mysql.com>
 
1934
 
 
1935
- added missing file mysql_secure_installation to server subpackage
 
1936
  (BUG 141)
 
1937
 
 
1938
* Tue Feb 11 2003 Lenz Grimmer <lenz@mysql.com>
 
1939
 
 
1940
- re-added missing pre- and post(un)install scripts to server subpackage
 
1941
- added config file /etc/my.cnf to the file list (just for completeness)
 
1942
- make sure to create the datadir with 755 permissions
 
1943
 
 
1944
* Mon Jan 27 2003 Lenz Grimmer <lenz@mysql.com>
 
1945
 
 
1946
- removed unused CC and CXX variables
 
1947
- CFLAGS and CXXFLAGS should honor RPM_OPT_FLAGS
 
1948
 
 
1949
* Fri Jan 24 2003 Lenz Grimmer <lenz@mysql.com>
 
1950
 
 
1951
- renamed package "MySQL" to "MySQL-server"
 
1952
- fixed Copyright tag
 
1953
- added mysql_waitpid to client subpackage (required for mysql-test-run)
 
1954
 
 
1955
* Wed Nov 27 2002 Lenz Grimmer <lenz@mysql.com>
 
1956
 
 
1957
- moved init script from /etc/rc.d/init.d to /etc/init.d (the majority of
 
1958
  Linux distributions now support this scheme as proposed by the LSB either
 
1959
  directly or via a compatibility symlink)
 
1960
- Use new "restart" init script action instead of starting and stopping
 
1961
  separately
 
1962
- Be more flexible in activating the automatic bootup - use insserv (on
 
1963
  older SuSE versions) or chkconfig (Red Hat, newer SuSE versions and
 
1964
  others) to create the respective symlinks
 
1965
 
 
1966
* Wed Sep 25 2002 Lenz Grimmer <lenz@mysql.com>
 
1967
 
 
1968
- MySQL-Max now requires MySQL >= 4.0 to avoid version mismatches
 
1969
  (mixing 3.23 and 4.0 packages)
 
1970
 
 
1971
* Fri Aug 09 2002 Lenz Grimmer <lenz@mysql.com>
 
1972
 
 
1973
- Turn off OpenSSL in MySQL-Max for now until it works properly again
 
1974
- enable RAID for the Max binary instead
 
1975
- added compatibility link: safe_mysqld -> mysqld_safe to ease the
 
1976
  transition from 3.23
 
1977
 
 
1978
* Thu Jul 18 2002 Lenz Grimmer <lenz@mysql.com>
 
1979
 
 
1980
- Reworked the build steps a little bit: the Max binary is supposed
 
1981
  to include OpenSSL, which cannot be linked statically, thus trying
 
1982
  to statically link against a special glibc is futile anyway
 
1983
- because of this, it is not required to make yet another build run
 
1984
  just to compile the shared libs (saves a lot of time)
 
1985
- updated package description of the Max subpackage
 
1986
- clean up the BuildRoot directory afterwards
 
1987
 
 
1988
* Mon Jul 15 2002 Lenz Grimmer <lenz@mysql.com>
 
1989
 
 
1990
- Updated Packager information
 
1991
- Fixed the build options: the regular package is supposed to
 
1992
  include InnoDB and linked statically, while the Max package
 
1993
  should include BDB and SSL support
 
1994
 
 
1995
* Fri May 03 2002 Lenz Grimmer <lenz@mysql.com>
 
1996
 
 
1997
- Use more RPM macros (e.g. infodir, mandir) to make the spec
 
1998
  file more portable
 
1999
- reorganized the installation of documentation files: let RPM
 
2000
  take care of this
 
2001
- reorganized the file list: actually install man pages along
 
2002
  with the binaries of the respective subpackage
 
2003
- do not include libmysqld.a in the devel subpackage as well, if we
 
2004
  have a special "embedded" subpackage
 
2005
- reworked the package descriptions
 
2006
 
 
2007
* Mon Oct  8 2001 Monty
 
2008
 
 
2009
- Added embedded server as a separate RPM
 
2010
 
 
2011
* Fri Apr 13 2001 Monty
 
2012
 
 
2013
- Added mysqld-max to the distribution
 
2014
 
 
2015
* Tue Jan 2  2001  Monty
 
2016
 
 
2017
- Added mysql-test to the bench package
 
2018
 
 
2019
* Fri Aug 18 2000 Tim Smith <tim@mysql.com>
 
2020
 
 
2021
- Added separate libmysql_r directory; now both a threaded
 
2022
  and non-threaded library is shipped.
 
2023
 
 
2024
* Wed Sep 28 1999 David Axmark <davida@mysql.com>
 
2025
 
 
2026
- Added the support-files/my-example.cnf to the docs directory.
 
2027
 
 
2028
- Removed devel dependency on base since it is about client
 
2029
  development.
 
2030
 
 
2031
* Wed Sep 8 1999 David Axmark <davida@mysql.com>
 
2032
 
 
2033
- Cleaned up some for 3.23.
 
2034
 
 
2035
* Thu Jul 1 1999 David Axmark <davida@mysql.com>
 
2036
 
 
2037
- Added support for shared libraries in a separate sub
 
2038
  package. Original fix by David Fox (dsfox@cogsci.ucsd.edu)
 
2039
 
 
2040
- The --enable-assembler switch is now automatically disables on
 
2041
  platforms there assembler code is unavailable. This should allow
 
2042
  building this RPM on non i386 systems.
 
2043
 
 
2044
* Mon Feb 22 1999 David Axmark <david@detron.se>
 
2045
 
 
2046
- Removed unportable cc switches from the spec file. The defaults can
 
2047
  now be overridden with environment variables. This feature is used
 
2048
  to compile the official RPM with optimal (but compiler version
 
2049
  specific) switches.
 
2050
 
 
2051
- Removed the repetitive description parts for the sub rpms. Maybe add
 
2052
  again if RPM gets a multiline macro capability.
 
2053
 
 
2054
- Added support for a pt_BR translation. Translation contributed by
 
2055
  Jorge Godoy <jorge@bestway.com.br>.
 
2056
 
 
2057
* Wed Nov 4 1998 David Axmark <david@detron.se>
 
2058
 
 
2059
- A lot of changes in all the rpm and install scripts. This may even
 
2060
  be a working RPM :-)
 
2061
 
 
2062
* Sun Aug 16 1998 David Axmark <david@detron.se>
 
2063
 
 
2064
- A developers changelog for MySQL is available in the source RPM. And
 
2065
  there is a history of major user visible changed in the Reference
 
2066
  Manual.  Only RPM specific changes will be documented here.