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.
This commit is contained in:
parent
ce4a289f1c
commit
b30b040b73
@ -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]=
|
|||||||
"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()
|
|||||||
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)
|
|||||||
|
|
||||||
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;
|
|||||||
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)
|
|||||||
|
|
||||||
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=""
|
|||||||
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=
|
|||||||
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/^[^=]*=//'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user