Генератор CPack DEB: mdsums control-file-has-bad-permissions 0644!= 0644

Я занимаюсь разработкой небольшого консольного приложения и пытаюсь создать пакет Ubuntu с использованием CPack. Версия Ubuntu - 13.04, а мой основной файл CPack находится ниже. Пакет создан правильно, но при попытке установить его с помощью графического интерфейса (обычно это двойной щелчок по файлу deb в Ubuntu) появляется следующее предупреждение:

Пакет плохого качества control-file-has-bad-permissions mdsums 0644!= 0644

Кто-нибудь знает, что является причиной этого? И что более важно, как это исправить? Версия CMake 2.8.10.1, но я также пытался использовать 2.8.11.2, и ничего не изменилось.

Я видел, что у них были подобные проблемы здесь, но ничего о природе исправления

Мой основной файл 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 ответа

Решение

Добрый день, я застрял с той же проблемой. После поиска в Google и некоторых неудачных попыток я создаю обходной путь. После cpack я запускаю свой собственный скрипт, где я фиксирую права доступа к файлу mdsums. Вы можете увидеть мое решение по следующей ссылке: https://github.com/paralect/robomongo/blob/master/install/linux/fixup_deb.sh.in

Это исправлено в развивающейся ветке CMake, следующей версии 3.3.

Может подтвердить, CMake 3.3.0-rc2 исправит это, но если у вас есть исходные файлы на жестком диске в формате NTFS (как я), ошибка все равно будет. В качестве обходного пути вы можете собрать свой пакет из любого доступного раздела EXT, в моем случае это сработало.

Другие вопросы по тегам