Во время установки ebuild получаю предупреждение:
>>> Install odb-9999 into /var/tmp/portage/dev-util/odb-9999/image category dev-util
>>> Working in BUILD_DIR: "/var/tmp/portage/dev-util/odb-9999/work/odb-9999_build"
[0/1] Install the project...
-- Install configuration: "Gentoo"
-- Installing: /var/tmp/portage/dev-util/odb-9999/image/usr/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/plugin/libodb.so
-- Installing: /var/tmp/portage/dev-util/odb-9999/image/usr/bin/odb
>>> Completed installing odb-9999 into /var/tmp/portage/dev-util/odb-9999/image
* Final size of build directory: 21196 KiB (20.6 MiB)
* Final size of installed tree: 4632 KiB ( 4.5 MiB)
* The ebuild is installing to one or more unexpected paths:
*
* /usr/usr
*
* Please fix the ebuild to use correct FHS/Gentoo policy paths.
Вот в этом файле дважды встречается каталог usr
:
/var/tmp/portage/dev-util/odb-9999/image/usr/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/plugin/libodb.so
В CMakeLists.txt определяется каталог с плагинами для GCC таким образом:
execute_process (COMMAND ${CMAKE_CXX_COMPILER} "-print-file-name=plugin"
OUTPUT_VARIABLE GCC_PLUGIN_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
CMAKE_CXX_COMPILER
:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/plugin
И вот так идёт установка плагина в CMakeLists.txt:
install (TARGETS odb
LIBRARY
DESTINATION ${CMAKE_INSTALL_PREFIX}/${GCC_PLUGIN_DIR}
)
/usr
в начале. И добавляю ${CMAKE_INSTALL_PREFIX}
, чтобы не использовать жестко закодированный абсолютный путь.Теперь возникает вопрос: для того, чтобы исправить установку с помощью portage, мне нужно обработать эту ситуацию в ebuild или поменять логику в CMakeLists.txt?