Skip to content

Commit 270c73b

Browse files
author
Rasmus Johansson
committed
MDEV-17591 Create MariaDB named commands/symlinks
1 parent 8e3a4be commit 270c73b

12 files changed

+193
-7
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ INCLUDE(plugin)
160160
INCLUDE(install_macros)
161161
INCLUDE(systemd)
162162
INCLUDE(mysql_add_executable)
163+
INCLUDE(symlinks)
163164
INCLUDE(compile_flags)
164165
INCLUDE(crc32)
165166

client/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ TARGET_LINK_LIBRARIES(mysqlcheck ${CLIENT_LIB})
5656
MYSQL_ADD_EXECUTABLE(mysqldump mysqldump.c ../sql-common/my_user.c)
5757
TARGET_LINK_LIBRARIES(mysqldump ${CLIENT_LIB})
5858

59-
6059
MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c)
6160
SET_SOURCE_FILES_PROPERTIES(mysqlimport.c PROPERTIES COMPILE_FLAGS "-DTHREADS")
6261
TARGET_LINK_LIBRARIES(mysqlimport ${CLIENT_LIB})
@@ -93,11 +92,9 @@ TARGET_LINK_LIBRARIES(async_example ${CLIENT_LIB})
9392
SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example
9493
PROPERTIES HAS_CXX TRUE)
9594

