Steam:n paketointi scripti Debian Wheezy:lle. Kerron mitä scripti tekee. Scripti luo aluksi tmp tiedostoon väliaikaishakemiston ja lataa steam paketin. Sinne puretaan steam paketti ja luodaan dpkg-deb:llä Debian paketoinin kannalta tärkeitä tiedostoja. Muokataan Debian control tiedostoon libc 2.15 riippuvuus -> 2.13:lla. Luodaan bootstraplinux_ubuntu12_32 kansio ja sinne puretaan bootstraplinux_ubuntu12_32.tar.xz paketti.
Haetaan Ubuntun palvelimelta glibc 2.15 versio ja puretaan väliaikaishakemiston ubuntu-libc kansioon. Sieltä ne kopioidaan juuri luotuun/puretuun bootstraplinux_ubuntu12_32/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu alikansioon. Tämän jälkeen bootstraplinux_ubuntu12_32 kansio arkistoidaan uusiksi bootstraplinux_ubuntu12_32.tar.xz muotoon ja siirretään takaisin oikeaan hakemistoon. Poistetaan steamdeps tiedosto (poistuu turha jockey riippuvuus) ja luodaan uusi .deb paketti. Siirretään valmis deb paketti käyttäjän kotihakemistoon ja poistetaan tiedostot väliaikaishakemistosta (/tmp).
Scripti ei vaadi pääkäyttäjä oikeuksia. Ainoastaan deb paketin asennus vaatii pääkäyttäjän oikeudet.
Debian Wheezy 64-bittisen/Nvidia käyttäjät asentakaa libgl1-nvidia-glx:i386 paketti. Vaati multiarch tuen (dpkg --add-architecture i386 && apt-get update).
Debian Wheezy 64-bittisen/AMD käyttäjät asentakaa libgl1-fglrx-glx:i386 paketti. Vaati multiarch tuen (dpkg --add-architecture i386 && apt-get update).
Lisätkää US lokaali näppäimistölle komennolla:
sudo dpkg-reconfigure locales
Tässä scripti:
#!/bin/bash
TMP=$(mktemp -d /tmp/steam.XXXXXXX)
wget -NP $TMP http://media.steampowered.com/client/installer/steam.deb
dpkg-deb -x $TMP/steam.deb $TMP/steam-debian
dpkg-deb -e $TMP/steam.deb $TMP/steam-debian/DEBIAN
# turha rivi sed -i 's/2.15/2.13/g;s/-turbo//;s/1:0.99.1/2.0/' $TMP/steam-debian/DEBIAN/control
sed -i 's/2.15/2.13/g;s/jockey-common, //g' $TMP/steam-debian/DEBIAN/control
mkdir $TMP/bootstraplinux_ubuntu12_32
tar -C $TMP/bootstraplinux_ubuntu12_32 -xvf $TMP/steam-debian/usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz
wget -NP $TMP http://ubuntu.wikimedia.org/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu20_i386.deb
wget -NP $TMP http://ubuntu.wikimedia.org/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu20_amd64.deb
dpkg-deb -x $TMP/libc6_2.15-0ubuntu20_i386.deb $TMP/ubuntu-libc
dpkg-deb -x $TMP/libc6_2.15-0ubuntu20_amd64.deb $TMP/ubuntu-libc64
mkdir -p $TMP/bootstraplinux_ubuntu12_32/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu
cp -R $TMP/ubuntu-libc/lib/i386-linux-gnu/*.* $TMP/bootstraplinux_ubuntu12_32/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu
cp -R $TMP/ubuntu-libc64/lib/x86_64-linux-gnu/*.* $TMP/bootstraplinux_ubuntu12_32/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu
cd $TMP
tar cfJv bootstraplinux_ubuntu12_32.tar.xz -C bootstraplinux_ubuntu12_32 .
mv $TMP/bootstraplinux_ubuntu12_32.tar.xz $TMP/steam-debian/usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz
rm -f $TMP/steam-debian/usr/bin/steamdeps
dpkg-deb -b $TMP/steam-debian
mv $TMP/steam-debian.deb ~/
rm -rf $TMP
Scriptin kehitys ehdotuksia ja parannuksia voi antaa.
Edit:
12.10.2013
Lisätty 64-bittiset glibc kirjastot paketointiin.
Rivit:
wget -NP $TMP http://ubuntu.wikimedia.org/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu20_amd64.deb
dpkg-deb -x $TMP/libc6_2.15-0ubuntu20_amd64.deb $TMP/ubuntu-libc64
mkdir -p $TMP/bootstraplinux_ubuntu12_32/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu
cp -R $TMP/ubuntu-libc64/lib/x86_64-linux-gnu/*.* $TMP/bootstraplinux_ubuntu12_32/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu
26.2.2013
Korjattu scriptiä poistaa jockey-common riippuvuuden. Tullut steam clientin päivityksen myötä.
Rivi:
sed -i 's/2.15/2.13/g;s/jockey-common, //g' $TMP/steam-debian/DEBIAN/control