CPack DEB生成器:control-file-has-bad-permissions mdsums 0644!= 0644

时间:2013-07-22 20:21:48

标签: c++ ubuntu cmake deb cpack

我正在开发小型控制台应用程序,我正在尝试使用CPack创建Ubuntu包。 Ubuntu版本是13.04,我的主要CPack文件在下面。包是正确创建的,但在尝试使用图形界面安装它时(基本上双击Ubuntu中的deb文件)会出现以下警告:

  

包质量控制质量差 - 文件有坏权限mdsums 0644   != 0644

有人知道是什么原因吗?更重要的是,如何解决它? CMake版本是2.8.10.1,但我也尝试使用2.8.11.2并且没有任何改变。

我已经看到,他们在这里有类似的问题,但没有关于fix的性质

我的主要CPack文件:

INCLUDE(InstallRequiredSystemLibraries)  
SET(CPACK_GENERATOR DEB)
SET(CPACK_PACKAGE_NAME "color")
SET(CPACK_PACKAGE_VERSION "0.8")
SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)")
SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")

SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "color - unix console tool for log syntax coloring")

SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.txt")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/Copyright.txt")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_STRIP_FILES "color")
SET(CPACK_PACKAGE_EXECUTABLES "color")
INCLUDE(CPack)

如果有人想看包或做更多研究,github repo(deb文件首先发布)。

3 个答案:

答案 0 :(得分:3)

美好的一天,我遇到了同样的问题。在谷歌搜索和一些失败的尝试后,我创建了解决方法。在cpack之后我启动自己的脚本,我修复了mdsums文件的权限。您可以在下一个链接上查看我的解决方案:https://github.com/paralect/robomongo/blob/master/install/linux/fixup_deb.sh.in

答案 1 :(得分:3)

这已在CMake的开发分支中修复,即将发布的3.3版本。

答案 2 :(得分:1)

可以确认,CMake 3.3.0-rc2修复它,但如果你的源文件在NTFS格式的硬盘上(像我一样),那么错误仍然存​​在。作为一种解决方法,您可以从任何可用的EXT分区构建您的包,它在我的情况下起作用。