summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-10-30 12:02:48 +0100
committerSergei Golubchik <serg@mariadb.org>2020-11-03 18:59:23 +0100
commitda9081d14f2de7bb655cea5c9962f16e15f6f77d (patch)
tree94133f245032f4da65469e41b101e95b015ff96a
parent7394f31127666952f009750623a444690a57ce8c (diff)
downloadmariadb-git-10.1.tar.gz
MDEV-22694 New -compat RPM package breaks certain upgrades10.1
only provide/obsolete mysql-libs up to 5.6.99 5.7 comes with libmysqlclient.so.20
-rw-r--r--cmake/cpack_rpm.cmake19
1 files changed, 11 insertions, 8 deletions
diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
index a0449b5918d..3018ae85ab7 100644
--- a/cmake/cpack_rpm.cmake
+++ b/cmake/cpack_rpm.cmake
@@ -198,15 +198,16 @@ SET(CPACK_RPM_shared_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/
SET(CPACK_RPM_shared_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/shared-post.sh)
MACRO(ALTERNATIVE_NAME real alt)
- SET(ver "%{version}-%{release}")
- IF (${epoch})
- SET(ver "${epoch}:${ver}")
+ IF(${ARGC} GREATER 2)
+ SET(ver ${ARGV2})
+ ELSE()
+ SET(ver "${epoch}%{version}-%{release}")
ENDIF()
SET(p "CPACK_RPM_${real}_PACKAGE_PROVIDES")
SET(${p} "${${p}} ${alt} = ${ver} ${alt}%{?_isa} = ${ver} config(${alt}) = ${ver}")
SET(o "CPACK_RPM_${real}_PACKAGE_OBSOLETES")
- SET(${o} "${${o}} ${alt} ${alt}%{?_isa}")
+ SET(${o} "${${o}} ${alt} <= ${ver}")
ENDMACRO(ALTERNATIVE_NAME)
ALTERNATIVE_NAME("devel" "mysql-devel")
@@ -214,22 +215,24 @@ ALTERNATIVE_NAME("server" "mysql-server")
ALTERNATIVE_NAME("test" "mysql-test")
# Argh! Different distributions call packages differently, to be a drop-in
-# replacement we have to fake distribution-speficic dependencies
+# replacement we have to fake distribution-specific dependencies
+# NOTE, use ALTERNATIVE_NAME when a package has a different name
+# in some distribution, it's not for adding new PROVIDES
IF(RPM MATCHES "(rhel|centos)5")
ALTERNATIVE_NAME("shared" "mysql")
ELSEIF(RPM MATCHES "(rhel|centos)6")
ALTERNATIVE_NAME("client" "mysql")
- ALTERNATIVE_NAME("shared" "mysql-libs")
+ ALTERNATIVE_NAME("shared" "mysql-libs" 5.6.99)
ELSEIF(RPM MATCHES "fedora" OR RPM MATCHES "(rhel|centos)7")
- SET(epoch 1) # this is fedora
+ SET(epoch 1:) # this is fedora
ALTERNATIVE_NAME("client" "mariadb")
ALTERNATIVE_NAME("client" "mysql")
ALTERNATIVE_NAME("devel" "mariadb-devel")
ALTERNATIVE_NAME("server" "mariadb-server")
ALTERNATIVE_NAME("server" "mysql-compat-server")
ALTERNATIVE_NAME("shared" "mariadb-libs")
- ALTERNATIVE_NAME("shared" "mysql-libs")
+ ALTERNATIVE_NAME("shared" "mysql-libs" 5.6.99)
ALTERNATIVE_NAME("test" "mariadb-test")
SET(CPACK_RPM_common_PACKAGE_CONFLICTS "mariadb-libs < 1:%{version}-%{release}")
ELSEIF(RPM MATCHES "sles")