On 12/05/2012 08:18 PM, Terry Welsh wrote:
Hi Jan,
Thanks for all the tips and the article. I wanted to use an RPM and
DEB for this release because I really like the way Linux can resolve
dependencies for packaged software. Unfortunately, making packages is
hard to get right and there is much room for error.

Actually the basic packages that only unpack files somewhere and set permissions are not hard. On the other hand, dependency resolution is not something you want in a proprietary game - it would likely pull in a wrong version of the library and make your application crash or fail because that exact version isn't available for the version of the distro. You need to bundle your dependencies with the application. You can get some inspiration in how SecondLife client is being distributed (even though it is GPL licensed) or Skype.

If I was making
something open source I'd definitely try to go through distro
maintainers. When I get some more time I want to look harder at tools
like MojoSetup, Makeself, and Nixstaller. They get a lot of use by
other indie game developers.

Please don't. These Windows-like "next->next .." graphical installers are a nightmare in Linux, because they must have root permissions to install into system directories. More often than not the user will not know how to start it with root permissions, often the X variables are clobbered by su or sudo for security reasons and the installer will just fail with a cryptic error. They also make it easy for the user to make a mistake and install it into a wrong place (such as /usr), accidentally overwriting distro-provided shared libraries with something you are shipping = disaster. Finally, running black-box stuff with root permissions is a really bad idea - one mistake/bug in the installer and your system is a toast.

A tarball or self-extracting shar script are perfectly sufficient. If you want an rpm or deb, build systems such as CMake/CPack or autotools can generate one for you automatically. I do recommend CMake with CPack because it is excellent for cross-platform applications, autotools are a royal PITA. CPack can automatically build a Windows installer, rpms/debs/tars for Linux and I think also a package/installer for Mac.

Regards,

Jan
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to