You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
1.2 KiB

# create structure required by non root dpkg install
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/root_dir")
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir")
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/updates")
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/info")
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/available" "")
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir/status" "")
# some programs used by fakeroot require sbin in path so we should not
# leave this to chance (programs: ldconfig and start-stop-daemon)
set(ENV{PATH} "$ENV{PATH}:/usr/local/sbin:/usr/sbin:/sbin")
execute_process(COMMAND ${FAKEROOT_EXECUTABLE} ${DPKG_EXECUTABLE}
-i --force-not-root --root=${CMAKE_CURRENT_BINARY_DIR}/root_dir
--admindir=${CMAKE_CURRENT_BINARY_DIR}/root_dir/admindir
--log=${CMAKE_CURRENT_BINARY_DIR}/root_dir/dpkg.log
${FOUND_FILE_1}
RESULT_VARIABLE install_result_
ERROR_VARIABLE install_error_
OUTPUT_QUIET
)
if(install_result_)
message(FATAL_ERROR "LONG_FILENAMES package error - result:"
" '${install_result_}'; text: '${install_error_}'")
endif()