On Thursday 07 August 2008 18:01:33 Брюков Юрий wrote: > Hi. > I try to write installation steps for my application. I need create some > folders and copy some files to this folders. I use next commands: > install(TARGETS myApp DESTINATION . PERMISSIONS WORLD_READ WORLD_WRITE > WORLD_EXECUTE) Installing into folder "." may have strange consequences. > install(FILES myFile DESTINATION myfolder) > > I have troubles with permissions of directories which were created during > my application installation. Command `make install` should be executed with > root privileges because I need to copy some libraries to /usr/lib/. This depends on your packaging scheme. For example, I install CMake into /opt/cmake-2.[46], which is created under my user account. > But in this case all necessary folders Intermediate. Necessary folders you specified explicitly with install() commands. > also will be created with root permissions > and my application can't create any files in this folders if it was > executed without root privileges. Usually applications shouldn't write to any system locations. All data is placed on linux to /var directory (as Alan pointed to FHS standard), where applications' installers create folders with user accounts.
> For example folder from > CMAKE_INSTALL_PREFIX variable also created with root privileges. And myApp > try to create some log files in this directory and it failed because it > hasn't necessary > privileges. All your logs should be in /var/log directory, but regular user can't write there. You can use syslog daemon to write logs. Or you can create custom folder which will be accessible under user account. > Have you any advance? You should consider FHS standard and develop proper directory layout for your product. If you migrate from windows proprietary software, I (my personal preference) suggest put your app into (set CMAKE_INSTALL_PREFIX to) /opt/YourProduct/ and write logs into /var/log/YourProduct/. You can create these two dirs from root and next change ownership. > > Thanks, > Yuri. _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
