Commit b30b040b authored by Daniel Black's avatar Daniel Black Committed by Sergei Golubchik

MDEV-29582 deprecate mysql* names

Eventually mysql symlinks will go away, as MariaDB and MySQL keep
diverging and we do not want to make it impossible to install
MariaDB and MySQL side-by-side when users want it.

It also useful if people start using MariaDB tools with MariaDB.

If the exe doesn't begine with "mariadb" or is a symlink,
print a warning to use the resolved name.

In my_readlink, add check on my_thread_var as its used by comp_err
and other build utils that also use my_init.
parent ce4a289f
......@@ -73,7 +73,8 @@ extern const char *globerrs[]; /* my_error_messages is here */
#define EE_PERM_LOCK_MEMORY 37
#define EE_MEMCNTL 38
#define EE_DUPLICATE_CHARSET 39
#define EE_ERROR_LAST 39 /* Copy last error nr */
#define EE_NAME_DEPRECATED 40
#define EE_ERROR_LAST 40 /* Copy last error nr */
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */
......
......@@ -60,6 +60,7 @@ const char *globerrs[GLOBERRS]=
"Lock Pages in memory access rights required",
"Memcntl %s cmd %s error",
"Warning: Charset id '%d' csname '%s' trying to replace existing csname '%s'",
"Notice: %s is deprecated and will be removed in a future release, use command '%s'"
};
void init_glob_errs(void)
......@@ -109,6 +110,7 @@ void init_glob_errs()
EE(EE_PERM_LOCK_MEMORY)= "Lock Pages in memory access rights required";
EE(EE_MEMCNTL) = "Memcntl %s cmd %s error";
EE(EE_DUPLICATE_CHARSET)= "Warning: Charset id %d trying to replace csname %s with %s";
EE(EE_NAME_DEPRECATED) = "Notice: %s is deprecated and will be removed in a future release, use command '%s'"
}
#endif
......
......@@ -170,7 +170,17 @@ my_bool my_init(void)
my_progname_short= "unknown";
if (my_progname)
{
char link_name[FN_REFLEN];
my_progname_short= my_progname + dirname_length(my_progname);
/*
If its a link a different program that doesn't begin with mariadb
like mariadb-repair might link to mariadb-check.
*/
if (strncmp(my_progname_short, "mariadb", 7)
&& my_readlink(link_name, my_progname, MYF(0)) == 0)
my_error(EE_NAME_DEPRECATED, MYF(MY_WME), my_progname, link_name);
}
/* Initialize our mutex handling */
my_mutex_init();
......
......@@ -45,7 +45,7 @@ int (*mysys_test_invalid_symlink)(const char *filename)= always_valid;
int my_readlink(char *to, const char *filename, myf MyFlags)
{
#ifndef HAVE_READLINK
strmov(to,filename);
strnmov(to, filename, FN_REFLEN);
return 1;
#else
int result=0;
......@@ -54,11 +54,13 @@ int my_readlink(char *to, const char *filename, myf MyFlags)
if ((length=readlink(filename, to, FN_REFLEN-1)) < 0)
{
if (my_thread_var)
my_errno= errno;
/* Don't give an error if this wasn't a symlink */
if ((my_errno=errno) == EINVAL)
if (errno == EINVAL)
{
result= 1;
strmov(to,filename);
strnmov(to, filename, FN_REFLEN);
}
else
{
......
......@@ -46,6 +46,12 @@ extra_file=""
dirname0=`dirname $0 2>/dev/null`
dirname0=`dirname $dirname0 2>/dev/null`
case "$0" in
*mysql*)
echo "Notice: $0 is deprecated and will be removed in a future release, use command mariadb-install-db" 1>&2
;;
esac
usage()
{
cat <<EOF
......
......@@ -29,6 +29,12 @@ defaults_file=
defaults_extra_file=
no_defaults=
case "$0" in
*mysql*)
echo "Notice: $0 is deprecated and will be removed in a future release, use command mariadb-secure-installation" 1>&2
;;
esac
parse_arg()
{
echo "$1" | sed -e 's/^[^=]*=//'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment