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.

postinstall.cmake.in 1.3KB

1234567891011121314151617181920212223242526272829303132333435
  1. message(STATUS "Updating RC: $ENV{DESTDIR}/etc/init.d/@PROJECT_NAME@")
  2. file(MAKE_DIRECTORY
  3. "$ENV{DESTDIR}/etc/rc0.d"
  4. "$ENV{DESTDIR}/etc/rc1.d"
  5. "$ENV{DESTDIR}/etc/rc2.d"
  6. "$ENV{DESTDIR}/etc/rc3.d"
  7. "$ENV{DESTDIR}/etc/rc4.d"
  8. "$ENV{DESTDIR}/etc/rc5.d"
  9. "$ENV{DESTDIR}/etc/rc6.d"
  10. )
  11. execute_process(
  12. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc0.d/K20@PROJECT_NAME@
  13. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc1.d/K20@PROJECT_NAME@
  14. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc2.d/S20@PROJECT_NAME@
  15. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc3.d/S20@PROJECT_NAME@
  16. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc4.d/S20@PROJECT_NAME@
  17. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc5.d/S20@PROJECT_NAME@
  18. COMMAND ln -sf ../init.d/@PROJECT_NAME@ rc6.d/K20@PROJECT_NAME@
  19. WORKING_DIRECTORY "$ENV{DESTDIR}/etc"
  20. )
  21. set(SECRET_FILE "@PROJECT_NAME@.secret")
  22. set(DD "@DD@")
  23. set(BASE64 "@BASE64@")
  24. if(DD AND BASE64 AND EXISTS "/dev/urandom" AND NOT EXISTS "$ENV{DESTDIR}/etc/${SECRET_FILE}")
  25. message(STATUS "Generating secret key")
  26. execute_process(
  27. COMMAND ${DD} if=/dev/urandom bs=18 count=1
  28. COMMAND ${BASE64} -w0
  29. OUTPUT_FILE "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}"
  30. ERROR_QUIET
  31. OUTPUT_STRIP_TRAILING_WHITESPACE
  32. )
  33. file(INSTALL "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}" DESTINATION "/etc" FILE_PERMISSIONS OWNER_READ OWNER_WRITE)
  34. endif()