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

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2017-01-18 07:41:29 UTC
  • mfrom: (1.1.30)
  • Revision ID: package-import@ubuntu.com-20170118074129-gyilougbokbprl1p
Tags: 5.5.54-0ubuntu0.14.04.1
* SECURITY UPDATE: Update to 5.5.54 to fix security issues
  - CVE-2017-3238
  - CVE-2017-3243
  - CVE-2017-3244
  - CVE-2017-3258
  - CVE-2017-3265
  - CVE-2017-3291
  - CVE-2017-3312
  - CVE-2017-3313
  - CVE-2017-3317
  - CVE-2017-3318 
* debian/patches/fix_test_events_2.patch: fix date in test.

Show diffs side-by-side

added added

removed removed

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