From 67536ac47eeaadbfbf57a18d531b4fef280c8fb2 Mon Sep 17 00:00:00 2001 From: 1inker <67271937+1inker@users.noreply.github.com> Date: Thu, 15 Dec 2022 09:02:22 +0300 Subject: [PATCH 1/4] XDB-128: Versioned packages renamed (#26) * Versioned packages renamed to foundationdb-XXX-clients-versioned and foundationdb-XXX-clients-versioned_XXX_amd64.deb (and RPMs) * Fixed test-cases "Test versioned RPMs deploy" and "Test versioned DEBs deploy" --- .github/workflows/build.yml | 12 ++++++------ cmake/InstallLayout.cmake | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 22ab09502ec..9741c9a8bd7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -164,8 +164,8 @@ jobs: run: | MY_ARCH=`uname -m` curr_path="${{ github.workspace }}" - server="foundationdb-server-${{ needs.calc_ver.outputs.full_ver }}.el8.${MY_ARCH}.rpm" - clients="foundationdb-clients-${{ needs.calc_ver.outputs.full_ver }}.el8.${MY_ARCH}.rpm" + server="foundationdb-server-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm" + clients="foundationdb-clients-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm" podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; } podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; } podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${clients} && grep -q foundationdb /etc/passwd" || { echo "User foundationdb is not created after $clients installation"; exit 3; } @@ -175,8 +175,8 @@ jobs: run: | MY_ARCH=`uname -m` curr_path="${{ github.workspace }}" - server="foundationdb-server-versioned-${{ needs.calc_ver.outputs.full_ver }}.el8.${MY_ARCH}.rpm" - clients="foundationdb-clients-versioned-${{ needs.calc_ver.outputs.full_ver }}.el8.${MY_ARCH}.rpm" + server="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-server-versioned-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm" + clients="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-clients-versioned-${{ needs.calc_ver.outputs.full_ver }}.${MY_ARCH}.rpm" podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; } podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; } podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.RHEL_IMAGE_NAME }} /bin/bash -c "dnf install -y /home/${clients} && grep -q foundationdb /etc/passwd" && { echo "User foundationdb was created after $clients installation"; exit 3; } @@ -198,8 +198,8 @@ jobs: run: | MY_ARCH=`dpkg-architecture -q DEB_BUILD_ARCH` curr_path="${{ github.workspace }}" - server="foundationdb-server-versioned_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb" - clients="foundationdb-clients-versioned_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb" + server="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-server-versioned_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb" + clients="foundationdb-${{ needs.calc_ver.outputs.full_ver }}-clients-versioned_${{ needs.calc_ver.outputs.full_ver }}_${MY_ARCH}.deb" podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server}" && { echo "Installation $server have to fail"; exit 1; } podman run --rm -v ${curr_path}/${server}/${server}:/home/${server} -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${server} /home/${clients}" || { echo "Installation $server and $clients have to success"; exit 2; } podman run --rm -v ${curr_path}/${clients}/${clients}:/home/${clients} ${{ env.UBUNTU_IMAGE_NAME }} /bin/bash -c "apt-get update && apt-get install -y /home/${clients} && grep -q foundationdb /etc/passwd" && { echo "User foundationdb was created after $clients installation"; exit 3; } diff --git a/cmake/InstallLayout.cmake b/cmake/InstallLayout.cmake index a2a22137dad..178445cb0b8 100644 --- a/cmake/InstallLayout.cmake +++ b/cmake/InstallLayout.cmake @@ -205,12 +205,12 @@ set(CPACK_COMPONENT_SERVER-VERSIONED_DEPENDS clients-versioned) set(CPACK_COMPONENT_SERVER-EL8_DISPLAY_NAME "foundationdb-server") set(CPACK_COMPONENT_SERVER-DEB_DISPLAY_NAME "foundationdb-server") set(CPACK_COMPONENT_SERVER-TGZ_DISPLAY_NAME "foundationdb-server") -set(CPACK_COMPONENT_SERVER-VERSIONED_DISPLAY_NAME "foundationdb${FDB_VERSION}-server") +set(CPACK_COMPONENT_SERVER-VERSIONED_DISPLAY_NAME "foundationdb-${FDB_VERSION}-server") set(CPACK_COMPONENT_CLIENTS-EL8_DISPLAY_NAME "foundationdb-clients") set(CPACK_COMPONENT_CLIENTS-DEB_DISPLAY_NAME "foundationdb-clients") set(CPACK_COMPONENT_CLIENTS-TGZ_DISPLAY_NAME "foundationdb-clients") -set(CPACK_COMPONENT_CLIENTS-VERSIONED_DISPLAY_NAME "foundationdb${FDB_VERSION}-clients") +set(CPACK_COMPONENT_CLIENTS-VERSIONED_DISPLAY_NAME "foundationdb-${FDB_VERSION}-clients") # MacOS needs a file extension for the LICENSE file @@ -240,8 +240,8 @@ endif() set(package_basename "foundationdb") set(clients_package_basename "${package_basename}-clients") set(server_package_basename "${package_basename}-server") -set(clients_versioned_package_basename "${package_basename}${FDB_VERSION}-clients") -set(server_versioned_package_basename "${package_basename}${FDB_VERSION}-server") +set(clients_versioned_package_basename "${package_basename}-${FDB_VERSION}-clients-versioned") +set(server_versioned_package_basename "${package_basename}-${FDB_VERSION}-server-versioned") string(REPLACE "-" "_" FDB_PACKAGE_VERSION ${FDB_VERSION}) set(unversioned_postfix "${FDB_VERSION}${not_fdb_release_string}") @@ -249,14 +249,14 @@ set(unversioned_postfix "${FDB_VERSION}${not_fdb_release_string}") # RPM filenames set(rpm-clients-filename "${clients_package_basename}-${unversioned_postfix}") set(rpm-server-filename "${server_package_basename}-${unversioned_postfix}") -set(rpm-clients-versioned-filename "${clients_package_basename}-versioned-${unversioned_postfix}") -set(rpm-server-versioned-filename "${server_package_basename}-versioned-${unversioned_postfix}") +set(rpm-clients-versioned-filename "${clients_package_basename}-${unversioned_postfix}") +set(rpm-server-versioned-filename "${server_package_basename}-${unversioned_postfix}") # Deb filenames set(deb-clients-filename "${clients_package_basename}_${unversioned_postfix}") set(deb-server-filename "${server_package_basename}_${unversioned_postfix}") -set(deb-clients-versioned-filename "${clients_package_basename}-versioned_${unversioned_postfix}") -set(deb-server-versioned-filename "${server_package_basename}-versioned_${unversioned_postfix}") +set(deb-clients-versioned-filename "${clients_package_basename}_${unversioned_postfix}") +set(deb-server-versioned-filename "${server_package_basename}_${unversioned_postfix}") ################################################################################ # Configuration for RPM @@ -264,13 +264,13 @@ set(deb-server-versioned-filename "${server_package_basename}-versioned_${unvers set(CPACK_RPM_PACKAGE_LICENSE "Apache 2.0") set(CPACK_RPM_CLIENTS-EL8_PACKAGE_NAME "${clients_package_basename}") -set(CPACK_RPM_CLIENTS-EL8_FILE_NAME "${rpm-clients-filename}.el8.${CMAKE_SYSTEM_PROCESSOR}.rpm") +set(CPACK_RPM_CLIENTS-EL8_FILE_NAME "${rpm-clients-filename}.${CMAKE_SYSTEM_PROCESSOR}.rpm") set(CPACK_RPM_CLIENTS-EL8_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/packaging/rpm/scripts/preclients.sh) set(CPACK_RPM_CLIENTS-EL8_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/packaging/rpm/scripts/postclients.sh) set(CPACK_RPM_CLIENTS-EL8_USER_FILELIST "%dir /etc/foundationdb") set(CPACK_RPM_SERVER-EL8_PACKAGE_NAME "${server_package_basename}") -set(CPACK_RPM_SERVER-EL8_FILE_NAME "${rpm-server-filename}.el8.${CMAKE_SYSTEM_PROCESSOR}.rpm") +set(CPACK_RPM_SERVER-EL8_FILE_NAME "${rpm-server-filename}.${CMAKE_SYSTEM_PROCESSOR}.rpm") set(CPACK_RPM_SERVER-EL8_PACKAGE_REQUIRES "${CPACK_RPM_CLIENTS-EL8_PACKAGE_NAME} = ${FDB_VERSION}") set(CPACK_RPM_SERVER-EL8_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/packaging/rpm/scripts/preserver.sh) set(CPACK_RPM_SERVER-EL8_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/packaging/rpm/scripts/postserver.sh) @@ -280,12 +280,12 @@ set(CPACK_RPM_SERVER-EL8_USER_FILELIST "%config(noreplace) / "%attr(0700,foundationdb,foundationdb) /var/lib/foundationdb") set(CPACK_RPM_CLIENTS-VERSIONED_PACKAGE_NAME "${clients_versioned_package_basename}") -set(CPACK_RPM_CLIENTS-VERSIONED_FILE_NAME "${rpm-clients-versioned-filename}.el8.${CMAKE_SYSTEM_PROCESSOR}.rpm") +set(CPACK_RPM_CLIENTS-VERSIONED_FILE_NAME "${rpm-clients-versioned-filename}.${CMAKE_SYSTEM_PROCESSOR}.rpm") set(CPACK_RPM_CLIENTS-VERSIONED_POST_INSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/packaging/multiversion/clients/postinst) set(CPACK_RPM_CLIENTS-VERSIONED_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/packaging/multiversion/clients/prerm) set(CPACK_RPM_SERVER-VERSIONED_PACKAGE_NAME "${server_versioned_package_basename}") -set(CPACK_RPM_SERVER-VERSIONED_FILE_NAME "${rpm-server-versioned-filename}.el8.${CMAKE_SYSTEM_PROCESSOR}.rpm") +set(CPACK_RPM_SERVER-VERSIONED_FILE_NAME "${rpm-server-versioned-filename}.${CMAKE_SYSTEM_PROCESSOR}.rpm") set(CPACK_RPM_SERVER-VERSIONED_PACKAGE_REQUIRES "${CPACK_RPM_CLIENTS-VERSIONED_PACKAGE_NAME} = ${FDB_VERSION}") set(CPACK_RPM_SERVER-VERSIONED_POST_INSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/packaging/multiversion/server/postinst-rpm) set(CPACK_RPM_SERVER-VERSIONED_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_BINARY_DIR}/packaging/multiversion/server/prerm) From 117b02daaa6f6db1742b391e3744bde0854e2d53 Mon Sep 17 00:00:00 2001 From: Oleg Samarin Date: Wed, 21 Dec 2022 14:48:52 +0300 Subject: [PATCH 2/4] XDB-128 Fixed bad version packages filenames --- cmake/InstallLayout.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/InstallLayout.cmake b/cmake/InstallLayout.cmake index 178445cb0b8..c9f30eef017 100644 --- a/cmake/InstallLayout.cmake +++ b/cmake/InstallLayout.cmake @@ -249,14 +249,14 @@ set(unversioned_postfix "${FDB_VERSION}${not_fdb_release_string}") # RPM filenames set(rpm-clients-filename "${clients_package_basename}-${unversioned_postfix}") set(rpm-server-filename "${server_package_basename}-${unversioned_postfix}") -set(rpm-clients-versioned-filename "${clients_package_basename}-${unversioned_postfix}") -set(rpm-server-versioned-filename "${server_package_basename}-${unversioned_postfix}") +set(rpm-clients-versioned-filename "${clients_versioned_package_basename}-${unversioned_postfix}") +set(rpm-server-versioned-filename "${server_versioned_package_basename}-${unversioned_postfix}") # Deb filenames set(deb-clients-filename "${clients_package_basename}_${unversioned_postfix}") set(deb-server-filename "${server_package_basename}_${unversioned_postfix}") -set(deb-clients-versioned-filename "${clients_package_basename}_${unversioned_postfix}") -set(deb-server-versioned-filename "${server_package_basename}_${unversioned_postfix}") +set(deb-clients-versioned-filename "${clients_versioned_package_basename}_${unversioned_postfix}") +set(deb-server-versioned-filename "${server_versioned_package_basename}_${unversioned_postfix}") ################################################################################ # Configuration for RPM From 50806ef404b5f8bacffc0f4f69385695f8e3e6ad Mon Sep 17 00:00:00 2001 From: Oleg Samarin Date: Wed, 21 Dec 2022 17:44:14 +0300 Subject: [PATCH 3/4] Fixed dependencies for deb-versioned packages --- cmake/InstallLayout.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/InstallLayout.cmake b/cmake/InstallLayout.cmake index c9f30eef017..9f9ab86b69c 100644 --- a/cmake/InstallLayout.cmake +++ b/cmake/InstallLayout.cmake @@ -351,7 +351,7 @@ set(CPACK_DEBIAN_SERVER-DEB_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12), foundatio set(CPACK_DEBIAN_SERVER-DEB_PACKAGE_RECOMMENDS "python (>= 2.6)") set(CPACK_DEBIAN_CLIENTS-DEB_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12)") -set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12), foundationdb${FDB_VERSION}-clients") +set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12), ${clients_versioned_package_basename}") set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_RECOMMENDS "python (>= 2.6)") set(CPACK_DEBIAN_CLIENTS-VERSIONED_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12)") From 3ab54635a1d90f5367ec8745e13fe640b93b5d4c Mon Sep 17 00:00:00 2001 From: Oleg Samarin Date: Wed, 21 Dec 2022 18:24:49 +0300 Subject: [PATCH 4/4] Fixed double deb dependency --- cmake/InstallLayout.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/InstallLayout.cmake b/cmake/InstallLayout.cmake index 9f9ab86b69c..073d01e334e 100644 --- a/cmake/InstallLayout.cmake +++ b/cmake/InstallLayout.cmake @@ -347,11 +347,11 @@ set(CPACK_DEBIAN_CLIENTS-DEB_PACKAGE_NAME "${clients_package_basename}") set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_NAME "${server_versioned_package_basename}") set(CPACK_DEBIAN_CLIENTS-VERSIONED_PACKAGE_NAME "${clients_versioned_package_basename}") -set(CPACK_DEBIAN_SERVER-DEB_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12), foundationdb-clients (= ${FDB_VERSION})") +set(CPACK_DEBIAN_SERVER-DEB_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12)") set(CPACK_DEBIAN_SERVER-DEB_PACKAGE_RECOMMENDS "python (>= 2.6)") set(CPACK_DEBIAN_CLIENTS-DEB_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12)") -set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12), ${clients_versioned_package_basename}") +set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12)") set(CPACK_DEBIAN_SERVER-VERSIONED_PACKAGE_RECOMMENDS "python (>= 2.6)") set(CPACK_DEBIAN_CLIENTS-VERSIONED_PACKAGE_DEPENDS "adduser, libc6 (>= 2.12)")