Advertisement
Guest User

Steam for Debian Wheezy

a guest
Feb 15th, 2013
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.94 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Steam installer for Debian wheezy (32- and 64-bit)
  4. #
  5. # Place into empty directory and run.
  6. #
  7.  
  8. download() {
  9. local url="$1"
  10. local filename="$(basename "$url")"
  11.  
  12. if [ ! -f "$filename" ]; then
  13. wget -c "$url" -O "$filename.part"
  14. mv "$filename.part" "$filename"
  15. fi
  16. }
  17.  
  18. package() {
  19. local url="$1"
  20. local target="$2"
  21.  
  22. download "$url"
  23.  
  24. mkdir -p "$target"
  25. ar p "$(basename "$url")" data.tar.gz | tar xz -C "$target"
  26. }
  27.  
  28. set -e
  29.  
  30. package http://media.steampowered.com/client/installer/steam.deb "${PWD}/tree"
  31.  
  32. STEAMPACKAGE="steam"
  33. STEAMCONFIG="${HOME}/.steam"
  34. STEAMDATALINK="${STEAMCONFIG}/${STEAMCONFIG}"
  35. STEAMBOOTSTRAP="steam.sh"
  36. LAUNCHSTEAMDIR="$(readlink -eq "${STEAMDATALINK}" || echo)"
  37. LAUNCHSTEAMPLATFORM="ubuntu12_32"
  38. LAUNCHSTEAMBOOTSTRAPFILE="${PWD}/tree/usr/lib/steam/bootstraplinux_${LAUNCHSTEAMPLATFORM}.tar.xz"
  39. STEAM_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
  40. CLASSICSTEAMDIR="$HOME/Steam"
  41. DEFAULTSTEAMDIR="$STEAM_DATA_HOME/Steam"
  42. STEAMDIR="${DEFAULTSTEAMDIR}"
  43.  
  44. if [ ! -d "$STEAMCONFIG" ]; then
  45. mkdir "$STEAMCONFIG"
  46. fi
  47.  
  48. echo "Setting up Steam content in $STEAMDIR"
  49.  
  50. mkdir -p "${STEAMDIR}"
  51. tar xJf "${LAUNCHSTEAMBOOTSTRAPFILE}" -C "${STEAMDIR}"
  52.  
  53. cat > "${STEAMDIR}/steam_on_debian.sh" <<EOF
  54. #!/bin/sh
  55. STEAMDIR="\$(readlink -f "\$(dirname "\$0")")"
  56. if [ -z "\${LD_LIBRARY_PATH}" ]; then
  57. LD_LIBRARY_PATH="\${STEAMDIR}/compat_libraries/lib/i386-linux-gnu"
  58. else
  59. LD_LIBRARY_PATH="\${STEAMDIR}/compat_libraries/lib/i386-linux-gnu:\${LD_LIBRARY_PATH}"
  60. fi
  61.  
  62. export LD_LIBRARY_PATH
  63.  
  64. exec "\${STEAMDIR}/steam.sh" "\$@"
  65. EOF
  66.  
  67. chmod +x "${STEAMDIR}/steam_on_debian.sh"
  68.  
  69. echo "Installing Ubuntu packages"
  70.  
  71. mkdir -p "${STEAMDIR}/compat_libraries"
  72.  
  73. package http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu10.2_i386.deb "${STEAMDIR}/compat_libraries"
  74.  
  75. echo "Installing desktop files"
  76. mkdir -p "${STEAM_DATA_HOME}/applications"
  77. sed "s!/usr/bin/steam!${STEAMDIR}/steam_on_debian.sh!" tree/usr/share/applications/steam.desktop > "${STEAM_DATA_HOME}/applications/steam.desktop"
  78. cp -R tree/usr/share/icons "${STEAM_DATA_HOME}"
  79.  
  80. echo "Adding Steam to PATH"
  81. MAGIC_LINE="[[ -f \"${STEAMDIR}/setup_debian_environment.sh\" ]] && source \"${STEAMDIR}/setup_debian_environment.sh\""
  82.  
  83. cat > "${STEAMDIR}/setup_debian_environment.sh" <<EOF
  84. if ! which steam > /dev/null 2>&1; then
  85. PATH="${STEAMDIR}/debian_bin:${PATH}"
  86. export PATH
  87. fi
  88. EOF
  89.  
  90. mkdir -p "${STEAMDIR}/debian_bin"
  91.  
  92. cat > "${STEAMDIR}/debian_bin/steam" <<EOF
  93. #!/bin/sh
  94. exec "${STEAMDIR}/steam_on_debian.sh" "$@"
  95. EOF
  96.  
  97. chmod +x "${STEAMDIR}/debian_bin/steam"
  98.  
  99. if ! grep -qxF "${MAGIC_LINE}" "${HOME}/.bashrc"; then
  100. echo "$MAGIC_LINE" >> "${HOME}/.bashrc"
  101.  
  102. echo
  103. echo "Steam was added to your profile. Please relogin or source ~/.bashrc."
  104. echo
  105. fi
  106.  
  107. echo "To uninstall:"
  108. echo "rm -rf ${STEAM_DIR}"
  109. echo "rm -f everything steamish from ${STEAM_DATA_HOME}/applications"
  110. echo "remove ${MAGIC_LINE} from ${HOME}/.bashrc"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement