Я занимаюсь разработкой небольшого консольного приложения и пытаюсь создать пакет 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 Сделки рЕПО (файл deb находится в первом выпуске).
Добрый день, я застрял с той же проблемой. После поиска в 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, в моем случае это сработало.