CPACK是否可以删除其在构建过程中创建的临时DEB软件包?
cpack
似乎在临时目录中生成了debian软件包,然后复制 将其发送到目标文件夹。有没有办法cpack
删除临时Debian软件包?对于大包装,它占用了两倍的磁盘空间。另外,从CI中,我不能使用通用通配符匹配来拾取所有.deb
文件,而无需捡起临时文件。
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。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论