fill_help_tables.sql moved to new directory

Bug #1296187 reported by monty solomon on 2014-03-23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Status tracked in 5.7
5.5
High
Unassigned
5.6
High
Unassigned
5.7
High
Unassigned

Bug Description

My scripts expect to find fill_help_tables.sql in the /usr/share/mysql/ directory.

Percona server is now installing fill_help_tables.sql in the /usr/share/percona-server/ directory.

The recent RPM packaging changes, including this one, cause Percona Server to no longer be a "drop-in MySQL replacement " and are disruptive to environments managed using scripts and/or puppet.

Tags: pkg Edit Tag help

This change seems intentional and it's easy to check where the file in question is located:

openxs@ao756:~$ rpm -qpl Percona-Server-server-56-5.6.16-rel64.1.el6.x86_64.rpm | grep fill_help_tables
/usr/share/percona-server/fill_help_tables.sql
openxs@ao756:~$ rpm -qpl Percona-Server-server-55-5.5.36-rel34.1.el6.x86_64.rpm | grep fill_help_tables
/usr/share/percona-server/fill_help_tables.sql

but it does break setups based on puppet etc.

@monty,

Can you provide details on how this is breaking your puppet
setup.

The reason for this change was to install help files into an
unique path so that server package (which provides these help
files) is installable alongside mysql-libs (from CentOS, and it
provides those files).

This has been an issue (reported elsewhere) for a while wherein Percona's server
package conflicted with mysql-libs at file-level even though they were of
different category (mysql-libs shouldn't ideally provide those
help files).

Now, regarding fill_help_tables.sql itself, mysql_install_db is
the user of it (and probably the only one) and it works fine with
changes made to RPM packaging (the SHAREDIR is provided as
compilation argument to cmake) and mysql_install_db itself.

monty solomon (monty+launchpad) wrote :

The fill_help_tables.sql file is not part of mysql-libs.

mysql-libs is for MySQL 5.1 - the default MySQL for CentOS is version 5.1.

mysql-libs should be removed when Percona Server is installed on CentOS. When I install Percona Server I expect all of the mysql-related files to come from the Percona packages.

# rpm -ql mysql-libs
/etc/ld.so.conf.d/mysql-x86_64.conf
/etc/my.cnf
/usr/lib64/mysql
/usr/lib64/mysql/libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient.so.16.0.0
/usr/lib64/mysql/libmysqlclient_r.so.16
/usr/lib64/mysql/libmysqlclient_r.so.16.0.0
/usr/share/doc/mysql-libs-5.1.71
/usr/share/doc/mysql-libs-5.1.71/COPYING
/usr/share/doc/mysql-libs-5.1.71/README.mysql-license
/usr/share/mysql
/usr/share/mysql/charsets
/usr/share/mysql/charsets/Index.xml
/usr/share/mysql/charsets/README
/usr/share/mysql/charsets/armscii8.xml
/usr/share/mysql/charsets/ascii.xml
/usr/share/mysql/charsets/cp1250.xml
/usr/share/mysql/charsets/cp1251.xml
/usr/share/mysql/charsets/cp1256.xml
/usr/share/mysql/charsets/cp1257.xml
/usr/share/mysql/charsets/cp850.xml
/usr/share/mysql/charsets/cp852.xml
/usr/share/mysql/charsets/cp866.xml
/usr/share/mysql/charsets/dec8.xml
/usr/share/mysql/charsets/geostd8.xml
/usr/share/mysql/charsets/greek.xml
/usr/share/mysql/charsets/hebrew.xml
/usr/share/mysql/charsets/hp8.xml
/usr/share/mysql/charsets/keybcs2.xml
/usr/share/mysql/charsets/koi8r.xml
/usr/share/mysql/charsets/koi8u.xml
/usr/share/mysql/charsets/latin1.xml
/usr/share/mysql/charsets/latin2.xml
/usr/share/mysql/charsets/latin5.xml
/usr/share/mysql/charsets/latin7.xml
/usr/share/mysql/charsets/macce.xml
/usr/share/mysql/charsets/macroman.xml
/usr/share/mysql/charsets/swe7.xml
/usr/share/mysql/czech
/usr/share/mysql/czech/errmsg.sys
/usr/share/mysql/danish
/usr/share/mysql/danish/errmsg.sys
/usr/share/mysql/dutch
/usr/share/mysql/dutch/errmsg.sys
/usr/share/mysql/english
/usr/share/mysql/english/errmsg.sys
/usr/share/mysql/estonian
/usr/share/mysql/estonian/errmsg.sys
/usr/share/mysql/french
/usr/share/mysql/french/errmsg.sys
/usr/share/mysql/german
/usr/share/mysql/german/errmsg.sys
/usr/share/mysql/greek
/usr/share/mysql/greek/errmsg.sys
/usr/share/mysql/hungarian
/usr/share/mysql/hungarian/errmsg.sys
/usr/share/mysql/italian
/usr/share/mysql/italian/errmsg.sys
/usr/share/mysql/japanese
/usr/share/mysql/japanese/errmsg.sys
/usr/share/mysql/korean
/usr/share/mysql/korean/errmsg.sys
/usr/share/mysql/norwegian
/usr/share/mysql/norwegian-ny
/usr/share/mysql/norwegian-ny/errmsg.sys
/usr/share/mysql/norwegian/errmsg.sys
/usr/share/mysql/polish
/usr/share/mysql/polish/errmsg.sys
/usr/share/mysql/portuguese
/usr/share/mysql/portuguese/errmsg.sys
/usr/share/mysql/romanian
/usr/share/mysql/romanian/errmsg.sys
/usr/share/mysql/russian
/usr/share/mysql/russian/errmsg.sys
/usr/share/mysql/serbian
/usr/share/mysql/serbian/errmsg.sys
/usr/share/mysql/slovak
/usr/share/mysql/slovak/errmsg.sys
/usr/share/mysql/spanish
/usr/share/mysql/spanish/errmsg.sys
/usr/share/mysql/swedish
/usr/share/mysql/swedish/errmsg.sys
/usr/share/mysql/ukrainian
/usr/share/mysql/ukrainian/errmsg.sys

tags: added: pkg
monty solomon (monty+launchpad) wrote :

The test suite is broken due to the files being moved to the /usr/share/percona-server directory.

# pwd
/usr/share/mysql-test

# ./mysql-test-run
Logging: ./mysql-test-run
mysql-test-run: *** ERROR: Could not find any of /usr/share/mysql/charsets /usr/sql/share/charsets /usr/share/charsets

CentOS release 6.5 (Final)
Linux monty-testslab 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

mysql Ver 14.14 Distrib 5.6.21-70.1, for Linux (x86_64) using EditLine wrapper
Server version: 5.6.21-70.1-log Percona Server (GPL), Release 70.1, Revision 698

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers