summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Johansson <rasmus@mariadb.com>2019-05-18 06:11:01 +0000
committerRasmus Johansson <rasmus@mariadb.com>2019-06-15 06:13:06 +0000
commit895808e78a3ceb15e435c8f5608948cf60498e2f (patch)
tree71dd9a91ea4b4372f7d42f5cd345125ab9fd03b6
parentbf90a486c367a10b66c20fba4bfe64d378fc3238 (diff)
downloadmariadb-git-bb-10.4-MDEV-17591.tar.gz
MDEV-17592 Create MariaDB named commands/symlinksbb-10.4-MDEV-17591
-rw-r--r--CMakeLists.txt1
-rw-r--r--client/CMakeLists.txt5
-rw-r--r--cmake/install_macros.cmake7
-rw-r--r--cmake/mysql_add_executable.cmake4
-rw-r--r--cmake/symlinks.cmake72
-rw-r--r--debian/mariadb-client-10.4.links38
-rw-r--r--debian/mariadb-client-core-10.4.links4
-rw-r--r--debian/mariadb-server-10.4.install2
-rw-r--r--debian/mariadb-server-10.4.links18
-rw-r--r--debian/mariadb-server-core-10.4.links4
-rw-r--r--man/CMakeLists.txt39
-rw-r--r--scripts/CMakeLists.txt1
12 files changed, 188 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1299bd1765d..c5f8c2e0cca 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -160,6 +160,7 @@ INCLUDE(plugin)
INCLUDE(install_macros)
INCLUDE(systemd)
INCLUDE(mysql_add_executable)
+INCLUDE(symlinks)
INCLUDE(compile_flags)
INCLUDE(crc32)
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
index 37087b7c6c6..63e4cf36b00 100644
--- a/client/CMakeLists.txt
+++ b/client/CMakeLists.txt
@@ -56,7 +56,6 @@ TARGET_LINK_LIBRARIES(mysqlcheck ${CLIENT_LIB})
MYSQL_ADD_EXECUTABLE(mysqldump mysqldump.c ../sql-common/my_user.c)
TARGET_LINK_LIBRARIES(mysqldump ${CLIENT_LIB})
-
MYSQL_ADD_EXECUTABLE(mysqlimport mysqlimport.c)
SET_SOURCE_FILES_PROPERTIES(mysqlimport.c PROPERTIES COMPILE_FLAGS "-DTHREADS")
TARGET_LINK_LIBRARIES(mysqlimport ${CLIENT_LIB})
@@ -93,11 +92,9 @@ TARGET_LINK_LIBRARIES(async_example ${CLIENT_LIB})
SET_TARGET_PROPERTIES (mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysqlslap mysql_plugin async_example
PROPERTIES HAS_CXX TRUE)
-
-FOREACH(t mysql mysqltest mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysql_plugin mysqlbinlog
+FOREACH(t mysql mysqltest mysqlcheck mysqldump mysqlimport mysql_upgrade mysqlshow mysql_plugin mysqlbinlog
mysqladmin mysqlslap async_example)
ADD_DEPENDENCIES(${t} GenError ${CLIENT_LIB})
ENDFOREACH()
ADD_DEFINITIONS(-DHAVE_DLOPEN)
-
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
index f28720e97bc..a4ba10c28e5 100644
--- a/cmake/install_macros.cmake
+++ b/cmake/install_macros.cmake
@@ -71,9 +71,10 @@ FUNCTION(INSTALL_MANPAGE file)
${MYSQL_DOC_DIR}/man/*${file}.8*
${GLOB_EXPR}
)
- ENDIF()
+ ENDIF()
FILE(GLOB_RECURSE MANPAGES ${GLOB_EXPR})
+
IF(MANPAGES)
LIST(GET MANPAGES 0 MANPAGE)
STRING(REPLACE "${file}man.1" "${file}.1" MANPAGE "${MANPAGE}")
@@ -111,8 +112,10 @@ FUNCTION(INSTALL_SCRIPT)
ENDIF()
INSTALL(PROGRAMS ${script} DESTINATION ${ARG_DESTINATION} ${COMP})
+ get_filename_component(dest "${script}" NAME)
+ CREATE_MARIADB_SYMLINK(${dest} ${ARG_DESTINATION} ${COMP})
- INSTALL_MANPAGE(${script})
+ INSTALL_MANPAGE(${dest})
ENDFUNCTION()
diff --git a/cmake/mysql_add_executable.cmake b/cmake/mysql_add_executable.cmake
index d3a888f9a75..d894ee2de9a 100644
--- a/cmake/mysql_add_executable.cmake
+++ b/cmake/mysql_add_executable.cmake
@@ -63,6 +63,7 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
UNSET(EXCLUDE_FROM_ALL)
ENDIF()
ADD_EXECUTABLE(${target} ${WIN32} ${MACOSX_BUNDLE} ${EXCLUDE_FROM_ALL} ${sources})
+
# tell CPack where to install
IF(NOT ARG_EXCLUDE_FROM_ALL)
IF(NOT ARG_DESTINATION)
@@ -80,4 +81,7 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
ENDIF()
MYSQL_INSTALL_TARGETS(${target} DESTINATION ${ARG_DESTINATION} ${COMP})
ENDIF()
+
+ # create mariadb named symlink
+ CREATE_MARIADB_SYMLINK(${target} ${ARG_DESTINATION} ${COMP})
ENDFUNCTION()
diff --git a/cmake/symlinks.cmake b/cmake/symlinks.cmake
new file mode 100644
index 00000000000..8fbdc93e869
--- /dev/null
+++ b/cmake/symlinks.cmake
@@ -0,0 +1,72 @@
+# Create lists
+macro(REGISTER_SYMLINK from to)
+ list(APPEND MARIADB_SYMLINK_FROMS ${from})
+ list(APPEND MARIADB_SYMLINK_TOS ${to})
+endmacro()
+
+# MariaDB names for executables
+REGISTER_SYMLINK("mysql" "mariadb")
+REGISTER_SYMLINK("mysqlaccess" "mariadb-access")
+REGISTER_SYMLINK("mysqladmin" "mariadb-admin")
+REGISTER_SYMLINK("mariabackup" "mariadb-backup")
+REGISTER_SYMLINK("mysqlbinlog" "mariadb-binlog")
+REGISTER_SYMLINK("mysqlcheck" "mariadb-check")
+REGISTER_SYMLINK("mysql_client_test_embedded" "mariadb-client-test-embedded")
+REGISTER_SYMLINK("mariadb_config" "mariadb-config")
+REGISTER_SYMLINK("mysql_convert_table_format" "mariadb-convert-table-format")
+REGISTER_SYMLINK("mysqldump" "mariadb-dump")
+REGISTER_SYMLINK("mysqldumpslow" "mariadb-dumpslow")
+REGISTER_SYMLINK("mysql_embedded" "mariadb-embedded")
+REGISTER_SYMLINK("mysql_find_rows" "mariadb-find-rows")
+REGISTER_SYMLINK("mysql_fix_extensions" "mariadb-fix-extensions")
+REGISTER_SYMLINK("mysqlhotcopy" "mariadb-hotcopy")
+REGISTER_SYMLINK("mysqlimport" "mariadb-import")
+REGISTER_SYMLINK("mysql_install_db" "mariadb-install-db")
+REGISTER_SYMLINK("mysql_ldb" "mariadb-ldb")
+REGISTER_SYMLINK("mysql_plugin" "mariadb-plugin")
+REGISTER_SYMLINK("mysql_secure_installation" "mariadb-secure-installation")
+REGISTER_SYMLINK("mysql_setpermission" "mariadb-setpermission")
+REGISTER_SYMLINK("mysqlshow" "mariadb-show")
+REGISTER_SYMLINK("mysqlslap" "mariadb-slap")
+REGISTER_SYMLINK("mysqltest" "mariadb-test")
+REGISTER_SYMLINK("mysqltest_embedded" "mariadb-test-embedded")
+REGISTER_SYMLINK("mytop" "mariadb-top")
+REGISTER_SYMLINK("mysql_tzinfo_to_sql" "mariadb-tzinfo-to-sql")
+REGISTER_SYMLINK("mysql_upgrade" "mariadb-upgrade")
+REGISTER_SYMLINK("mysql_upgrade_service" "mariadb-upgrade-service")
+REGISTER_SYMLINK("mysql_upgrade_wizard" "mariadb-upgrade-wizard")
+REGISTER_SYMLINK("mysql_waitpid" "mariadb-waitpid")
+REGISTER_SYMLINK("mysqld" "mariadbd")
+REGISTER_SYMLINK("mysqld_multi" "mariadbd-multi")
+REGISTER_SYMLINK("mysqld_safe" "mariadbd-safe")
+REGISTER_SYMLINK("mysqld_safe_helper" "mariadbd-safe-helper")
+
+# Add MariaDB symlinks
+macro(CREATE_MARIADB_SYMLINK src dir comp)
+ # Find the MariaDB name for executable
+ list(FIND MARIADB_SYMLINK_FROMS ${src} _index)
+
+ if (${_index} GREATER -1)
+ list(GET MARIADB_SYMLINK_TOS ${_index} mariadbname)
+ endif()
+
+ if (mariadbname)
+ CREATE_MARIADB_SYMLINK_IN_DIR(${src} ${mariadbname} ${dir} ${comp})
+ endif()
+endmacro(CREATE_MARIADB_SYMLINK)
+
+# Add MariaDB symlinks in directory
+macro(CREATE_MARIADB_SYMLINK_IN_DIR src dest dir comp)
+ if(UNIX)
+ add_custom_target(
+ symlink_${dest}_${comp} ALL
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${dest}
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${dest} POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${src} ${dest}
+ COMMENT "mklink ${src} -> ${dest}")
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${dest} DESTINATION ${dir} COMPONENT ${comp})
+ endif()
+endmacro(CREATE_MARIADB_SYMLINK_IN_DIR)
diff --git a/debian/mariadb-client-10.4.links b/debian/mariadb-client-10.4.links
index 4a504969246..b93d2d7f8fd 100644
--- a/debian/mariadb-client-10.4.links
+++ b/debian/mariadb-client-10.4.links
@@ -1,6 +1,44 @@
+usr/bin/mysql_find_rows usr/bin/mariadb-find-rows
+usr/bin/mysql_fix_extensions usr/bin/mariadb-fix-extenstions
+usr/bin/mysql_plugin usr/bin/mariadb-plugin
+usr/bin/mysql_waitpid usr/bin/mariadb-waitpid
+usr/bin/mysqlaccess usr/bin/mariadb-access
+usr/bin/mysqladmin usr/bin/mariadb-admin
+usr/bin/mysqlanalyze usr/bin/mariadb-analyze
+usr/bin/mysqlbinlog usr/bin/mariadb-binlog
+usr/bin/mysqlcheck usr/bin/mariadb-analyze
+usr/bin/mysqlcheck usr/bin/mariadb-optimize
+usr/bin/mysqlcheck usr/bin/mariadb-repair
usr/bin/mysqlcheck usr/bin/mysqlanalyze
usr/bin/mysqlcheck usr/bin/mysqloptimize
usr/bin/mysqlcheck usr/bin/mysqlrepair
+usr/bin/mysqldump usr/bin/mariadb-dump
+usr/bin/mysqldumpslow usr/bin/mariadb-dump-slow
+usr/bin/mysqlimport usr/bin/mariadb-import
+usr/bin/mysqloptimize usr/bin/mariadb-optimize
+usr/bin/mysqlrepair usr/bin/mariadb-repair
+usr/bin/mysqlreport usr/bin/mariadb-report
+usr/bin/mysqlslap usr/bin/mariadb-slap
+usr/bin/mysqltest usr/bin/mariadb-test
+usr/share/man/man1/mysql_find_rows.1.gz usr/share/man/man1/mariadb-find-rows.1.gz
+usr/share/man/man1/mysql_fix_extensions.1.gz usr/share/man/man1/mariadb-fix-extensions.1.gz
+usr/share/man/man1/mysql_plugin.1.gz usr/share/man/man1/mariadb-plugin.1.gz
+usr/share/man/man1/mysql_waitpid.1.gz usr/share/man/man1/mariadb-waitpid.1.gz
+usr/share/man/man1/mysqlaccess.1.gz usr/share/man/man1/mariadb-access.1.gz
+usr/share/man/man1/mysqladmin.1.gz usr/share/man/man1/mariadb-admin.1.gz
+usr/share/man/man1/mysqlanalyze.1.gz usr/share/man/man1/mariadb-analyze.1.gz
+usr/share/man/man1/mysqlbinlog.1.gz usr/share/man/man1/mariadb-binlog.1.gz
+usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-analyze.1.gz
+usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-optimize.1.gz
+usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-repair.1.gz
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqlanalyze.1.gz
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqloptimize.1.gz
usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mysqlrepair.1.gz
+usr/share/man/man1/mysqldump.1.gz usr/share/man/man1/mariadb-dump.1.gz
+usr/share/man/man1/mysqldumpslow.1.gz usr/share/man/man1/mariadb-dump-slow.1.gz
+usr/share/man/man1/mysqlimport.1.gz usr/share/man/man1/mariadb-import.1.gz
+usr/share/man/man1/mysqloptimize.1.gz usr/share/man/man1/mariadb-optimize.1.gz
+usr/share/man/man1/mysqlrepair.1.gz usr/share/man/man1/mariadb-repair.1.gz
+usr/share/man/man1/mysqlreport.1.gz usr/share/man/man1/mariadb-report.1.gz
+usr/share/man/man1/mysqlslap.1.gz usr/share/man/man1/mariadb-slap.1.gz
+usr/share/man/man1/mysqltest.1.gz usr/share/man/man1/mariadb-test.1.gz
diff --git a/debian/mariadb-client-core-10.4.links b/debian/mariadb-client-core-10.4.links
new file mode 100644
index 00000000000..4c5ff23b38b
--- /dev/null
+++ b/debian/mariadb-client-core-10.4.links
@@ -0,0 +1,4 @@
+usr/bin/mysql usr/bin/mariadb
+usr/bin/mysqlcheck usr/bin/mariadb-check
+usr/share/man/man1/mysql.1.gz usr/share/man/man1/mariadb.1.gz
+usr/share/man/man1/mysqlcheck.1.gz usr/share/man/man1/mariadb-check.1.gz
diff --git a/debian/mariadb-server-10.4.install b/debian/mariadb-server-10.4.install
index a9cbbfc8a99..8b4db99a421 100644
--- a/debian/mariadb-server-10.4.install
+++ b/debian/mariadb-server-10.4.install
@@ -87,9 +87,9 @@ usr/share/man/man1/replace.1
usr/share/man/man1/resolve_stack_dump.1
usr/share/man/man1/resolveip.1
usr/share/man/man1/wsrep_sst_common.1
+usr/share/man/man1/wsrep_sst_mariabackup.1
usr/share/man/man1/wsrep_sst_mysqldump.1
usr/share/man/man1/wsrep_sst_rsync.1
-usr/share/man/man1/wsrep_sst_mariabackup.1
usr/share/mysql/errmsg-utf8.txt
usr/share/mysql/fill_help_tables.sql
usr/share/mysql/maria_add_gis_sp_bootstrap.sql
diff --git a/debian/mariadb-server-10.4.links b/debian/mariadb-server-10.4.links
new file mode 100644
index 00000000000..65e0a6650d5
--- /dev/null
+++ b/debian/mariadb-server-10.4.links
@@ -0,0 +1,18 @@
+usr/bin/mysql_convert_table_format usr/bin/mariadb-convert-table-format
+usr/bin/mysql_secure_installation usr/bin/mariadb-secure-installation
+usr/bin/mysql_setpermission usr/bin/mariadb-setpermission
+usr/bin/mysql_tzinfo_to_sql usr/bin/mariadb-tzinfo-to-sql
+usr/bin/mysqld_multi usr/bin/mariadb-multi
+usr/bin/mysqld_safe usr/bin/mariadb-safe
+usr/bin/mysqld_safe_helper usr/bin/mariadb-safe-helper
+usr/bin/mysqlhotcopy usr/bin/mariadb-hotcopy
+usr/bin/mysqlshow usr/bin/mariadb-show
+usr/share/man/man1/mysql_convert_table_format.1.gz usr/share/man/man1/mariadb-convert-table-format.1.gz
+usr/share/man/man1/mysql_secure_installation.1.gz usr/share/man/man1/mariadb-secure-installation.1.gz
+usr/share/man/man1/mysql_setpermission.1.gz usr/share/man/man1/mariadb-setpermission.1.gz
+usr/share/man/man1/mysql_tzinfo_to_sql.1.gz usr/share/man/man1/mariadb-tzinfo-to-sql.1.gz
+usr/share/man/man1/mysqld_multi.1.gz usr/share/man/man1/mariadb-multi.1.gz
+usr/share/man/man1/mysqld_safe.1.gz usr/share/man/man1/mariadb-safe.1.gz
+usr/share/man/man1/mysqld_safe_helper.1.gz usr/share/man/man1/mariadb-safe-helper.1.gz
+usr/share/man/man1/mysqlhotcopy.1.gz usr/share/man/man1/mariadb-hotcopy.1.gz
+usr/share/man/man1/mysqlshow.1.gz usr/share/man/man1/mariadb-show.1.gz
diff --git a/debian/mariadb-server-core-10.4.links b/debian/mariadb-server-core-10.4.links
new file mode 100644
index 00000000000..90ed9ee01cf
--- /dev/null
+++ b/debian/mariadb-server-core-10.4.links
@@ -0,0 +1,4 @@
+usr/bin/mysql_install_db usr/bin/mariadb-install-db
+usr/bin/mysql_upgrade usr/bin/mariadb-upgrade
+usr/share/man/man1/mysql_install_db.1.gz usr/share/man/man1/mariadb-install-db.1.gz
+usr/share/man/man1/mysql_upgrade.1.gz usr/share/man/man1/mariadb-upgrade-db.1.gz
diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
index 7a1e284b3e7..c89d156718d 100644
--- a/man/CMakeLists.txt
+++ b/man/CMakeLists.txt
@@ -44,3 +44,42 @@ INSTALL(FILES ${MAN1_CLIENT} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPag
INSTALL(FILES ${MAN1_DEVEL} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesDevelopment)
INSTALL(FILES ${MAN1_TEST} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPagesTest)
+macro(MARIADB_SYMLINK_MANPAGE)
+ list(LENGTH MARIADB_SYMLINK_FROMS _len)
+ math(EXPR _listlen "${_len}-1")
+
+ foreach(_index RANGE ${_listlen})
+ list(GET MARIADB_SYMLINK_FROMS ${_index} _name)
+
+ set(_manname "${_name}")
+ list(FIND MAN1_SERVER ${_manname}.1 _iman1server)
+ list(FIND MAN8_SERVER ${_manname}.8 _iman8server)
+ list(FIND MAN1_CLIENT ${_manname}.1 _iman1client)
+ list(FIND MAN1_DEVEL ${_manname}.1 _iman1devel)
+ list(FIND MAN1_TEST ${_manname}.1 _iman1test)
+
+ if (${_iman1server} GREATER -1)
+ MARIADB_SYMLINK_MANPAGE_CREATE(${_manname} ${_index} 1 "man1" ManPagesServer)
+ endif()
+ if (${_iman8server} GREATER -1)
+ MARIADB_SYMLINK_MANPAGE_CREATE(${_manname} ${_index} 8 "man8" ManPagesServer)
+ endif()
+ if (${_iman1client} GREATER -1)
+ MARIADB_SYMLINK_MANPAGE_CREATE(${_manname} ${_index} 1 "man1" ManPagesClient)
+ endif()
+ if (${_iman1devel} GREATER -1)
+ MARIADB_SYMLINK_MANPAGE_CREATE(${_manname} ${_index} 1 "man1" ManPagesDevelopment)
+ endif()
+ if (${_iman1test} GREATER -1)
+ MARIADB_SYMLINK_MANPAGE_CREATE(${_manname} ${_index} 1 "man1" ManPagesTest)
+ endif()
+ endforeach(_index)
+endmacro(MARIADB_SYMLINK_MANPAGE)
+
+macro(MARIADB_SYMLINK_MANPAGE_CREATE mysqlname index mannr dir comp)
+ list(GET MARIADB_SYMLINK_TOS ${index} _mariadbname)
+ set(symlinkname "${_mariadbname}.${mannr}")
+ CREATE_MARIADB_SYMLINK_IN_DIR(${mysqlname}.${mannr} ${symlinkname} ${INSTALL_MANDIR}/${dir} ${comp})
+endmacro(MARIADB_SYMLINK_MANPAGE_CREATE)
+
+MARIADB_SYMLINK_MANPAGE()
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 3d31cda4ceb..7be46ac1985 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -332,6 +332,7 @@ ELSE()
COMPONENT ${${file}_COMPONENT}
)
ENDFOREACH()
+
SET (wsrep_sst_rsync_wan ${CMAKE_CURRENT_BINARY_DIR}/wsrep_sst_rsync_wan)
ADD_CUSTOM_COMMAND(
OUTPUT ${wsrep_sst_rsync_wan}