Skip to content

Commit a455112

Browse files
committed
cmake: Fix naming scheme for debian packages
Those are only used in case we're building on develop. Signed-off-by: Steffen Jaeckel <[email protected]>
1 parent 7585a6a commit a455112

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

.github/workflows/deploy.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
cmake -DBUILD_SHARED_LIBS=On -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
3838
make -j$(nproc)
3939
cpack -G DEB
40-
- name: push package to packagecloud.io
40+
- name: push deb packages to packagecloud.io
4141
uses: computology/[email protected]
4242
with:
4343
PACKAGE-NAME: build/packages/ubuntu/${{ env.ubuntu_codename }}/*.deb

CMakeLists.txt

+13-6
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
146146
install(TARGETS ${PROJECT_NAME}
147147
EXPORT ${TARGETS_EXPORT_NAME}
148148
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
149-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
149+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
150150
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
151151
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}
152152
)
@@ -226,11 +226,12 @@ else()
226226
endif()
227227

228228
# make sure untagged versions get a different package name
229-
execute_process(COMMAND git describe --exact-match --tags RESULT_VARIABLE REPO_HAS_TAG)
229+
execute_process(COMMAND git describe --exact-match --tags ERROR_QUIET RESULT_VARIABLE REPO_HAS_TAG)
230230
if(REPO_HAS_TAG EQUAL 0)
231231
set(PACKAGE_NAME_SUFFIX "")
232232
else()
233233
set(PACKAGE_NAME_SUFFIX "-git")
234+
message(STATUS "Use -git suffix")
234235
endif()
235236

236237
# default CPack generators
@@ -245,33 +246,39 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
245246
list(APPEND CPACK_GENERATOR FREEBSD)
246247
endif()
247248

249+
set(LTM_DEBIAN_SHARED_PACKAGE_NAME "${PROJECT_NAME}${PACKAGE_NAME_SUFFIX}${PROJECT_VERSION_MAJOR}")
250+
248251
# general CPack config
249252
set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/packages/${DISTRO_PACK_PATH})
250253
message(STATUS "CPack: packages will be generated under ${CPACK_PACKAGE_DIRECTORY}")
251254
if(BUILD_SHARED_LIBS)
252255
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}${PROJECT_VERSION_MAJOR}")
256+
set(CPACK_DEBIAN_PACKAGE_NAME "${LTM_DEBIAN_SHARED_PACKAGE_NAME}")
253257
else()
254258
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-devel")
259+
set(CPACK_DEBIAN_LIBRARIES_PACKAGE_NAME "${PROJECT_NAME}${PACKAGE_NAME_SUFFIX}-dev")
255260
endif()
256-
set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}${PACKAGE_NAME_SUFFIX}")
257261
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
258262
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LibTomMath")
259263
set(CPACK_PACKAGE_VENDOR "libtom projects")
260264
set(CPACK_PACKAGE_CONTACT "[email protected]")
261265
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
262266
set(PACKAGE_NAME_TRAILER ${CPACK_PACKAGE_VERSION}-${PACKAGE_RELEASE_VERSION}_${MACHINE_ARCH})
263267
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${PACKAGE_NAME_TRAILER})
264-
set(CPACK_STRIP_FILES ON)
265268

266269
# deb specific CPack config
267270
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
268-
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
271+
set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
269272
set(CPACK_DEBIAN_PACKAGE_RELEASE ${PACKAGE_RELEASE_VERSION})
273+
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
270274
if(BUILD_SHARED_LIBS)
271275
set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
272276
else()
273-
set(CPACK_DEBIAN_PACKAGE_NAME "${PROJECT_NAME}-dev")
274277
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
278+
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${LTM_DEBIAN_SHARED_PACKAGE_NAME})
279+
set(CPACK_DEB_COMPONENT_INSTALL ON)
280+
set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
281+
set(CPACK_COMPONENTS_ALL Libraries)
275282
endif()
276283

277284
# rpm specific CPack config

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ develop: [![Build status](https://ci.appveyor.com/api/projects/status/b80lpolw3i
2020

2121
API/ABI changes: [check here](https://abi-laboratory.pro/tracker/timeline/libtommath/)
2222

23+
### Pre-built packages
24+
25+
We sometimes upload `deb` packages of the latest state from the develop branch to [packagecloud.io](https://packagecloud.io/libtom/packages).
26+
27+
Use those packages with caution and at your own discretion.
28+
2329
## Summary
2430

2531
The `develop` branch contains the in-development version. Stable releases are tagged.

0 commit comments

Comments
 (0)