From 7585a6a0c525b0f6b0b8f4ac31077904e8d7e410 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Thu, 15 Jun 2023 17:33:33 +0200 Subject: [PATCH 1/3] Fix packagecloud deploy script Signed-off-by: Steffen Jaeckel --- .github/workflows/deploy.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3789236e..381f1f15 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -27,7 +27,7 @@ jobs: echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${{ env.ubuntu_codename }} main" | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null sudo apt-get update -qq sudo apt-get install -y cmake gcc - - name: build static + - name: build packages run: | mkdir -p build cd build @@ -40,8 +40,8 @@ jobs: - name: push package to packagecloud.io uses: computology/packagecloud-github-action@v0.6 with: - PACKAGE-NAME: packages/ubuntu/${{ env.ubuntu_codename }}/*.deb + PACKAGE-NAME: build/packages/ubuntu/${{ env.ubuntu_codename }}/*.deb PACKAGECLOUD-USERNAME: libtom - PACKAGECLOUD-REPONAME: libtom + PACKAGECLOUD-REPONAME: packages PACKAGECLOUD-DISTRO: ubuntu/${{ env.ubuntu_codename }} PACKAGECLOUD-TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} From a45511232d203cf2827f3b49dba0a15f678d677c Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Thu, 15 Jun 2023 18:01:55 +0200 Subject: [PATCH 2/3] cmake: Fix naming scheme for debian packages Those are only used in case we're building on develop. Signed-off-by: Steffen Jaeckel --- .github/workflows/deploy.yml | 2 +- CMakeLists.txt | 19 +++++++++++++------ README.md | 6 ++++++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 381f1f15..8cd1307d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -37,7 +37,7 @@ jobs: cmake -DBUILD_SHARED_LIBS=On -DCMAKE_BUILD_TYPE=RelWithDebInfo .. make -j$(nproc) cpack -G DEB - - name: push package to packagecloud.io + - name: push deb packages to packagecloud.io uses: computology/packagecloud-github-action@v0.6 with: PACKAGE-NAME: build/packages/ubuntu/${{ env.ubuntu_codename }}/*.deb diff --git a/CMakeLists.txt b/CMakeLists.txt index 8321c642..7282823c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -146,7 +146,7 @@ set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") install(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} ) @@ -226,11 +226,12 @@ else() endif() # make sure untagged versions get a different package name -execute_process(COMMAND git describe --exact-match --tags RESULT_VARIABLE REPO_HAS_TAG) +execute_process(COMMAND git describe --exact-match --tags ERROR_QUIET RESULT_VARIABLE REPO_HAS_TAG) if(REPO_HAS_TAG EQUAL 0) set(PACKAGE_NAME_SUFFIX "") else() set(PACKAGE_NAME_SUFFIX "-git") + message(STATUS "Use -git suffix") endif() # default CPack generators @@ -245,15 +246,18 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") list(APPEND CPACK_GENERATOR FREEBSD) endif() +set(LTM_DEBIAN_SHARED_PACKAGE_NAME "${PROJECT_NAME}${PACKAGE_NAME_SUFFIX}${PROJECT_VERSION_MAJOR}") + # general CPack config set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/packages/${DISTRO_PACK_PATH}) message(STATUS "CPack: packages will be generated under ${CPACK_PACKAGE_DIRECTORY}") if(BUILD_SHARED_LIBS) set(CPACK_PACKAGE_NAME "${PROJECT_NAME}${PROJECT_VERSION_MAJOR}") + set(CPACK_DEBIAN_PACKAGE_NAME "${LTM_DEBIAN_SHARED_PACKAGE_NAME}") else() set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-devel") + set(CPACK_DEBIAN_LIBRARIES_PACKAGE_NAME "${PROJECT_NAME}${PACKAGE_NAME_SUFFIX}-dev") endif() -set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}${PACKAGE_NAME_SUFFIX}") set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LibTomMath") set(CPACK_PACKAGE_VENDOR "libtom projects") @@ -261,17 +265,20 @@ set(CPACK_PACKAGE_CONTACT "libtom@googlegroups.com") set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") set(PACKAGE_NAME_TRAILER ${CPACK_PACKAGE_VERSION}-${PACKAGE_RELEASE_VERSION}_${MACHINE_ARCH}) set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${PACKAGE_NAME_TRAILER}) -set(CPACK_STRIP_FILES ON) # deb specific CPack config set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) -set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON) set(CPACK_DEBIAN_PACKAGE_RELEASE ${PACKAGE_RELEASE_VERSION}) +set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) if(BUILD_SHARED_LIBS) set(CPACK_DEBIAN_PACKAGE_SECTION "libs") else() - set(CPACK_DEBIAN_PACKAGE_NAME "${PROJECT_NAME}-dev") set(CPACK_DEBIAN_PACKAGE_SECTION "devel") + set(CPACK_DEBIAN_PACKAGE_DEPENDS ${LTM_DEBIAN_SHARED_PACKAGE_NAME}) + set(CPACK_DEB_COMPONENT_INSTALL ON) + set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) + set(CPACK_COMPONENTS_ALL Libraries) endif() # rpm specific CPack config diff --git a/README.md b/README.md index 7ee58bbc..29e077f2 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,12 @@ develop: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i API/ABI changes: [check here](https://abi-laboratory.pro/tracker/timeline/libtommath/) +### Pre-built packages + +We sometimes upload `deb` packages of the latest state from the develop branch to [packagecloud.io](https://packagecloud.io/libtom/packages). + +Use those packages with caution and at your own discretion. + ## Summary The `develop` branch contains the in-development version. Stable releases are tagged. From 070946ad4abb78d1dcc91e157b2e3d91dd97ae31 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Mon, 19 Jun 2023 16:59:56 +0200 Subject: [PATCH 3/3] Fix `CMAKE_INSTALL_PREFIX` for deploy Signed-off-by: Steffen Jaeckel --- .github/workflows/deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8cd1307d..a06ac73c 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,10 +31,10 @@ jobs: run: | mkdir -p build cd build - cmake -DBUILD_SHARED_LIBS=Off -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + cmake -DBUILD_SHARED_LIBS=Off -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="/usr" .. make -j$(nproc) cpack -G DEB - cmake -DBUILD_SHARED_LIBS=On -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + cmake -DBUILD_SHARED_LIBS=On -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="/usr" .. make -j$(nproc) cpack -G DEB - name: push deb packages to packagecloud.io