summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-11-27 14:36:10 +0100
committerSergei Golubchik <serg@mariadb.org>2021-01-12 16:47:23 +0100
commitfbc171333eafea102a42622e1cf028e85f6e1b12 (patch)
tree8b520c3018b711cf7f6356d3d6b8cace530bea7e
parent5c53576c7b058150a010d5a7f742b2a821ee6f5d (diff)
downloadmariadb-git-fbc171333eafea102a42622e1cf028e85f6e1b12.tar.gz
MDEV-24292 support semi-independent versioning for sub-packages
3. Embed plugin version into the DEB package version this assumes that -DDEB is only used from within autobake-deb.sh
-rw-r--r--cmake/cpack_deb.cmake13
-rw-r--r--cmake/plugin.cmake1
2 files changed, 14 insertions, 0 deletions
diff --git a/cmake/cpack_deb.cmake b/cmake/cpack_deb.cmake
index 0539bcdff23..b253f8f86c7 100644
--- a/cmake/cpack_deb.cmake
+++ b/cmake/cpack_deb.cmake
@@ -7,5 +7,18 @@ SET(CPACK_COMPONENT_SERVER_GROUP "server")
SET(CPACK_COMPONENT_README_GROUP "server")
SET(CPACK_COMPONENTS_ALL Server Test SharedLibraries)
SET(PYTHON_SHEBANG "/usr/bin/python3" CACHE STRING "python shebang")
+
+FUNCTION(SET_PLUGIN_DEB_VERSION plugin ver)
+ STRING(REPLACE "_" "-" plugin ${plugin})
+ STRING(REPLACE "-" "." serverver ${SERVER_VERSION})
+ STRING(REPLACE ${SERVER_VERSION} ${serverver} ver ${ver})
+ FILE(READ ${CMAKE_SOURCE_DIR}/debian/changelog changelog)
+ STRING(REPLACE ${serverver} ${ver} changelog "${changelog}")
+ FILE(WRITE ${CMAKE_SOURCE_DIR}/debian/mariadb-plugin-${plugin}.changelog "${changelog}")
+ENDFUNCTION()
+
+ELSE(DEB)
+FUNCTION(SET_PLUGIN_DEB_VERSION plugin ver)
+ENDFUNCTION()
ENDIF(DEB)
diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake
index e0f6c1da292..2e98afe9ec8 100644
--- a/cmake/plugin.cmake
+++ b/cmake/plugin.cmake
@@ -259,6 +259,7 @@ MACRO(MYSQL_ADD_PLUGIN)
SET(CPACK_RPM_${ARG_COMPONENT}_USER_FILELIST ${ignored} PARENT_SCOPE)
IF (ARG_VERSION)
SET(CPACK_RPM_${ARG_COMPONENT}_PACKAGE_VERSION ${SERVER_VERSION}_${ARG_VERSION} PARENT_SCOPE)
+ SET_PLUGIN_DEB_VERSION(${target} ${SERVER_VERSION}-${ARG_VERSION})
ENDIF()
IF(NOT ARG_CLIENT AND UNIX)
IF (NOT ARG_CONFIG)