-
-
Save kh0p/5656472 to your computer and use it in GitHub Desktop.
steam, easy install for debian
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Steam installer for Debian wheezy (32- and 64-bit) | |
# | |
# Place into empty directory and run. | |
# | |
download() { | |
local url="$1" | |
local filename="$(basename "$url")" | |
if [ ! -f "$filename" ]; then | |
wget -c "$url" -O "$filename.part" | |
mv "$filename.part" "$filename" | |
fi | |
} | |
package() { | |
local url="$1" | |
local target="$2" | |
download "$url" | |
mkdir -p "$target" | |
ar p "$(basename "$url")" data.tar.gz | tar xz -C "$target" | |
} | |
set -e | |
package http://media.steampowered.com/client/installer/steam.deb "${PWD}/tree" | |
STEAMPACKAGE="steam" | |
STEAMCONFIG="${HOME}/.steam" | |
STEAMDATALINK="${STEAMCONFIG}/${STEAMCONFIG}" | |
STEAMBOOTSTRAP="steam.sh" | |
LAUNCHSTEAMDIR="$(readlink -eq "${STEAMDATALINK}" || echo)" | |
LAUNCHSTEAMPLATFORM="ubuntu12_32" | |
LAUNCHSTEAMBOOTSTRAPFILE="${PWD}/tree/usr/lib/steam/bootstraplinux_${LAUNCHSTEAMPLATFORM}.tar.xz" | |
STEAM_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} | |
CLASSICSTEAMDIR="$HOME/Steam" | |
DEFAULTSTEAMDIR="$STEAM_DATA_HOME/Steam" | |
STEAMDIR="${DEFAULTSTEAMDIR}" | |
if [ ! -d "$STEAMCONFIG" ]; then | |
mkdir "$STEAMCONFIG" | |
fi | |
echo "Setting up Steam content in $STEAMDIR" | |
mkdir -p "${STEAMDIR}" | |
tar xJf "${LAUNCHSTEAMBOOTSTRAPFILE}" -C "${STEAMDIR}" | |
cat > "${STEAMDIR}/steam_on_debian.sh" <<EOF | |
#!/bin/sh | |
STEAMDIR="\$(readlink -f "\$(dirname "\$0")")" | |
if [ -z "\${LD_LIBRARY_PATH}" ]; then | |
LD_LIBRARY_PATH="\${STEAMDIR}/compat_libraries/lib/i386-linux-gnu" | |
else | |
LD_LIBRARY_PATH="\${STEAMDIR}/compat_libraries/lib/i386-linux-gnu:\${LD_LIBRARY_PATH}" | |
fi | |
export LD_LIBRARY_PATH | |
exec "\${STEAMDIR}/steam.sh" "\$@" | |
EOF | |
chmod +x "${STEAMDIR}/steam_on_debian.sh" | |
echo "Installing Ubuntu packages" | |
mkdir -p "${STEAMDIR}/compat_libraries" | |
package http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu10.2_i386.deb "${STEAMDIR}/compat_libraries" | |
echo "Installing desktop files" | |
mkdir -p "${STEAM_DATA_HOME}/applications" | |
sed "s!/usr/bin/steam!${STEAMDIR}/steam_on_debian.sh!" tree/usr/share/applications/steam.desktop > "${STEAM_DATA_HOME}/applications/steam.desktop" | |
cp -R tree/usr/share/icons "${STEAM_DATA_HOME}" | |
echo "Adding Steam to PATH" | |
MAGIC_LINE="[[ -f \"${STEAMDIR}/setup_debian_environment.sh\" ]] && source \"${STEAMDIR}/setup_debian_environment.sh\"" | |
cat > "${STEAMDIR}/setup_debian_environment.sh" <<EOF | |
if ! which steam > /dev/null 2>&1; then | |
PATH="${STEAMDIR}/debian_bin:${PATH}" | |
export PATH | |
fi | |
EOF | |
mkdir -p "${STEAMDIR}/debian_bin" | |
cat > "${STEAMDIR}/debian_bin/steam" <<EOF | |
#!/bin/sh | |
exec "${STEAMDIR}/steam_on_debian.sh" "$@" | |
EOF | |
chmod +x "${STEAMDIR}/debian_bin/steam" | |
if ! grep -qxF "${MAGIC_LINE}" "${HOME}/.bashrc"; then | |
echo "$MAGIC_LINE" >> "${HOME}/.bashrc" | |
echo | |
echo "Steam was added to your profile. Please relogin or source ~/.bashrc." | |
echo | |
fi | |
echo "To uninstall:" | |
echo "rm -rf ${STEAM_DIR}" | |
echo "rm -f everything steamish from ${STEAM_DATA_HOME}/applications" | |
echo "remove ${MAGIC_LINE} from ${HOME}/.bashrc" | |
#add: | |
#Dependencies are: apt-get install libgl1-mesa-glx:i386 \ | |
#libgl1-mesa-dri:i386 libcurl3-gnutls:i386 libogg0:i386 \ | |
#libpixman-1-0:i386 libsdl1.2debian:i386 libtheora0:i386 \ | |
#libvorbis0a:i386 libvorbisenc2:i386 libvorbisfile3:i386 \ | |
#libasound2:i386 libc6:i386 libcairo2:i386 libcups2:i386 \ | |
#libdbus-1-3:i386 libfontconfig1:i386 libfreetype6:i386 \ | |
#libgcc1:i386 libgcrypt11:i386 libgdk-pixbuf2.0-0:i386 \ | |
#libglib2.0-0:i386 libgtk2.0-0:i386 libnspr4:i386 \ | |
#libnss3:i386 libopenal1:i386 libpango1.0-0:i386 \ | |
#libpng12-0:i386 libpulse0:i386 libstdc++6:i386 \ | |
#libx11-6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 \ | |
#libxrandr2:i386 libxrender1:i386 zlib1g:i386 | |
# | |
#From http://steamcommunity.com/app/221410/discussions/1/846939071205530634/ | |
#-- voltagex |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment