How To Create Binary Downloads For Linux Users

This is not STRICTLY related to SDL, but I thought people on this list
might be able to give me a clue:

Ok, so I’ve got a little game I’ve been coding in my spare time. It
uses SDL and Boost so that it’s pretty cross-platform compatible. In
fact, I’ve built, ran and tested the game in OpenSuse Linux. However,
I’m not clear on an easy way of packaging the game up in a download
for Linux users. The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?

Thanks a lot,
Jeff

This is not STRICTLY related to SDL, but I thought people on this list
might be able to give me a clue:

Ok, so I’ve got a little game I’ve been coding in my spare time. It
uses SDL and Boost so that it’s pretty cross-platform compatible. In
fact, I’ve built, ran and tested the game in OpenSuse Linux. However,
I’m not clear on an easy way of packaging the game up in a download
for Linux users. The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?

Thanks a lot,
Jeff


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

usually linux apps are source tar balls with a make file and configure
script. the configure script will check the dependencies of the
target, and the makefile will build it.

as for a binary package, that has to be made for each distro;

debian and ubuntu use deb packages
redhat and a few others use rpm
gentoo uses source

mattOn Thu, 19 Jul 2007 14:05:45 -0500 “Jeff Schiller” wrote:

This is not STRICTLY related to SDL, but I thought people on this list
might be able to give me a clue:

Ok, so I’ve got a little game I’ve been coding in my spare time. It
uses SDL and Boost so that it’s pretty cross-platform compatible. In
fact, I’ve built, ran and tested the game in OpenSuse Linux. However,
I’m not clear on an easy way of packaging the game up in a download
for Linux users. The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?

Thanks a lot,
Jeff


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

sorry if i didnt exactly provide the answer you were looking for. i
think there might be some other package system out their that might
install like windows or mac, but not very common. and if a package
uses those, i think the linux distro’s own package system will extract
it and install differently anyway.

mattOn Thu, 19 Jul 2007 14:05:45 -0500 “Jeff Schiller” wrote:

Thanks Matt,

Any idea how Mozilla does their firefox nightly builds? It’s just a
.tar.gz file with binaries in it - I thought it worked on every
distro… Maybe they don’t have any external dependencies?

JeffOn 7/19/07, matt wrote:

On Thu, 19 Jul 2007 14:05:45 -0500 “Jeff Schiller” <@Jeff_Schiller> wrote:

This is not STRICTLY related to SDL, but I thought people on this list
might be able to give me a clue:

Ok, so I’ve got a little game I’ve been coding in my spare time. It
uses SDL and Boost so that it’s pretty cross-platform compatible. In
fact, I’ve built, ran and tested the game in OpenSuse Linux. However,
I’m not clear on an easy way of packaging the game up in a download
for Linux users. The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?

Thanks a lot,
Jeff


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

usually linux apps are source tar balls with a make file and configure
script. the configure script will check the dependencies of the
target, and the makefile will build it.

as for a binary package, that has to be made for each distro;

debian and ubuntu use deb packages
redhat and a few others use rpm
gentoo uses source

matt


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Thanks Matt,

Any idea how Mozilla does their firefox nightly builds? It’s just a
.tar.gz file with binaries in it - I thought it worked on every
distro… Maybe they don’t have any external dependencies?

Jeff

This is not STRICTLY related to SDL, but I thought people on this list
might be able to give me a clue:

Ok, so I’ve got a little game I’ve been coding in my spare time. It
uses SDL and Boost so that it’s pretty cross-platform compatible. In
fact, I’ve built, ran and tested the game in OpenSuse Linux. However,
I’m not clear on an easy way of packaging the game up in a download
for Linux users. The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?

Well, Firefox /does/ have external dependencies, they’re just
dependencies you’ll find on pretty much any distro put out in the last 5
years like libc6.

I suppose the closest approximation would be to do a bash script,
Realsoft3D uses a script with a UseNet style attachment for the files.
After that you’re going to be using $PATH and $LD_LIBRARY_PATH
environment variables to check for files using regular expressions.

It might be better in the long term to use autotools (you can always
just provide the binaries and use make-install) or learn how to do Deb
or RPM packages as they make it a lot easier to resolve dependencies and
sort out conflicts between versions.On Thu, 2007-07-19 at 14:23 -0500, Jeff Schiller wrote:

On 7/19/07, matt wrote:

On Thu, 19 Jul 2007 14:05:45 -0500 “Jeff Schiller” wrote:


All New Yahoo! Mail ? Tired of Vi at gr@! come-ons? Let our SpamGuard protect you. http://uk.docs.yahoo.com/nowyoucan.html

Thanks Matt,

Any idea how Mozilla does their firefox nightly builds? It’s just a
.tar.gz file with binaries in it - I thought it worked on every
distro… Maybe they don’t have any external dependencies?

Jeff

sorry, i dont

mattOn Thu, 19 Jul 2007 14:23:47 -0500 “Jeff Schiller” wrote:

It might be better in the long term to use autotools (you can always
just provide the binaries and use make-install) or learn how to do Deb
or RPM packages as they make it a lot easier to resolve dependencies
and sort out conflicts between versions.

i would suggest starting with a make file and configure script, then
work on a binary package. (first you have to build it right ?)

what is the license ? gpl? then perhaps someone could help with it.

matt

…times the number of supported CPU architectures. Oh, and why only for
Linux? Why not the BSD flavours, OS X, AthenaOS, the Hurd or Solaris?

UliOn Thursday 19 July 2007 21:18:09 matt wrote:

as for a binary package, that has to be made for each distro;

debian and ubuntu use deb packages
redhat and a few others use rpm
gentoo uses source

as for a binary package, that has to be made for each distro;

debian and ubuntu use deb packages
redhat and a few others use rpm
gentoo uses source

…times the number of supported CPU architectures. Oh, and why only
for Linux? Why not the BSD flavours, OS X, AthenaOS, the Hurd or
Solaris?

Uli


the subject says linux :smiley: and, i suggested source so it could be
compiled or ported anywhere.On Fri, 20 Jul 2007 08:28:28 +0200 Ulrich Eckhardt wrote:

On Thursday 19 July 2007 21:18:09 matt wrote:

You might be interested in either http://autopackage.org/docs.html or
http://icculus.org/loki_setup/ .On Thu, 2007-07-19 at 14:05 -0500, Jeff Schiller wrote:

for Linux users. The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?


Sitsofe | http://sucs.org/~sits/

Jeff Schiller <codedread gmail.com> writes:

The game has run-time dependencies on expat as well
as many SDL libraries (specifically SDL_ttf, SDL_image, SDL_mixer,
SDL_gfx, and of course, SDL itself). I’d like something simple, akin
to what I do with Windows (which is a batch file that bundles up every
file needed, including DLLs, into one ZIP file for download). Can
anyone out there help me?

There is an article on GameDev.net about this. See
http://www.gamedev.net/reference/programming/features/linuxprogramming2/

There is an article on GameDev.net about this. See
http://www.gamedev.net/reference/programming/features/linuxprogramming2/

I can confirm that this works. Troy Hepfner has written a whole series on Linux
game development and distribution. He helped me out with my game while writing
those articles. I think the next article in the series talks about binary
distribution and installers. Troy uses Bitrock Installer, which is pretty
expensive but works well. I use InstallJammer, which is free and open source.
It’s a bit buggy but very powerful, and works well enough. I use it for my game
Lunar Domination. You can download the demo of the game to see it in action:
http://www.valengames.com

Ilya