96-
97-
FOREACH(t mysql mysqltest mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysql_plugin mysqlbinlog
95+
FOREACH(t mysql mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysql_plugin mysqlbinlog
9896
mysqladmin mysqlslap async_example)
9997
ADD_DEPENDENCIES(${t} GenError ${CLIENT_LIB})
10098
ENDFOREACH()
10199

102100
ADD_DEFINITIONS(-DHAVE_DLOPEN)
103-

cmake/install_macros.cmake

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,10 @@ FUNCTION(INSTALL_MANPAGE file)
7171
${MYSQL_DOC_DIR}/man/*${file}.8*
7272
${GLOB_EXPR}
7373
)
74-
ENDIF()
74+
ENDIF()
7575

7676
FILE(GLOB_RECURSE MANPAGES ${GLOB_EXPR})
77+
7778
IF(MANPAGES)
7879
LIST(GET MANPAGES 0 MANPAGE)
7980
STRING(REPLACE "${file}man.1" "${file}.1" MANPAGE "${MANPAGE}")
@@ -111,8 +112,10 @@ FUNCTION(INSTALL_SCRIPT)
111112
ENDIF()
112113

113114
INSTALL(PROGRAMS ${script} DESTINATION ${ARG_DESTINATION} ${COMP})
115+
get_filename_component(dest "${script}" NAME)
116+
CREATE_MARIADB_SYMLINK(${dest} ${COMP})
114117

115-
INSTALL_MANPAGE(${script})
118+
INSTALL_MANPAGE(${dest})
116119
ENDFUNCTION()
117120

118121

cmake/mysql_add_executable.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
6363
UNSET(EXCLUDE_FROM_ALL)
6464
ENDIF()
6565
ADD_EXECUTABLE(${target} ${WIN32} ${MACOSX_BUNDLE} ${EXCLUDE_FROM_ALL} ${sources})
66+
6667
# tell CPack where to install
6768
IF(NOT ARG_EXCLUDE_FROM_ALL)
6869
IF(NOT ARG_DESTINATION)
@@ -80,4 +81,7 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
8081
ENDIF()
8182
MYSQL_INSTALL_TARGETS(${target} DESTINATION ${ARG_DESTINATION} ${COMP})
8283
ENDIF()
84+
85+
# create mariadb named symlink
86+
CREATE_MARIADB_SYMLINK(${target} ${COMP})
8387
ENDFUNCTION()

cmake/symlinks.cmake

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# MariaDB names for executables
2+
list(APPEND MARIADB_SYMLINK_NAMES "mysql" "mariadb")
3+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlaccess" "mariadb-access")
4+
list(APPEND MARIADB_SYMLINK_NAMES "mysqladmin" "mariadb-admin")
5+
list(APPEND MARIADB_SYMLINK_NAMES "mariabackup" "mariadb-backup")
6+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlbinlog" "mariadb-binlog")
7+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlcheck" "mariadb-check")
8+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_client_test_embedded" "mariadb-client-test-embedded")
9+
list(APPEND MARIADB_SYMLINK_NAMES "mariadb_config" "mariadb-config")
10+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_convert_table_format" "mariadb-convert-table-format")
11+
list(APPEND MARIADB_SYMLINK_NAMES "mysqldump" "mariadb-dump")
12+
list(APPEND MARIADB_SYMLINK_NAMES "mysqldumpslow" "mariadb-dumpslow")
13+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_embedded" "mariadb-embedded")
14+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_find_rows" "mariadb-find-rows")
15+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_fix_extensions" "mariadb-fix-extensions")
16+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlhotcopy" "mariadb-hotcopy")
17+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlimport" "mariadb-import")
18+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_install_db" "mariadb-install-db")
19+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_ldb" "mariadb-ldb")
20+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_plugin" "mariadb-plugin")
21+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_secure_installation" "mariadb-secure-installation")
22+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_setpermission" "mariadb-setpermission")
23+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlshow" "mariadb-show")
24+
list(APPEND MARIADB_SYMLINK_NAMES "mysqlslap" "mariadb-slap")
25+
list(APPEND MARIADB_SYMLINK_NAMES "mysqltest" "mariadb-test")
26+
list(APPEND MARIADB_SYMLINK_NAMES "mysqltest_embedded" "mariadb-test-embedded")
27+
list(APPEND MARIADB_SYMLINK_NAMES "mytop" "mariadb-top")
28+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_tzinfo_to_sql" "mariadb-tzinfo-to-sql")
29+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_upgrade" "mariadb-upgrade")
30+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_upgrade_service" "mariadb-upgrade-service")
31+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_upgrade_wizard" "mariadb-upgrade-wizard")
32+
list(APPEND MARIADB_SYMLINK_NAMES "mysql_waitpid" "mariadb-waitpid")
33+
list(APPEND MARIADB_SYMLINK_NAMES "mysqld" "mariadbd")
34+
list(APPEND MARIADB_SYMLINK_NAMES "mysqld_multi" "mariadbd-multi")
35+
list(APPEND MARIADB_SYMLINK_NAMES "mysqld_safe" "mariadbd-safe")
36+
list(APPEND MARIADB_SYMLINK_NAMES "mysqld_safe_helper" "mariadbd-safe-helper")
37+
38+
# Add MariaDB symlinks
39+
macro(CREATE_MARIADB_SYMLINK src comp)
40+
# Find the MariaDB name for executable
41+
list(FIND MARIADB_SYMLINK_NAMES ${src} _index)
42+
43+
if (${_index} GREATER -1)
44+
MATH(EXPR _index "${_index}+1")
45+
list(GET MARIADB_SYMLINK_NAMES ${_index} _name)
46+
set(mariadbname ${_name})
47+
endif()
48+
49+
if (mariadbname)
50+
set(dest ${mariadbname})
51+
set(symlink_install_dir ${INSTALL_BINDIR})
52+
53+
# adjust install location if needed
54+
if(${dest} MATCHES "mariadb-install-db")
55+
set(symlink_install_dir ${INSTALL_SCRIPTDIR})
56+
endif()
57+
58+
CREATE_MARIADB_SYMLINK_IN_DIR(${src} ${dest} ${symlink_install_dir} ${comp})
59+
endif()
60+
endmacro(CREATE_MARIADB_SYMLINK)
61+
62+
# Add MariaDB symlinks in directory
63+
macro(CREATE_MARIADB_SYMLINK_IN_DIR src dest dir comp)
64+
if(NOT WIN32)
65+
add_custom_target(
66+
symlink_${dest}_${comp} ALL
67+
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${dest}
68+
)
69+
70+
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${dest} POST_BUILD
71+
COMMAND ${CMAKE_COMMAND} -E create_symlink ${src} ${dest}
72+
COMMENT "mklink ${src} -> ${dest}")
73+
74+
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${dest} DESTINATION ${dir} COMPONENT ${comp})
75+
endif()
76+
endmacro(CREATE_MARIADB_SYMLINK_IN_DIR)

debian/mariadb-client-10.4.links

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,44 @@
1+
usr/bin/mysql_find_rows usr/bin/mariadb-find-rows
2+
usr/bin/mysql_fix_extensions usr/bin/mariadb-fix-extenstions
3+
usr/bin/mysql_plugin usr/bin/mariadb-plugin
4+
usr/bin/mysql_waitpid usr/bin/mariadb-waitpid
5+
usr/bin/mysqlaccess usr/bin/mariadb-access
6+
usr/bin/mysqladmin usr/bin/mariadb-admin
7+
usr/bin/mysqlanalyze usr/bin/mariadb-analyze
8+
usr/bin/mysqlbinlog usr/bin/mariadb-binlog
9+
usr/bin/mysqlcheck usr/bin/mariadb-analyze
10+
usr/bin/mysqlcheck usr/bin/mariadb-optimize
11+
usr/bin/mysqlcheck usr/bin/mariadb-repair
112
usr/bin/mysqlcheck usr/bin/mysqlanalyze
213
usr/bin/mysqlcheck usr/bin/mysqloptimize
314
usr/bin/mysqlcheck usr/bin/mysqlrepair
15+
usr/bin/mysqldump usr/bin/mariadb-dump
16+
usr/bin/mysqldumpslow usr/bin/mariadb-dump-slow
17+
usr/bin/mysqlimport usr/bin/mariadb-import
18+
usr/bin/mysqloptimize usr/bin/mariadb-optimize
19+
usr/bin/mysqlrepair usr/bin/mariadb-repair
20+
usr/bin/mysqlreport usr/bin/mariadb-report
21+
usr/bin/mysqlslap usr/bin/mariadb-slap
22+
usr/bin/mysqltest usr/bin/mariadb-test
23+
usr/share/man/man1/mysql_find_rows.1.gz usr/share/man/man1/mariadb-find-rows.1.gz
24+
usr/share/man/man1/mysql_fix_extensions.1.gz usr/share/man/man1/mariadb-fix-extensions.1.gz
25+
usr/share/man/man1/mysql_plugin.1.gz usr/share/man/man1/mariadb-plugin.1.gz
26+
usr/share/man/man1/mysql_waitpid.1.gz usr/share/man/man1/mariadb-waitpid.1.gz
27+
usr/share/man/man1/mysqlaccess.1.gz usr/share/man/man1/mariadb-access.1.gz
28+
usr/share/man/man1/mysqladmin.1.gz usr/share/man/man1/mariadb-admin.1.gz
29+
usr/share/man/man1/mysqlanalyze.1.gz usr/share/man/man1/mariadb-analyze.1.gz
30+
usr/share/man/man1/mysqlbinlog.1.gz usr/share/man/man1/mariadb-binlog.1.gz
31+
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-analyze.1.gz
32+
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-optimize.1.gz
33+
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-repair.1.gz
434
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqlanalyze.1.gz
535
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqloptimize.1.gz
636
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqlrepair.1.gz
37+
usr/share/man/man1/mysqldump.1.gz usr/share/man/man1/mariadb-dump.1.gz
38+
usr/share/man/man1/mysqldumpslow.1.gz usr/share/man/man1/mariadb-dump-slow.1.gz
39+
usr/share/man/man1/mysqlimport.1.gz usr/share/man/man1/mariadb-import.1.gz
40+
usr/share/man/man1/mysqloptimize.1.gz usr/share/man/man1/mariadb-optimize.1.gz
41+
usr/share/man/man1/mysqlrepair.1.gz usr/share/man/man1/mariadb-repair.1.gz
42+
usr/share/man/man1/mysqlreport.1.gz usr/share/man/man1/mariadb-report.1.gz
43+
usr/share/man/man1/mysqlslap.1.gz usr/share/man/man1/mariadb-slap.1.gz
44+
usr/share/man/man1/mysqltest.1.gz usr/share/man/man1/mariadb-test.1.gz

debian/mariadb-client-core-10.4.links

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
usr/bin/mysql usr/bin/mariadb
2+
usr/bin/mysqlcheck usr/bin/mariadb-check
3+
usr/share/man/man1/mysql.1.gz usr/share/man/man1/mariadb.1.gz
4+
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-check.1.gz

debian/mariadb-server-10.4.install

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ usr/share/man/man1/replace.1
8787
usr/share/man/man1/resolve_stack_dump.1
8888
usr/share/man/man1/resolveip.1
8989
usr/share/man/man1/wsrep_sst_common.1
90+
usr/share/man/man1/wsrep_sst_mariabackup.1
9091
usr/share/man/man1/wsrep_sst_mysqldump.1
9192
usr/share/man/man1/wsrep_sst_rsync.1
92-
usr/share/man/man1/wsrep_sst_mariabackup.1
9393
usr/share/mysql/errmsg-utf8.txt
9494
usr/share/mysql/fill_help_tables.sql
9595
usr/share/mysql/maria_add_gis_sp_bootstrap.sql

debian/mariadb-server-10.4.links

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
usr/bin/mysql_convert_table_format usr/bin/mariadb-convert-table-format
2+
usr/bin/mysql_secure_installation usr/bin/mariadb-secure-installation
3+
usr/bin/mysql_setpermission usr/bin/mariadb-setpermission
4+
usr/bin/mysql_tzinfo_to_sql usr/bin/mariadb-tzinfo-to-sql
5+
usr/bin/mysqld_multi usr/bin/mariadb-multi
6+
usr/bin/mysqld_safe usr/bin/mariadb-safe
7+
usr/bin/mysqld_safe_helper usr/bin/mariadb-safe-helper
8+
usr/bin/mysqlhotcopy usr/bin/mariadb-hotcopy
9+
usr/bin/mysqlshow usr/bin/mariadb-show
10+
usr/share/man/man1/mysql_convert_table_format.1.gz usr/share/man/man1/mariadb-convert-table-format.1.gz
11+
usr/share/man/man1/mysql_secure_installation.1.gz usr/share/man/man1/mariadb-secure-installation.1.gz
12+
usr/share/man/man1/mysql_setpermission.1.gz usr/share/man/man1/mariadb-setpermission.1.gz
13+
usr/share/man/man1/mysql_tzinfo_to_sql.1.gz usr/share/man/man1/mariadb-tzinfo-to-sql.1.gz
14+
usr/share/man/man1/mysqld_multi.1.gz usr/share/man/man1/mariadb-multi.1.gz
15+
usr/share/man/man1/mysqld_safe.1.gz usr/share/man/man1/mariadb-safe.1.gz
16+
usr/share/man/man1/mysqld_safe_helper.1.gz usr/share/man/man1/mariadb-safe-helper.1.gz
17+
usr/share/man/man1/mysqlhotcopy.1.gz usr/share/man/man1/mariadb-hotcopy.1.gz
18+
usr/share/man/man1/mysqlshow.1.gz usr/share/man/man1/mariadb-show.1.gz

debian/mariadb-server-core-10.4.links

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
usr/bin/mysql_install_db usr/bin/mariadb-install-db
2+
usr/bin/mysql_upgrade usr/bin/mariadb-upgrade
3+
usr/share/man/man1/mysql_install_db.1.gz usr/share/man/man1/mariadb-install-db.1.gz
4+
usr/share/man/man1/mysql_upgrade.1.gz usr/share/man/man1/mariadb-upgrade-db.1.gz

0 commit comments

Comments
 (0)