CMake-ковский CPack в Debian “wheezy” не справляется с созданием deb-пакета, если в RPATH прописан $ORIGIN. CMake вываливается с ошибкой вида:
$ORIGIN используется в RPATH (...)  и соответствующий каталог невозможно определить из-за отсутствия подкаталога DEBIAN в корне дерева сборки пакета
Или, для CLANG=C:
CPackDeb: dpkg-shlibdeps: dpkg-shlibdeps: warning: $ORIGIN is used in RPATH of ... and the corresponding directory could not be identified due to lack of DEBIAN sub-directory in the root of   package's build tree
Беда в том, что каталог "debian" есть, но название его состоит из маленьких букв, а не больших, как того хочет dpkg-shlibdeps.

Есть простенький патч для модуля CPackDeb.cmake, решающий эту проблему.

Однако, если нет возможности пропатчить CMake, то обойти проблему можно следующим, хоть и довольно грязным, костылем: прописать установку какого-нибудь файла, можно даже пустого, в каталог /DEBIAN:
install(FILES dirty_fix.txt DESTINATION /DEBIAN)
Вполне допускаю, что на основе этого костыля можно соорудить костыль поизящней, например удалять файл во время сборки, чтобы он не попадал в deb-пакет. В этом смысле совет выше можно рассматривать как направление, куда в дальнейшем копать.

В свежеустановленной Astra Linux не работала функция gtk_show_uri() с URI типа ghelp.

В GError при этом можно было увидеть ошибку:
'Действие не поддерживается'.
Или, с LANG=C:
'Operation not supported'.

Естественно, yelp был установлен.
Вопреки некоторым советам из интернетов, gvfs тут ни при чем.
Проблема решилась установкой пакета desktop-file-utils.


 

Copyright © 2007 DamnSmallBlog. Content is licensed under Creative Commons Attribution-Noncommercial.

Design: GeckoandFly and Blogcrowds.