Skip to content

Commit

Permalink
Merge pull request #120 from eosswedenorg/cpack-debian
Browse files Browse the repository at this point in the history
CPACK: Improve deb package filenames
  • Loading branch information
spoonincode authored Sep 13, 2022
2 parents b650d0a + acd452e commit e7457c8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*.abi.hpp
*.cmake
!.cicd
!package.cmake
!CMakeModules/*.cmake
*.ninja
\#*
Expand Down
16 changes: 15 additions & 1 deletion package.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@ if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.9" AND EXISTS /etc/os-release)
string(APPEND CPACK_PACKAGE_FILE_NAME "-el${CMAKE_MATCH_1}")
endif()
endif()

# Fix debian package filename as it should have the format:
# <PackageName>_<VersionNumber>_<DebianArchitecture>.deb

# Find architecture using dpkg
if (DPKG_FOUND)
execute_process(COMMAND bash -c "${DPKG_FOUND} --print-architecture"
OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}")
endif()
string(REGEX REPLACE "^${CMAKE_PROJECT_NAME}-(.*)$" "${CMAKE_PROJECT_NAME}_\\1_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" CPACK_DEBIAN_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}")

string(APPEND CPACK_PACKAGE_FILE_NAME "-${CMAKE_SYSTEM_PROCESSOR}")

set(CPACK_PACKAGE_CONTACT "EOS Network Foundation")
Expand All @@ -43,7 +57,7 @@ list(REMOVE_ITEM CPACK_COMPONENTS_ALL "Unspecified")
#enable per component packages for .deb; ensure main package is just "leap", not "leap-base", and make the dev package have "leap-dev" at the front not the back
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_BASE_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
set(CPACK_DEBIAN_BASE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}.deb")
set(CPACK_DEBIAN_BASE_FILE_NAME "${CPACK_DEBIAN_FILE_NAME}.deb")
string(REGEX REPLACE "^(${CMAKE_PROJECT_NAME})" "\\1-dev" CPACK_DEBIAN_DEV_FILE_NAME "${CPACK_DEBIAN_BASE_FILE_NAME}")

#deb package tooling will be unable to detect deps for the dev package. llvm is tricky since we don't know what package could have been used; try to figure it out
Expand Down

0 comments on commit e7457c8

Please sign in to comment.