CPack
seems to generate the debian package in a temporary directory then copy it to the destination folder. Is there a way for CPack
to delete the temporary debian package? For large packages, it takes up twice the disk space. Also from CI, I can't use a generic wildcard match to pickup all .deb
files without picking up the temporary ones.
cmake_minimum_required(VERSION 3.1)
project(foo NONE)
install(
FILES
foo.txt
DESTINATION
/usr/share/doc/foo
)
set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
set(CPACK_DEBIAN_PACKAGE_DEBUG "ON")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "FooBar Inc.")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "any")
include(CPack)
~/dev/scratch/cpack_test
❯ mkdir -p build
~/dev/scratch/cpack_test
❯ cd build
~/dev/scratch/cpack_test/build
❯ cmake ../ && cpack .
-- Configuring done
-- Generating done
-- Build files have been written to: /home/XXXXX/dev/scratch/cpack_test/build
CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: foo
CPack: - Install project: foo []
CPack: Create package
CPackDeb Debug: Using only user-provided dependencies
-- CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.
CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY = '/home/XXXXX/dev/scratch/cpack_test/build/_CPack_Packages/Linux/DEB'
CPackDeb:Debug: CPACK_TOPLEVEL_TAG = 'Linux'
CPackDeb:Debug: CPACK_TEMPORARY_DIRECTORY = '/home/XXXXX/dev/scratch/cpack_test/build/_CPack_Packages/Linux/DEB/foo-0.1.1-Linux'
CPackDeb:Debug: CPACK_OUTPUT_FILE_NAME = 'foo-0.1.1-Linux.deb'
CPackDeb:Debug: CPACK_OUTPUT_FILE_PATH = '/home/XXXXX/dev/scratch/cpack_test/build/foo-0.1.1-Linux.deb'
CPackDeb:Debug: CPACK_PACKAGE_FILE_NAME = 'foo-0.1.1-Linux'
CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY = 'foo 0.1.1'
CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = '/home/XXXXX/dev/scratch/cpack_test/build/_CPack_Packages/Linux/DEB/foo-0.1.1-Linux.deb'
CPackDeb:Debug: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION = ''
CPackDeb:Debug: CPACK_DEBIAN_PACKAGE_SOURCE = ''
CPack: - package: /home/XXXXX/dev/scratch/cpack_test/build/foo-0.1.1-Linux.deb generated
~/dev/scratch/cpack_test/build
❯ sha256sum foo-0.1.1-Linux.deb
33ce4c3c4c5ff526709ace00311e3caf787419c0a91777e22aa0f020f7038b52 foo-0.1.1-Linux.deb
~/dev/scratch/cpack_test/build
❯ sha256sum _CPack_Packages/Linux/DEB/foo-0.1.1-Linux.deb
33ce4c3c4c5ff526709ace00311e3caf787419c0a91777e22aa0f020f7038b52 _CPack_Packages/Linux/DEB/foo-0.1.1-Linux.deb
TIA.