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 */ ...@@ -73,7 +73,8 @@ extern const char *globerrs[]; /* my_error_messages is here */
#define EE_PERM_LOCK_MEMORY 37 #define EE_PERM_LOCK_MEMORY 37
#define EE_MEMCNTL 38 #define EE_MEMCNTL 38
#define EE_DUPLICATE_CHARSET 39 #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. */ /* Add error numbers before EE_ERROR_LAST and change it accordingly. */
......
...@@ -60,6 +60,7 @@ const char *globerrs[GLOBERRS]= ...@@ -60,6 +60,7 @@ const char *globerrs[GLOBERRS]=
"Lock Pages in memory access rights required", "Lock Pages in memory access rights required",
"Memcntl %s cmd %s error", "Memcntl %s cmd %s error",
"Warning: Charset id '%d' csname '%s' trying to replace existing csname '%s'", "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) void init_glob_errs(void)
...@@ -109,6 +110,7 @@ void init_glob_errs() ...@@ -109,6 +110,7 @@ void init_glob_errs()
EE(EE_PERM_LOCK_MEMORY)= "Lock Pages in memory access rights required"; EE(EE_PERM_LOCK_MEMORY)= "Lock Pages in memory access rights required";
EE(EE_MEMCNTL) = "Memcntl %s cmd %s error"; 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_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 #endif
......
...@@ -170,7 +170,17 @@ my_bool my_init(void) ...@@ -170,7 +170,17 @@ my_bool my_init(void)
my_progname_short= "unknown"; my_progname_short= "unknown";
if (my_progname) if (my_progname)
{
char link_name[FN_REFLEN];
my_progname_short= my_progname + dirname_length(my_progname); 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 */ /* Initialize our mutex handling */
my_mutex_init(); my_mutex_init();
......
...@@ -45,7 +45,7 @@ int (*mysys_test_invalid_symlink)(const char *filename)= always_valid; ...@@ -45,7 +45,7 @@ int (*mysys_test_invalid_symlink)(const char *filename)= always_valid;
int my_readlink(char *to, const char *filename, myf MyFlags) int my_readlink(char *to, const char *filename, myf MyFlags)
{ {
#ifndef HAVE_READLINK #ifndef HAVE_READLINK
strmov(to,filename); strnmov(to, filename, FN_REFLEN);
return 1; return 1;
#else #else
int result=0; int result=0;
...@@ -54,11 +54,13 @@ int my_readlink(char *to, const char *filename, myf MyFlags) ...@@ -54,11 +54,13 @@ int my_readlink(char *to, const char *filename, myf MyFlags)
if ((length=readlink(filename, to, FN_REFLEN-1)) < 0) 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 */ /* Don't give an error if this wasn't a symlink */
if ((my_errno=errno) == EINVAL) if (errno == EINVAL)
{ {
result= 1; result= 1;
strmov(to,filename); strnmov(to, filename, FN_REFLEN);
} }
else else
{ {
......
...@@ -46,6 +46,12 @@ extra_file="" ...@@ -46,6 +46,12 @@ extra_file=""
dirname0=`dirname $0 2>/dev/null` dirname0=`dirname $0 2>/dev/null`
dirname0=`dirname $dirname0 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() usage()
{ {
cat <<EOF cat <<EOF
......
...@@ -29,6 +29,12 @@ defaults_file= ...@@ -29,6 +29,12 @@ defaults_file=
defaults_extra_file= defaults_extra_file=
no_defaults= 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() parse_arg()
{ {
echo "$1" | sed -e 's/^[^=]*=//' 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