Folder structure for the installation

A place to discuss everything about the Orxonox framework.

Moderator: PPS-Leaders

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Post by greenman » Fri Feb 13, 2009 1:41 pm

1337 wrote:Back to the topic:
Is it usr/lib/orxonox or usr/lib on Linux? You don't seem to see eye to eye regarding this matter... Personally I would prefer usr/lib because it's easier to implement since that doesn't require any windows/unix distinguishing.
if we want to put out libs into /usr/lib then we have to rename them to libOrxonoxNetwork.so / libOrxonoxCore.so, etc.
we can't just put a file called libnetwork.so into /usr/lib, because this could cause problems with other libraries/programs
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
1337
Baron Vladimir Harkonnen
Posts: 521
Joined: Wed Oct 10, 2007 7:59 am

Post by 1337 » Sat Feb 14, 2009 1:42 pm

Yeah, I see the problem ^^
But this is not really a problem. All the externals (ticpp, tolua, ceguirenderer and cpptcl) are already renamed to libtolua++_orxonox.so, libcpptcl_orxonox.so, etc.

The problem about usr/lib/Orxonox I see is that the libs won't be loaded. Tried yesterday on a tardisbox to install Orxonox to ~/orxonox (instead of /usr), but I couldn't execute the game (lib....so not found), even though I had the same relative folder structure as in the CMake binary dir (game ran there).

Could probably be resolved by adding /usr/lib/Orxonox to the PATH var?
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.

User avatar
1337
Baron Vladimir Harkonnen
Posts: 521
Joined: Wed Oct 10, 2007 7:59 am

Post by 1337 » Sat Feb 14, 2009 4:07 pm

What I've done so far with the installation folders:

On Unix:

Code: Select all

/usr/bin/orxonox            (executable)
/usr/lib/orxonox            (shared libraries)
/usr/share/orxonox          (media, in that folder directly)
/usr/share/doc/orxonox/api  (doxygen html, if built)
~/.orxonox/config           (config files)
~/.orxonox/log              (log)
On Windows (all prefixed with C:/Program Files/Orxonox):

Code: Select all

bin                         (executable)
lib                         (shared libraries)
media                       (media, in that folder directly)
doc/api                     (doxygen html, if built)
config                      (config files)
log                         (log)

A note about config and log: Not yet implemented, still goes to bin/ instead.

What do you think? Any suggestions are welcome.

Btw: I have dealt with problem I mentioned in the last post. CMake already provides configurable means for that rpath.
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Post by greenman » Mon Feb 16, 2009 5:34 pm

i would propose to put the binary to /usr/bin (so the final path to run would be /usr/bin/orxonox <- no folder)
/usr/games would be even more professional, because game-packages usually install to this target with group rights 'games'.
this is for security reasons (only users in the group games may run games then)

i hope this was understandable ^^
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
1337
Baron Vladimir Harkonnen
Posts: 521
Joined: Wed Oct 10, 2007 7:59 am

Post by 1337 » Mon Feb 16, 2009 7:25 pm

The INSTALL command in CMake can actually set access rights. So this should no be such a problem.

INSTALL:
PERMISSIONS arguments specify permissions for installed files. Valid permissions are OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, GROUP_WRITE, GROUP_EXECUTE, WORLD_READ, WORLD_WRITE, WORLD_EXECUTE, SETUID, and SETGID. Permissions that do not make sense on certain platforms are ignored on those platforms.

What shall I use when installing to usr/games?
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Post by greenman » Mon Feb 16, 2009 8:05 pm

hm... i would say OWNER_READ, OWNER_EXECUTE, GROUP_READ, GROUP_EXECUTE

but we also have to set the ownership of the file to root (user) and games (group)
is that possible ?
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
1337
Baron Vladimir Harkonnen
Posts: 521
Joined: Wed Oct 10, 2007 7:59 am

Post by 1337 » Mon Feb 16, 2009 8:13 pm

http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.

User avatar
greenman
Baron Vladimir Harkonnen
Posts: 360
Joined: Wed Oct 03, 2007 2:53 pm
Contact:

Post by greenman » Mon Feb 16, 2009 9:04 pm

hm... actually this should be easily possible even with normal makefiles ...

edit: as it seems like we have to do some dirty tricks ^^
http://mail.kde.org/pipermail/kde-build ... 03271.html
with that we should be able to call an external command and just do a "chown user:group filename"
There are only 10 types of people in the world: Those who understand binary, and those who don't.

User avatar
1337
Baron Vladimir Harkonnen
Posts: 521
Joined: Wed Oct 10, 2007 7:59 am

Post by 1337 » Mon Feb 16, 2009 9:17 pm

Yeah, I know you can call scripts during installation. But this seems really ugly, but possible. Anyway, I'm leaving this to the Linux devs :P
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests