diff options
author | Daniel Black <daniel@mariadb.org> | 2022-09-21 11:10:05 +1000 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2023-02-10 10:45:25 +0100 |
commit | b30b040b733ff2045ffcd7bdd44f608c7f4912b5 (patch) | |
tree | d23e6e1aaa027fe26068e9a87994316d806c2b23 /mysys | |
parent | ce4a289f1c367987977f1a02bbb8d8b8e8e6bb53 (diff) | |
download | mariadb-git-b30b040b733ff2045ffcd7bdd44f608c7f4912b5.tar.gz |
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.
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/errors.c | 2 | ||||
-rw-r--r-- | mysys/my_init.c | 10 | ||||
-rw-r--r-- | mysys/my_symlink.c | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/mysys/errors.c b/mysys/errors.c index d88540fe277..a7b2f1ae603 100644 --- a/mysys/errors.c +++ b/mysys/errors.c @@ -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 diff --git a/mysys/my_init.c b/mysys/my_init.c index 44488e5848a..9ca68e80c1d 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -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(); diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c index 8238e501e7f..e7833992f0d 100644 --- a/mysys/my_symlink.c +++ b/mysys/my_symlink.c @@ -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 { |