/usr/bin/heroi Mar 19, 2013 @ 2:06pm
[linux] - exhalo - small tool for installing, bootstrapping and managing steam installations
Hi,

While I don't use Ubuntu or any Debian based distribution, installing STEAM is often confuse; I've taken some time and started a small tool which I called 'exhalo' (steam in latin) and I've hosted it on Google Code (https://code.google.com/p/exhalo/).

What 'exhalo' does is quite simple:

1. Install the bootstrap package from VALVE and bootstrap it (install is always $HOME/.steam).
2. Runs the game and adds Desktop infra-structure.

Now I would like to pull this a bit further and add the correct dependencies required by STEAM (Fedora/openSUSE) so that we can install those as well.

I've made a fat commit today fixing some issues and splitting exhalo into a small python module. This should work in any distribution for the very basic tasks. Keep in mind that the installation is done pretty much by VALVE 'steam.sh' and the only thing that doesn't exist is '/usr/bin/steam' wrapper which exhalo manages now. In a future stage I want to add also capabilities for running/managing game servers and I'm already working on a Django module to work with exhalo.


Now I would ask the community the following so that I could add to 'exhalo' the proper code and checks:

a) Dependencies required for your platform (openSUSE or Fedora);
b) Architecture
c) Package names.

Once I have feedback on this I can add those checks and code to install the dependencies.

While exhalo should work for install/running with any distribution, I'm only planning dependency checks/install for RPM based distributions.

Any other feedback or wish list is most welcome and will be considered...


INSTALL:

1) Download the source package and unpack it
2) Install python distutils if you haven't it installed
3) Enter source directory and run teh following command:
sudo python setup.py install --prefix=/usr
4) Run exhalo (first time it runs it will install the game if $HOME/.steam doesn't exist)

CLI:

There's some CLI options available... here's some quick preview of the output:
nmarques@dartmouth:~> exhalo --help
Usage: exhalo [options]

Options:
-h, --help show this help message and exit
-v, --version print version and exit

LOCAL INSTALLATION OPTIONS:
--backup FIXME! - backup current instalation
--install make new installation on $HOME/.steam
--nuke remove current installation on $HOME/.steam

PLATFORM OPTIONS:
--check check runtime dependencies (only suse for now)
--info print system information and exit
--install-deps FIXME - install runtime dependencies

An alternative CLI tool to install, boostrap and run STEAM.

nmarques@dartmouth:~> exhalo --check

RPM dependency check on openSUSE 12.3 (64bit)

The following information is based on material collected in
several forums. If not accurate please file a bug report!

[installed] Mesa-libGL1-32bit

nmarques@dartmouth:~>

nmarques@dartmouth:~> exhalo --info

System Information:
- system type: : Linux-3.7.10-1.1-desktop-x86_64-with-SuSE-12.3-x86_64
- system version : #1 SMP PREEMPT Thu Feb 28 15:06:29 UTC 2013 (82d3f21)
- vendor : openSUSE
- version : 12.3
- architecture : x86_64
- network node : dartmouth

Python:
- implementation : CPython
- version: : 2.7.3
- compiler: : GCC


Showing 1-1 of 1 comments
< >
thetargos Mar 19, 2013 @ 6:07pm 
Very interesting... I am a Fedora user, and had to cover some of the dependencies for at least a couple of Games (Book of Unwritten Tales and Bastion, I believe) manually as they complained about a lib by name...

A quick and dirty `rpm -q --requires steam` returns on my F18 x86_64:

/bin/sh
/bin/sh
/bin/sh
/usr/bin/env
SDL(x86-32) >= 1.2.10
SDL2(x86-32)
alsa-lib(x86-32) >= 1.0.23
atk(x86-32)
avahi-libs(x86-32)
cairo(x86-32) >= 1.6.0
cups-libs(x86-32) >= 1.4.0
dbus-libs(x86-32) >= 1.2.14
expat(x86-32)
flac(x86-32)
fontconfig(x86-32) >= 2.8.0
freetype(x86-32) >= 2.3.9
gdk-pixbuf2(x86-32) >= 2.22.0
glib2(x86-32) >= 2.14.0
glibc(x86-32) >= 2.15
gnutls(x86-32)
gsm(x86-32)
gtk2(x86-32) >= 2.24.0
harfbuzz(x86-32)
json-c(x86-32)
keyutils-libs(x86-32)
krb5-libs(x86-32)
libICE(x86-32)
libSM(x86-32)
libX11(x86-32) >= 1.4.99.1
libXau(x86-32)
libXcomposite(x86-32)
libXcursor(x86-32)
libXdamage(x86-32)
libXdmcp(x86-32)
libXext(x86-32)
libXfixes(x86-32)
libXi(x86-32) >= 1.2.99.4
libXinerama(x86-32)
libXrandr(x86-32) >= 1.2.99.3
libXrender(x86-32)
libXtst(x86-32)
libXxf86vm(x86-32)
libasyncns(x86-32)
libcom_err(x86-32)
libcurl(x86-32) >= 7.16.2-1
libdrm(x86-32)
libffi(x86-32)
libgcc(x86-32) >= 4.1.1
libgcrypt(x86-32)
libgcrypt(x86-32) >= 1.4.5
libgpg-error(x86-32)
libicu(x86-32)
libjpeg-turbo(x86-32)
libogg(x86-32) >= 1.0
libpng12(x86-32) >= 1.2.13
libselinux(x86-32)
libsndfile(x86-32)
libstdc++(x86-32) >= 4.6
libtasn1(x86-32)
libtheora(x86-32) >= 1.0
libuuid(x86-32)
libvorbis(x86-32) >= 1.1.2
libwayland-client(x86-32)
libwayland-server(x86-32)
libxcb(x86-32)
mesa-dri-drivers(x86-32)
mesa-libEGL(x86-32)
mesa-libGL(x86-32)
mesa-libgbm(x86-32)
mesa-libglapi(x86-32)
nspr(x86-32) >= 1.8.0.10
nss(x86-32) >= 3.12.3
openal-soft(x86-32) >= 1.13
p11-kit(x86-32)
pango(x86-32) >= 1.22.0
pcre(x86-32)
pixman(x86-32) >= 0.24.4
pulseaudio-libs(x86-32) >= 0.99.1
rpm-python
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
systemd-libs(x86-32)
tcp_wrappers-libs(x86-32)
xterm
xz
zlib(x86-32) >= 1.2.3.3
rpmlib(PayloadIsXz) <= 5.2-1
Showing 1-1 of 1 comments
< >
Per page: 15 30 50
Date Posted: Mar 19, 2013 @ 2:06pm
Posts: 1