27 lines
1.2 KiB
CMake
27 lines
1.2 KiB
CMake
# 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()
|