Search
j0ke.net Open Build Service
>
Projects
>
internetx
:
mysql5
>
mysql-5.1.29
> mysql.spec
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File mysql.spec of Package mysql-5.1.29
# # spec file for package mysql (Version 5.1.29) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild # usedforbuild aaa_base acl attr audit-libs autoconf automake bash bind-libs bind-utils binutils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db diffutils e2fsprogs file filesystem fillup findutils flex gawk gcc gcc-c++ gdbm gdbm-devel gettext gettext-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv klogd less libacl libattr libcom_err libgcc libgssapi libmudflap libnscd libstdc++ libstdc++-devel libtool libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch perl permissions popt procinfo procps psmisc pwdutils rcs readline readline-devel rpm sed strace sysvinit tar tcpd tcpd-devel texinfo timezone unzip util-linux vim zlib zlib-devel Name: mysql BuildRequires: gcc-c++ readline-devel tcpd-devel License: GPL v2 or later Group: Productivity/Databases/Servers Requires: mysql-client perl-DBD-mysql AutoReqProv: on Version: 5.1.29 Release: 1 Url: http://www.mysql.com Summary: A True Multiuser, Multithreaded SQL Database Server PreReq: /usr/sbin/useradd /usr/sbin/groupadd fileutils %install_info_prereq %fillup_prereq %insserv_prereq Source: %{name}-%{version}-rc.tar.gz Source1: rc.mysql Source2: README.SUSE # manual can be found in http://mysql.linux.cz/Downloads/Manual/ Source3: manual.pdf-5.1-en.pdf.bz2 Source4: suse-test-run Patch2: %{name}-%{version}-cnf.patch Patch8: %{name}-%{version}-logrotate.patch Patch17: %{name}-%{version}-disable-versioned-symbols.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description SQL is the most popular database language in the world. MySQL is a client/server implementation that consists of a server daemon (mysqld) and many different client programs and libraries. The main goals of MySQL are speed, robustness, and ease of use. MySQL was originally developed because the developers at TcX needed an SQL server that could handle very large databases an order of magnitude faster than what any database vendor could offer them. They have now been using MySQL since 1996 in an environment with more than 40 databases containing 10,000 tables, of which more than 500 have more than 7 million rows. This is about 100 gigabytes of mission-critical data. The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is still in development, it already offers a rich and highly useful function set. The official way to pronounce MySQL is "My Ess Que Ell" (Not MY-SEQUEL). This package only contains the server-side programs. Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %package devel Obsoletes: mysqldev Provides: mysqldev Requires: mysql-client mysql-shared = %{version} glibc-devel zlib-devel License: GPL v2 or later Summary: MySQL Development Header Files and Libraries Url: http://www.mysql.com Group: Development/Libraries/C and C++ AutoReqProv: on %description devel This package contains the development header files and libraries necessary to develop MySQL client applications. Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %package client Obsoletes: mysqclnt Provides: mysqclnt License: GPL v2 or later Summary: MySQL Client Url: http://www.mysql.com Group: Productivity/Databases/Clients AutoReqProv: on %description client This package contains the standard MySQL clients. Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %package bench Obsoletes: mysqbnch Provides: mysqbnch Requires: mysql-client perl-DBD-mysql License: GPL v2 or later Summary: MySQL - Benchmarks Url: http://www.mysql.com Group: Productivity/Databases/Tools AutoReqProv: on %description bench This package contains MySQL benchmark scripts and data. To run these database benchmarks, start the script "run-all-tests" in the directory /usr/share/sql-bench after starting MySQL. Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %package shared Obsoletes: mysqllib Provides: mysqllib Summary: MySQL Shared Libraries License: GPL v2 or later Url: http://www.mysql.com Group: Development/Libraries/Other AutoReqProv: on %description shared This package contains the shared libraries (.so) which certain languages and applications need to dynamically load and use MySQL. Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %package Max Summary: MySQL - Server with Berkeley DB License: GPL v2 or later Url: http://www.mysql.com Group: Productivity/Databases/Servers Requires: mysql AutoReqProv: on %description Max An optional MySQL server binary that supports features such as transactional tables. To make use of these features, just install this package in addition to the MySQL package. Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %package test Summary: MySQL testsuite License: GPL v2 or later Url: http://www.mysql.com Group: Productivity/Databases/Servers Requires: mysql = %{version} mysql-client = %{version} perl-DBD-mysql AutoReqProv: on %description test This package contains the MySQL test scripts and data. To run the testsuite, run /usr/share/mysql-test/suse-test-run (or suse-test-run-Max for the mysql-Max package). Authors: -------- Michael Widenius <monty@mysql.com> David Axmark <davida@mysql.com> %debug_package %prep %setup -q -n %{name}-%{version}-rc cp %{S:3} Docs/manual.pdf.bz2 bunzip2 Docs/manual.pdf.bz2 cp %{S:4} . %patch2 %patch8 %patch17 # remove unneeded man manpages rm -f man/mysqlman.1 man/safe_mysqld.1 %build autoreconf -f -i # Generate file reservedwords.texi from sql/lex.h echo "@multitable @columnfractions .25 .25 .25 .25" >Docs/reservedwords.texi x="@item"; n=4; a="" for i in `sed -n '/symbols\[] *=/,/};/s=.*"\([[:alpha:]_]*\)".*=\1=p' sql/lex.h`; do a="$a$x @code{$i}" x=" @tab" let --n || { echo $a >>Docs/reservedwords.texi; a=""; x="@item"; n=4; } done echo $a >>Docs/reservedwords.texi echo "@end multitable" >>Docs/reservedwords.texi # For some platforms the berkeley DB backend does not work. export BERKELEY="with" %ifarch ppc ppc64 s390 s390x mips alpha x86_64 sparc hppa export BERKELEY="without" %endif # Make the compile a function, since we have to do it twice BuildMySQL() { # The --enable-assembler simply does nothing on systems that do not # support assembler speedups. export CFLAGS="$RPM_OPT_FLAGS -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing" export CXXFLAGS="$RPM_OPT_FLAGS \ -fno-strict-aliasing \ -felide-constructors \ -fno-exceptions \ -fno-rtti \ -fPIC -DPIC -DUNDEF_HAVE_INITGROUPS" ./configure \ "$@" \ --enable-assembler \ --without-readline \ --enable-large-files \ --infodir=%{_infodir} \ --libdir=%{_libdir} \ --libexecdir=/usr/sbin \ --localstatedir=/var/lib/mysql \ --mandir=%{_mandir} \ --prefix=%{_prefix} \ --sysconfdir=/etc \ --with-mysqld-user=mysql \ --with-isam \ --without-debug \ --datadir=/usr/share \ --includedir=/usr/include \ --with-extra-charsets=complex \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --enable-thread-safe-client \ --with-comment="SUSE MySQL RPM" \ --with-libwrap \ HOSTNAME="/bin/hostname -f" # Add this for more debugging support # --with-debug # Add this for MyISAM RAID support: # --with-raid # benchdir does not fit in above model. Fix when we make a separate package %ifarch s390 s390x # The atomic stuff doesn't work the way mySQL wants to use it # on s390, and s390x, so we have to make sure, that pthreads # mutexes are being used. ex config.h +/HAVE_ATOMIC_ADD/d +/HAVE_ATOMIC_SUB/d +w +q %endif make %{?jobs:-j%jobs} benchdir=$RPM_BUILD_ROOT/usr/share/sql-bench %if %{?_with_testsuite:1}0 make test %endif } # Build the shared libraries and mysqld-max BuildMySQL --enable-shared \ --${BERKELEY}-berkeley-db \ --with-innodb \ --with-archive-storage-engine \ --with-csv-storage-engine \ --with-mysqld-ldflags=-static \ --without-extra-tools \ --with-server-suffix=-Max # do not test for now, it tends to fail in autobuild #make test # Save shared libraries and mysqld-max mv sql/mysqld sql/mysqld-max nm --numeric-sort sql/mysqld-max > sql/mysqld-max.sym (cd libmysql/.libs; tar cf $RPM_BUILD_ROOT/shared-libs.tar *.so* *.lai) (cd libmysql_r/.libs; tar rf $RPM_BUILD_ROOT/shared-libs.tar *.so* *.lai) # Save manual to avoid rebuilding mv Docs/manual.pdf Docs/manual.pdf.save make clean mv Docs/manual.pdf.save Docs/manual.pdf # Now build the "normal" mysqld BuildMySQL --disable-shared \ --with-mysqld-ldflags=-static \ --with-client-ldflags=-static \ --without-embedded-server \ --without-vio \ --without-berkeley-db \ --without-ssl \ --with-extra-tools \ --with-archive-storage-engine \ --with-csv-storage-engine \ --with-innodb nm --numeric-sort sql/mysqld > sql/mysqld.sym #make test %install /usr/sbin/groupadd -g 60 -o -r mysql >/dev/null 2>/dev/null || : /usr/sbin/useradd -r -o -g mysql -u 60 -c "MySQL database admin" \ -s /bin/bash -d /var/lib/mysql mysql 2> /dev/null || : # Create directory structure DOC="Docs/INSTALL-BINARY INSTALL-SOURCE README EXCEPTIONS-CLIENT" DOCDIR=$RPM_BUILD_ROOT/%{_defaultdocdir}/%{name} install -d -m 755 ${DOCDIR}/cnf install -d -m 755 ${DOCDIR}/data install -d -m 755 ${DOCDIR}/data/mysql install -d -m 755 ${DOCDIR}/html install -d -m 755 $RPM_BUILD_ROOT/usr/share/sql-bench install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d install -d -m 755 $RPM_BUILD_ROOT%{_libdir} install -d -m 755 $RPM_BUILD_ROOT/etc/init.d install -d -m 755 $RPM_BUILD_ROOT/usr/sbin install -d -m 755 $RPM_BUILD_ROOT/var/lib/mysql make install DESTDIR=$RPM_BUILD_ROOT benchdir_root=/usr/share/ # Install shared libraries (cd $RPM_BUILD_ROOT/usr/%_lib; tar xf $RPM_BUILD_ROOT/shared-libs.tar "*.so*") # install saved mysqld-max install -m 755 sql/mysqld-max $RPM_BUILD_ROOT/usr/sbin/mysqld-max # install symbol files ( for stack trace resolution) install -m 644 sql/mysqld-max.sym $RPM_BUILD_ROOT%{_libdir}/mysql/mysqld-max.sym install -m 644 sql/mysqld.sym $RPM_BUILD_ROOT%{_libdir}/mysql/mysqld.sym # Preserve *.la from shared build (cd $RPM_BUILD_ROOT%{_libdir}/mysql tar xf $RPM_BUILD_ROOT/shared-libs.tar "*.lai" rm $RPM_BUILD_ROOT/shared-libs.tar for f in *.lai; do mv $f ${f%i}; done cd ..; LIBCLIENT=../`ls libmysqlclient.so.*.*.*` for f in libmysqlclient.so*; do ln -fs $LIBCLIENT mysql/$f; done LIBCLIENT=../`ls libmysqlclient_r.so.*.*.*` for f in libmysqlclient_r.so*; do ln -fs $LIBCLIENT mysql/$f; done) install -m 644 support-files/mysql-log-rotate $RPM_BUILD_ROOT/etc/logrotate.d/mysql install -m 660 support-files/my-medium.cnf $RPM_BUILD_ROOT/etc/my.cnf install -m 640 scripts/mysqlaccess.conf $RPM_BUILD_ROOT/etc/mysqlaccess.conf install -m 644 ${DOC} ${DOCDIR} install -m 644 %{SOURCE2} ${DOCDIR} install -m 644 Docs/manual.pdf ${DOCDIR} #install -m 644 Docs/manual.txt ${DOCDIR} #install -m 644 Docs/manual.html ${DOCDIR}/html #install -m 644 Docs/manual_toc.html ${DOCDIR}/html #rm -f ${DOCDIR}/html/index.html #ln -s ./manual_toc.html ${DOCDIR}/html/index.html install -m 644 support-files/my-*.cnf ${DOCDIR}/cnf install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/mysql rm -f $RPM_BUILD_ROOT/sbin/rcmysql ln -s ../../etc/init.d/mysql $RPM_BUILD_ROOT/usr/sbin/rcmysql #install -m 755 scripts/mysql_install_db ${DOCDIR} rm -f $RPM_BUILD_ROOT/usr/bin/make_win_src_distribution rm -f $RPM_BUILD_ROOT/usr/bin/make_win_binary_distribution install -m 755 -d $RPM_BUILD_ROOT/var/lib/mysql/.tmp # testsuite sed 's/%%{mysql_binary}/mysqld/g' <suse-test-run >$RPM_BUILD_ROOT/usr/share/mysql-test/suse-test-run sed 's/%%{mysql_binary}/mysqld-max/g' <suse-test-run >$RPM_BUILD_ROOT/usr/share/mysql-test/suse-test-run-Max chmod +x $RPM_BUILD_ROOT/usr/share/mysql-test/suse-test-run* # XXX this should go under /var/..., but some tests get confused by a symlink # var -> ../../../var/... #ln -s ../../../var/lib/mysql/mysql-test $RPM_BUILD_ROOT/usr/share/mysql-test/var mkdir $RPM_BUILD_ROOT/usr/share/mysql-test/var %pre /usr/sbin/groupadd -r mysql >/dev/null 2>/dev/null || : /usr/sbin/useradd -r -o -g mysql -u 60 -c "MySQL database admin" \ -s /bin/bash -d /var/lib/mysql mysql 2> /dev/null || : /usr/sbin/usermod -g mysql -s /bin/bash mysql dbfile=var/mysql/mysql/db.ISM olddir=var/mysql newdir=var/lib/mysql # Do the database files still belong to root (very old installation)? # Change ownerships if [ -O $dbfile ] then chown -Rv mysql:mysql var/mysql/ fi # Copy existing database files to the new location # only if they do not exist yet! if [ -d $olddir ] && ! [ -d $newdir ] then cp -a $olddir $newdir || echo "Error while copying the database files to the new location!" fi %post %{fillup_and_insserv mysql} %install_info --info-dir=%{_infodir} %{_infodir}/mysql.info.gz chown -R mysql:mysql /var/lib/mysql # users usually look into /var/log for logfiles # doing this in %%build wouldn't pass brp-symlink # also we don't want to overwrite existing files (actaully sth like %%ghost) ln -s ../lib/mysql/mysqld.log /var/log/mysqld.log 2>/dev/null || : %preun %stop_on_removal mysql %postun %install_info_delete --info-dir=%{_infodir} %{_infodir}/mysql.info.gz %restart_on_update mysql %{insserv_cleanup} %clean rm -rf $RPM_BUILD_ROOT; %files %defattr(-, root, root) %config %attr(-, mysql, mysql) /etc/my.cnf %config /etc/init.d/mysql %config /etc/logrotate.d/mysql %doc %{_defaultdocdir}/%{name} %doc %{_infodir}/mysql.info.gz %doc %{_mandir}/man1/myisamchk.1.gz %doc %{_mandir}/man1/myisamlog.1.gz %doc %{_mandir}/man1/myisampack.1.gz %doc %{_mandir}/man1/myisam_ftdump.1.gz %doc %{_mandir}/man1/mysql.server.1.gz %doc %{_mandir}/man1/mysql_zap.1.gz %doc %{_mandir}/man1/mysql_fix_privilege_tables.1.gz %doc %{_mandir}/man1/mysqlhotcopy.1.gz ##%doc %{_mandir}/man1/mysqld.1.gz %doc %{_mandir}/man1/mysqld_multi.1.gz %doc %{_mandir}/man1/mysqld_safe.1.gz %doc %{_mandir}/man1/mysql_upgrade.1.gz ##%doc %{_mandir}/man1/mysqlmanager.1.gz ##%doc %{_mandir}/man1/mysql_explain_log.1.gz %doc %{_mandir}/man1/comp_err.1.gz %doc %{_mandir}/man1/innochecksum.1.gz %doc %{_mandir}/man1/make_win_bin_dist.1.gz %doc %{_mandir}/man1/my_print_defaults.1.gz %doc %{_mandir}/man1/mysql-stress-test.pl.1.gz %doc %{_mandir}/man1/mysql-test-run.pl.1.gz %doc %{_mandir}/man1/mysql_client_test.1.gz %doc %{_mandir}/man1/mysql_convert_table_format.1.gz %doc %{_mandir}/man1/mysql_find_rows.1.gz %doc %{_mandir}/man1/mysql_fix_extensions.1.gz %doc %{_mandir}/man1/mysql_install_db.1.gz %doc %{_mandir}/man1/mysql_secure_installation.1.gz %doc %{_mandir}/man1/mysql_setpermission.1.gz %doc %{_mandir}/man1/mysql_tzinfo_to_sql.1.gz %doc %{_mandir}/man1/mysql_waitpid.1.gz %doc %{_mandir}/man1/mysqlslap.1.gz %doc %{_mandir}/man1/mysqltest.1.gz %doc %{_mandir}/man1/resolve_stack_dump.1.gz %doc %{_mandir}/man1/resolveip.1.gz %doc %{_mandir}/man1/mysqlbug.1.gz %doc %{_mandir}/man8/mysqld.8.gz %doc %{_mandir}/man8/mysqlmanager.8.gz /usr/bin/my_print_defaults /usr/bin/myisamchk /usr/bin/myisamlog /usr/bin/myisam_ftdump /usr/bin/mysql_convert_table_format /usr/bin/mysql_fix_privilege_tables /usr/bin/mysql_install_db /usr/bin/mysql_upgrade /usr/bin/mysql_setpermission /usr/bin/mysql_zap /usr/bin/mysqlbug /usr/bin/mysqld_multi /usr/bin/mysqlhotcopy /usr/bin/mysqltest /usr/bin/myisampack /usr/bin/resolve_stack_dump /usr/bin/resolveip /usr/bin/mysqld_safe /usr/sbin/rcmysql /usr/share/mysql/ %attr(755,mysql,mysql)/var/lib/mysql /usr/bin/mysql_secure_installation /usr/bin/mysqldumpslow ##/usr/bin/mysql_explain_log /usr/bin/mysql_fix_extensions ##/usr/bin/mysql_create_system_tables /usr/bin/mysql_tzinfo_to_sql /usr/bin/innochecksum /usr/sbin/mysqld /usr/sbin/mysqlmanager %{_libdir}/mysql/mysqld.sym %{_libdir}/mysql/plugin/ha_* %files client %defattr(-, root, root) %config /etc/mysqlaccess.conf %doc %{_mandir}/man1/msql2mysql.1.gz %doc %{_mandir}/man1/mysql.1.gz %doc %{_mandir}/man1/mysqlaccess.1.gz %doc %{_mandir}/man1/mysqladmin.1.gz %doc %{_mandir}/man1/mysqlbinlog.1.gz %doc %{_mandir}/man1/mysqlcheck.1.gz %doc %{_mandir}/man1/mysqldump.1.gz %doc %{_mandir}/man1/mysqlimport.1.gz %doc %{_mandir}/man1/mysqlshow.1.gz %doc %{_mandir}/man1/perror.1.gz %doc %{_mandir}/man1/replace.1.gz /usr/bin/msql2mysql /usr/bin/mysql /usr/bin/mysql_waitpid /usr/bin/mysql_find_rows /usr/bin/mysqlaccess /usr/bin/mysqladmin /usr/bin/mysqlbinlog /usr/bin/mysqlcheck /usr/bin/mysqldump /usr/bin/mysqlimport /usr/bin/mysqlshow /usr/bin/perror /usr/bin/replace ##/usr/bin/mysql_tableinfo /usr/bin/mysql_client_test %files devel %defattr(-, root, root) %doc %{_mandir}/man1/mysql_config.1.gz ##/usr/bin/comp_err /usr/bin/mysql_config /usr/include/mysql %dir %{_libdir}/mysql %{_libdir}/mysql/*.*a %{_libdir}/libmysqlclient.so %{_libdir}/libmysqlclient_r.so %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %{_datadir}/aclocal/mysql.m4 %files bench %defattr(-, root, root) /usr/share/sql-bench /usr/bin/mysqlslap ##/usr/bin/mysqltestmanager ##/usr/bin/mysqltestmanager-pwgen ##/usr/bin/mysqltestmanagerc %files shared %defattr(-, root, root) %{_libdir}/*.so.* %{_libdir}/mysql/*.so.* %files Max %defattr(-, root, root) /usr/sbin/mysqld-max %{_libdir}/mysql/mysqld-max.sym %files test %defattr(-, root, root) /usr/share/mysql-test %dir %attr(755, mysql, mysql) /usr/share/mysql-test/var %changelog * Thu Aug 23 2007 - mmarek@suse.cz - security fixes from the 5.0.45 release [#292994] * a malformed password packet in the connection protocol could cause the server to crash (CVE-2007-3780.patch) * CREATE TABLE LIKE did not require any privileges on the source table. Now it requires the SELECT privilege. (CVE-2007-3781.patch) * Use of a view could allow a user to gain update privileges for tables in other databases. (CVE-2007-3782.patch) * Mon Jan 08 2007 - mmarek@suse.cz - fixed typos in last change * Thu Jan 04 2007 - mmarek@suse.cz - updated to 5.0.26 (fate #301265) * new mysql_upgrade command for easier upgrades from previous versions * new 'charset' command in the mysql client to switch charsets without reconnecting * added the --ssl-verify-server-cert option to MySQL client programs and MYSQL_OPT_SSL_VERIFY_SERVER_CERT for mysql_options() * new ssl_ca, ssl_capath, ssl_cert, ssl_cipher, and ssl_key system variables * the LOAD DATA FROM MASTER and LOAD TABLE FROM MASTER statements are deprecated, see http://dev.mysql.com/doc/refman/5.0/en/load-data-from-master.html * Ctrl-C in the mysql CLI client tries to kill the current statement first, instead of exiting * mysqlshow treats wild characters such as '_' as literal, if the argument matches a single database name exactly * DROP VIEW with multiple views will try to drop remaining views and not stop at first error * the server now issues a warning if it removes leading spaces from an alias * the VIEW_DEFINITION column of the INFORMATION_SCHEMA VIEWS table now contains information about the view algorithm * mysqldump now has a --flush-privileges option. It causes mysqldump to emit a FLUSH PRIVILEGES statement after dumping the mysql database * lots of bugfixes; for a detailed list of changes see: http://dev.mysql.com/doc/refman/5.0/en/news-5-0-19.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-20.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-20a.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-21.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-22.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-23.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-24.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-24a.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-25.html http://dev.mysql.com/doc/refman/5.0/en/news-5-0-26.html * obsoletes all security patches - The ISAM storage engine is no longer supported, BerkeleyDB support is going to be dropped, update the warning in rc.mysql. - use /var/lib/mysql/.tmp instead of /var/lib/mysql/tmp to avoid collision with a database named 'tmp' [#221188] - don't run killproc in rcmysql to avoid sending SIGKILL if possible [#223209] - fixed small typo in README.SuSE, renamed to README.SUSE [#226716] and added a note about mysql_upgrade - reverted some libmysqld fixes (libmysqld isn't shipped anyway) to make sure the libmysql library is 100%% binary compatible with the SLES10 GA version (libmysql-abi.patch) - disabled versioned symbols in libmysql to match libmysql from SLES10 GA (disable-versioned-symbols.patch) - fixed an incompatibility with pre-5.0 varbinary fields [#188134, http://bugs.mysql.com/bug.php?id=19371] (varbinary-upgrade.patch) - minor fixes: my_libwrap.patch [http://bugs.mysql.com/18246], mybug25359.patch uninitialized_variable.patch * Mon Sep 04 2006 - mmarek@suse.cz - security fixes [#201711] * new server option --skip-merge to disable the MERGE storage engine that can allow users to bypass revoked access rights in certain situations [http://bugs.mysql.com/bug.php?id=15195] (CVE-2006-4031.patch) * access rights to a database allowed to access or create another database if the names differed only in case [http://bugs.mysql.com/bug.php?id=17647] (CVE-2006-4226.patch) * arguments to suid (SQL SECURITY DEFINER) stored functions were evaluated in definer's secuity context, instead of invoker's secuity context [http://bugs.mysql.com/bug.php?id=19370] (CVE-2006-4227.patch) - build as user * Fri Jun 02 2006 - mmarek@suse.cz - fix SQL-injection vulnerability in multi-byte encoding processing (fix from the 5.0.22 release) [#181145] (CVE-2006-2753.patch) * Wed May 03 2006 - mmarek@suse.cz - fix buffer overflow and and reading uninitialized memory using the COM_TABLE_DUMP protocol command (fix from the 5.0.21 release) [#172155] (sql_parse.patch) * Tue Apr 04 2006 - mmarek@suse.cz - don't allow \0 in SQL even in comments [#163157] (CVE-2006-0903.patch) * Mon Mar 27 2006 - mmarek@suse.cz - require mysql-shared = %%version in mysql-devel * Tue Mar 07 2006 - mmarek@suse.cz - mail error message and explanation in logrotote script [#155341] (logrotate.patch) * Mon Mar 06 2006 - mmarek@suse.cz - make err-log option work again - put a symlink to the logfile into /var/log [#155341] (4x-compat.patch) * Tue Jan 31 2006 - mmarek@suse.cz - run mysql_fix_privilege_tables.sql when upgrading from 4.1 [#146739] * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Tue Jan 10 2006 - mmarek@suse.cz - created a new package mysql-test - removed unnecessary %%suse_update_config * Mon Jan 02 2006 - mmarek@suse.cz - update to 5.0.18 * Tue Dec 06 2005 - mmarek@suse.cz - update to 5.0.16 * Thu Dec 01 2005 - mmarek@suse.cz - try postadal's update in BETA * Tue Oct 25 2005 - postadal@suse.cz - updated to version 5.0.15 [#119929] - removed obsoleted buffer-overflow.patch - fixed gcc issue * Thu Sep 01 2005 - pnemec@suse.cz - fixed bug #95729 : set $TMPDIR to /var/lib/mysql/tmp * Tue Aug 30 2005 - lmuelle@suse.de - Use MySQL for any output of the init script and add a space at each line we output. * Tue Jul 26 2005 - postadal@suse.cz - updated to version 4.1.13 - removed obsoleted sentinel.patch - added glibc-devel zlib-devel to devel requires * Fri May 20 2005 - mcihar@suse.cz - update to 4.1.12 (fixes tmp race, bug #84740) * Fri Apr 22 2005 - mcihar@suse.cz - fix buffer overflow in test * Thu Apr 21 2005 - tcrhak@suse.de - use $datadir when initializing a new database (bug #63707) * Wed Apr 06 2005 - mcihar@suse.cz - update to 4.1.11 - compile against readline (bug #75901) * Sun Apr 03 2005 - aj@suse.de - Fix GCC 4 warning. * Fri Apr 01 2005 - mcihar@suse.cz - enable ISAM engine (bug #75320) - warn about existing ISAM tables (bug #75320) - fix init script to update MySQL tables on upgrade (bug #75321) * Thu Mar 10 2005 - mcihar@suse.cz - update to 4.1.10a (bug #71788) * Tue Feb 15 2005 - mcihar@suse.cz - update to 4.1.10 (bug #50825) * Thu Feb 10 2005 - mcihar@suse.cz - disable actually test also for second build * Tue Feb 08 2005 - mcihar@suse.cz - remove tests at all, these timeout in autobuild and work okay when building manyally * Fri Feb 04 2005 - mcihar@suse.cz - increase test timeout not to fail so often * Mon Jan 24 2005 - mcihar@suse.cz - update to 4.1.9 - normal version now also supports InnoDB as well as original MySQL packages - update mysql tables on server start if needed * Fri Sep 17 2004 - ro@suse.de - added symlinks for libmysqlclient_r also in libdir/mysql * Fri Sep 17 2004 - tcrhak@suse.cz - added symlink libmysqlclient_r.so -> libmysqlclient_r.so.12.0.0 to the file list of mysql-devel (bug #44700) * Fri Sep 10 2004 - tcrhak@suse.cz - update to 4.0.21 * Thu Sep 02 2004 - tcrhak@suse.cz - do not use /var/adm/notify for notification mails (bug #44357) - updated README.SuSE (bug #44332) - be more verbose in the initial welcome message of mysql_install_db (also bug #44332) * Thu Aug 19 2004 - tcrhak@suse.cz - update to version 4.0.20 - use group 'mysql' instead of 'daemon' for mysqld (bug #42071) - fixed a lib64 issue in mysql_config - applied patch for a security hole in mysqlhotcopy (bug #43829) - fixed a typo in rcmysql (bug #41055) - fix in order not to use initgroups() (caused segfault when used with ldap, bug #39798) * Fri Apr 02 2004 - tcrhak@suse.cz - fixed tmp race in mysqlbug (bug #37115) * Wed Mar 31 2004 - tcrhak@suse.cz - mysql: added dependency on perl-DBD-mysql (bug #36500) - fixed timezone.test (patch timezone) * Sat Mar 27 2004 - ro@suse.de - mysql-bench: replace perl-Msql-Mysql-modules by perl-DBD-mysql in requires * Wed Mar 17 2004 - tcrhak@suse.cz - use -f when running hostname in mysql_install_db (bug #36060) * Fri Feb 20 2004 - tcrhak@suse.cz - added /usr/bin/myisam_ftdump to filelist - updated manual.pdf to the latest version (2004-02-20) * Wed Feb 18 2004 - tcrhak@suse.cz - update to version 4.0.18 * Fri Feb 06 2004 - kukuk@suse.de - Compile with -fno-strict-aliasing * Wed Oct 29 2003 - tcrhak@suse.cz - use socket to detect the start of mysqld instead of 'mysqladmin ping' again [bug #31605] * Tue Sep 16 2003 - tcrhak@suse.cz - fixed the postrotate script [bug #30985] * Mon Sep 15 2003 - tcrhak@suse.cz - fixed bogus 'start failed' reporting [bug #30210] * Thu Sep 11 2003 - tcrhak@suse.cz - update to version 4.0.15 * Thu Aug 28 2003 - meissner@suse.de - Readded ppc/ppc64 mutex patch. * Mon Aug 25 2003 - tcrhak@suse.cz - updated to version 4.0.14 - added patch overflow - added macros %%stop_on_removal and %%restart_on_update - updated the pdf manual to version 2003-08-22 * Fri May 30 2003 - tcrhak@suse.cz - fixed installed unpacked files * Fri May 16 2003 - tcrhak@suse.cz - update to version 4.0.12 - require mysql-client in the main package (needed for logrotate) - use mysqladmin ping in logrotate script - commented out log_bin in my.cnf (my-medium.cnf) (bug #26716) * Thu Apr 24 2003 - ro@suse.de - fix install_info --delete call and move from preun to postun * Fri Mar 07 2003 - kukuk@suse.de - Fix useradd options * Sun Feb 23 2003 - tcrhak@suse.cz - added %%fillup_prereq and %%insserv_prereq [bug #24039] * Fri Feb 14 2003 - tcrhak@suse.cz - updated to version 3.23.55 - updated the pdf manual to version 2002-07-26 - fixed script mysql_install_db to use mysql-max if present ( necessary if e.g. options concerning innodb are uncommented prior to starting mysqld ) - on start-up, detach from the terminal [bug #18440] - added %%install_info macros * Fri Jan 17 2003 - bg@suse.de - Disabled berkeley db backend for hppa * Mon Dec 02 2002 - ro@suse.de - include errno.h * Tue Sep 17 2002 - ro@suse.de - removed bogus self-provides * Sat Aug 24 2002 - kukuk@suse.de - Disabled berkeley db backend for SPARC * Mon Aug 19 2002 - bk@suse.de - Update to 3.23.52, which is a bugfix release for 3.23.51. Fixes (trimmed): o Fixed security bug when having an empty database name in the user.db table. o Changed initialisation of RND() to make it less predicatable. o Fixed GROUP BY on result with expression that created a BLOB field. o Fixed thread bug in SLAVE START, SLAVE STOP and automatic repair of MyISAM tables that could cause table cache to be corrupted. o Fixed possible thread related key-cache-corruption problem with OPTIMIZE TABLE and REPAIR TABLE. o Fixed bug with creating an auto-increment value on second part of a UNIQUE() key where first part could contain NULL values. o Don't write slave-timeout reconnects to the error log. o Fixed bug with slave net read timeouting o Fixed a core-dump bug with MERGE tables and MAX() function. o Fixed bug in ALTER TABLE with BDB tables. o Fixed bug when logging LOAD DATA INFILE to binary log with no active database. o Fixed a bug in range optimiser (causing crashes). o Fixed possible problem in replication when doing DROP DATABASE on a database with InnoDB tables. - add fileutils to PreReq and use echo instead of cat. * Mon Aug 12 2002 - max@suse.de - Using pthread mutexes instead of atomic_* on s390 and s390x, because mysql casts &int to (atomic_t *) when calling the atomic functions which breaks the alignment constraints of atomic_t. * Tue Jul 23 2002 - kukuk@suse.de - Fix useradd call * Mon Jul 22 2002 - kukuk@suse.de - Create user mysql * Mon Jul 22 2002 - max@suse.de - New version: 3.23.51. - Init script doesn't source /etc/rc.config anymore [#17122]. - Disabled berkeley db backend for alpha and x86_64 as well. - Still breaks on s390x, and x86_64. * Fri Jun 14 2002 - meissner@suse.de - Reenabled make test. - Rerun auto* tools so libtool works on ppc64. - Do not use the berkeley DB backend on s390,s390x,ppc,ppc64,axp,mips (needs to be fixed some time) - Use generic AC_SYS_LARGEFILE macro. - Do not use asm/atomic stuff on ppc64 (long vs int problem). - Use CONFIG_SMP for other asm/atomic stuff instead of __SMP__. * Mon May 27 2002 - meissner@suse.de - Disabled make test for x86_64 for now. - More %%_lib fixes, packaged libmysqlclient.so symlink into devel, the rest *.so.* into shared. * Wed Apr 24 2002 - meissner@suse.de - started x86_64 work. Implemented required fast mutex, now only the test suite fail. * Fri Feb 15 2002 - grimmer@suse.de - Update to 3.23.48 (bugfixes) - MySQL 3.23 is now considered STABLE! * Fixed bug in complicated join with const tables * Added internal safety checks for InnoDB * SHOW GRANTS now shows REFERENCES instead of REFERENCE - use more libdir macros - safe_mysqld logfile has been renamed from /var/lib/mysql/<hostname>.log to /var/lib/mysql/mysqld.log and is properly rotated by logrotate - updated README.SuSE * Wed Jan 30 2002 - grimmer@suse.de - Update to 3.23.47 (bugfixes) - see the following URLs for the full list of changes: http://www.mysql.com/doc/N/e/News-3.23.47.html - re-enabled and adjusted inline-patch - use libdir and prefix macros in configure call * Thu Dec 20 2001 - grimmer@suse.de - added /etc/logrotate.d/mysql - added log-rotate.patch to fit SuSEs logrotating better - added debugging symbols and /usr/bin/resolve_stack_dump - reworked installation section in spec file (create all directories first) * Mon Dec 17 2001 - grimmer@suse.de - Update to 3.23.46 (bugfixes) - see the following URLs for the full list of changes: http://www.mysql.com/doc/N/e/News-3.23.45.html http://www.mysql.com/doc/N/e/News-3.23.46.html - Changed ldflags from "all-static" to "static" and make sure to archive *.lai files as well before recompiling (required to build Midgard), thanks to schwab@suse.de for the patch - changed mysql-shared file list from /usr/lib/libmysqlclient.so* to /usr/lib/libmysqlclient.so.* - removed START_MYSQL rc.config entry for SuSE Linux 8.0, adapted spec file to reflect this change - updated README.SuSE * Wed Nov 21 2001 - grimmer@suse.de - added check for "socket=" variable in function "parse_arguments" in the mysql init script (thanks to Aivo Kalu and Peter Marschall for spotting this) - the init script would issue a "failed" notice, if the socket variable had been changed to a different path than /var/lib/mysql/mysql.sock in /etc/my.cnf even though the MySQL daemon would be up and running [#12411] * Thu Nov 15 2001 - grimmer@suse.de - Update to 3.23.44 (bugfixes) - see the following URLs for the full list of changes: http://www.mysql.com/doc/N/e/News-3.23.43.html http://www.mysql.com/doc/N/e/News-3.23.44.html - added "-felide-constructors -fno-exceptions -fno-rtti" to CXXFLAGS in spec file (thanks to Monty Widenius for pointing this out) - Updated manual.pdf - disabled inline patch (not required anymore) - Install /etc/mysqlaccess.conf with permissions set to "640" instead of "755" [#10871] * Mon Oct 01 2001 - schwab@suse.de - Add patch to allow compilation even if the compiler decides to not actually inline the two largest inline functions, page_dir_slot_check() and btr_search_check_guess(). - Don't run automake, fix the extra dependency instead. * Mon Sep 17 2001 - grimmer@suse.de - Update to 3.23.42 (bugfixes) - the following bugs were fixed: * Fixed problem when using LOCK TABLES and BDB tables. * Fixed problem with REPAIR TABLE on MyISAM tables with row lengths between 65517 - 65520 bytes * Fixed rare hang when doing mysqladmin shutdown when there was a lot of activity in other threads. * Fixed problem with INSERT DELAYED where delay thread could be hanging on upgrading locks without any apparent reasons. * Fixed problem with myisampack and BLOB. * Fixes problem when one edited .MRG tables by hand. (Patch from Benjamin Pflugmann). * Enforce that all tables in a MERGE table come from the same database. * Fixed bug with LOAD DATA INFILE and transactional tables. * Fix bug when using INSERT DELAYED with wrong column definition. * Fixed coredump during REPAIR of some particularly broken tables. * Fixed bug in InnoDB and AUTO_INCREMENT columns. * Fixed bug in InnoDB and RENAME TABLE columns. * Fixed critical bug in InnoDB and BLOB columns. If one has used BLOB columns larger than 8000 bytes in an InnoDB table, one must dump the table with mysqldump, drop it and restore it from the dump. * Applied large patch for OS/2 from Yuri Dario. * Fixed problem with InnoDB when one could get the error Can't execute the given command... even when one didn't have an active transaction. * Applied some minor fixes that concern Gemini. * Use real arithmetic operations even in integer context if not all arguments are integers. (Fixes uncommon bug in some integer contexts). * Don't force everything to lower cases on Windows. (To fix problem with Windows and ALTER TABLE). Now --lower_case_names also works on Unix. * Fixed that automatic rollback that is done when thread end doesn't lock other threads. * Tue Aug 14 2001 - grimmer@suse.de - Update to 3.23.41 (bugfixes, see the changelog at http://www.mysql.com/doc/N/e/News-3.23.41.html for details) * Mon Jul 30 2001 - grimmer@suse.de - Update to 3.23.40 (see the changelogs at http://www.mysql.com/doc/N/e/News-3.23.x.html for details) - spec file: added mysql-Max subpackage that includes all the new bells and whistles (BerkeleyDB, InnoDB) - spec file: added "--with-libwrap" compile option to enable TCP wrapper support - spec file: reworked the build and install section to ease the creation of mysqld-max - rc.mysql: fixed two (trivial) typos - rc.mysql: make sure to test for mysqld-max as well before trying to start up - spec file: moved "replace" and "perror" binaries incl. man pages to the mysql-client package - spec file: corrected URLs - manual.pdf: update to current version - README.SuSE: updated to document the above changes * Fri May 04 2001 - grimmer@suse.de - Fixed a nasty bug when updating after the database files have been copied to the new location, but the old ones have not been removed (#7692) - thanks to Jochen Schulz <jschulz1@gwdg.de> for spotting this one. * Sat Apr 28 2001 - grimmer@suse.de - Update to 3.23.37 (bugfixes, see http://www.mysql.com/doc/N/e/News-3.23.37.html for full changelog) - fixed init script, now start MySQL using the wrapper script "safe_mysqld" instead of mysqld again (logging did not work), fixes for bug [#6876] and [#6840] - we currently do not enable MySQL-Max, since it is still considered beta (http://www.mysql.com/downloads/mysql-max-3.23.html) * Thu Apr 12 2001 - grimmer@suse.de - Update to 3.23.36 (bugfix and security release) full Changelogs for Changes between 3.23.33 and 3.23.36 are here: http://www.mysql.com/doc/N/e/News-3.23.36.html http://www.mysql.com/doc/N/e/News-3.23.35.html http://www.mysql.com/doc/N/e/News-3.23.34.html - reworked init script - added more man pages to file list - reworked README.SuSE - added automated testing to spec file * Thu Mar 08 2001 - grimmer@suse.de - Update to 3.23.33 (bugfix release, see http://www.mysql.com/doc/N/e/News-3.23.33.html for a complete list of changes) - updated manual.pdf - fixed init script (#6044, "failed" on startup on a 2.4 kernel) beautified init script output a bit, changed "reload" argument to "force-reload" and added separate "reload" section - added some comments about replication and BerkeleyDB code to README.SuSE - marked init script as config file in spec file * Tue Jan 23 2001 - grimmer@suse.de - Update to 3.23.32 - stable release including security fixes for the SHOW GRANTS statement and a remote buffer overflow (Bugtraq ID 2262) - updated manual.pdf - added some missing files to the file list - added --without-berkeley-db to the configure options (according to the release notes, Berkeley DB support and replication have not been exhaustively tested yet) * Wed Jan 10 2001 - grimmer@suse.de - Update to 3.23.30-gamma (bugfix-release) - added manual.pdf as a separate file - removed verbosity flag from cp-command in preinstall section * Fri Dec 22 2000 - grimmer@suse.de - fixed initial startup in init script (correct ownerships of the mysql datadir before starting mysqld using "chown") - added different mysql sample configurations to directory "cnf" in the documentation directory - use my-medium.cnf as default configuration /etc/my.cnf * Mon Dec 18 2000 - grimmer@suse.de - fixed packaging of mysql-bench (file list was empty) * Fri Dec 15 2000 - grimmer@suse.de - init script fixes (added $remote_fs to Required-Start, check if /usr/sbin/mysqld exists) - README.SuSE updates * Fri Dec 01 2000 - ro@suse.de - added static libs to devel package * Mon Nov 27 2000 - grimmer@suse.de - update to 3.23.28-gamma (considered stable enough by Monty) - added --with-extra-charsets=complex - database files are now located below /var/lib/mysql - do not use --with-raid or --with-berkeley-db yet - adapted to new init scheme (new init script, removed symlinks, moved init script from /sbin/init.d -> /etc/init.d) - moved socket from /tmp/mysql.sock to /var/lib/mysql/mysql.sock - removed AGREEMENT since mysql is GPL now - removed README.SuSE, rc.config.mysql and rc.mysql from patch and added them as additional source files instead * Fri Nov 10 2000 - grimmer@suse.de - added a symlink /usr/lib/mysql/libmysqlclient.so -> ../libmysqlclient.so.6.0.0 to make libtool happy * Mon Nov 06 2000 - grimmer@suse.de - fixed Requires: for mysql-bench (mysql-perl -> perl-Msql-Mysql-modules) * Thu Nov 02 2000 - grimmer@suse.de - switched to long package names: mysqclnt -> mysql-client mysqldev -> mysql-devel mysqbnch -> mysql-bench mysqllib -> mysql-shared - removed subpackage mysqperl from mysql.spec and created separate packages (perl-Msql-Mysql-modules and perl-Data-ShowTable) - finally use BuildRoot - updated README.SuSE to reflect changes * Wed Aug 23 2000 - ro@suse.de - fixed perl path * Fri Jul 21 2000 - grimmer@suse.de - corrected removal of comment - bash does not like empty if-statements... * Thu Jul 13 2000 - grimmer@suse.de - added missing "-" to parameter "hostname --fqdn" in scripts/mysql_install_db.sh (BUG#3383) - removed comment from scripts/mysql_install_db.sh about needing to install an init script, since we supply this already * Wed Jul 05 2000 - grimmer@suse.de - removed DBI perl module from subpackage mysqperl (is in a separate package "perl_dbi" now) and adjusted file list (BUG#3173) * Wed May 24 2000 - uli@suse.de - moved docs to /usr/share * Fri May 05 2000 - freitag@suse.de - Security change requested by a feedback mail - sets initially a full qualified hostname and notifies the user to change the two root passwords and not only one. - added autoconf and automake to neededforbuild - added --host=%%{_host} to configure call due to suspicious libtool probs - /usr/doc/packages replaced by %%{_defaultdocdir} * Sat Apr 08 2000 - bk@suse.de - added suse update config macro * Wed Feb 23 2000 - grimmer@suse.de - Update to 3.22.32 - created subpackage "mysqllib" which contains shared libs only - created subpackage "mysqperl" which contains the perl modules - removed obsolete security patch (is included in new version) - update now checks for existing database files and chowns them to "mysql" itself, if they still belong to "root" - specfile and init script modified - removed SuSE Linux version from AGREEMENT - updated README.SuSE to reflect changes * Fri Feb 11 2000 - grimmer@suse.de - added security patch from monty@tcx.se (password authentication) * Thu Jan 13 2000 - grimmer@suse.de - update to 3.22.30 (security fix for GRANT privileges) - now uses version macro in spec file * Fri Jan 07 2000 - grimmer@suse.de - update to 3.22.29 - updated Msql-Mysql-modules to 1.2210 and removed obsolete patch - changed RPM Group of mysqldev to Development/Libraries - corrected paths in mysqlaccess * Thu Oct 28 1999 - grimmer@suse.de - update to 3.22.27 - updated Msql-Mysql-modules to 1.2209 - fixed check for ownership of installed db in specfile * Mon Oct 25 1999 - grimmer@suse.de - update to 3.22.26a - now runs as user "mysql" (resolved Bug #371) - now uses /etc/my.cnf - updated perl-modules (DBI, Msql-Mysql-modules) - moved long names from PAC-file to specfile (Provides:) - misc minor corrections/updates (specfile, init-script...) * Mon Aug 30 1999 - grimmer@suse.de - added bugfix for Alpha (TEXT and BLOB were broken) - modified configure-call in spec - added long aliases to PAC-files * Tue Jul 13 1999 - grimmer@suse.de - update to 3.22.25 - updated perl-modules (DBI, Msql-Mysql-modules) - moved libs (mysqlclient.so et al) from /usr/lib/mysql to /usr/lib - minor corrections (README.SuSE, init-Script) * Thu May 20 1999 - ro@suse.de - activate assembler parts only on x86 * Wed Apr 28 1999 - grimmer@suse.de - added missing perl module (Mysql.pm) - added missing perl package (Data-Showtable) * Tue Apr 06 1999 - ro@suse.de - update to 3.22.21 - split into subpackages (mysql, mysqclnt, mysqldev, mysqbnch) - re-added perl-modules - updated init-Script - /etc/mysql.passwd is now obsolete * Fri Dec 11 1998 - grimmer@suse.de - updated init-Script * Sun Nov 29 1998 - bs@suse.de - fixed pathes for perl modules. - remove symlinks before creating them. * Fri Nov 27 1998 - ro@suse.de - adapted paths to old perl - this version should not have been in stable * Tue Nov 24 1998 - grimmer@suse.de - added /usr/doc/packages/AGREEMENT * Tue Nov 17 1998 - ro@suse.de - adapted paths to perl5.005_02 * Wed Nov 11 1998 - ro@suse.de - added libgpp to neededforbuild * Mon Nov 09 1998 - grimmer@suse.de - New Package (Version 3.21.33b)