5

I create a deb package with cpack but it is not keeping the original permissions on the target machine. This is causing the user of my application to be unable to execute it after install.

SteveDeFacto
  • 1,317
  • 4
  • 19
  • 35

1 Answers1

3

You can specify permissions with the PERMISSIONS argument.

There is also USE_SOURCE_PERMISSIONS, but I never used it.

Here is an explicit example of PERMISSIONS argument:

# Install monit configuration
INSTALL( FILES ${CMAKE_SOURCE_DIR}/ext_modules/monit.d/${CMAKE_PROJECT_NAME}
         DESTINATION ${CMAKE_PACKAGE_TARGET_SYSCONFIG_DIR}/monit.d
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) # 755

# Install application
INSTALL( PROGRAMS ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}
         DESTINATION ${CMAKE_PACKAGE_TARGET_USER_BINARIES_DIR}
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) # 775
speed488
  • 302
  • 1
  • 10