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