Valve now has a Beta Installer for their Linux Steam Client.

Steam-runtime/i386 in newer versions is filled with symlinks to steam-runtime/lib or steam-runtime/usr files, instead of regular files.

* Build: Use a Python script to populate source packages

– This will download all necessary files from Steam Client and then repackage the Steam Runtime into the bootstrap.tarball.

* debian: You can add an epoch in the version number.

– The package now supersedes the old steam package in Ubuntu. This is due to an unrelated package called “sTeam”, which existed in older Ubuntu versions.

Steam_tray_mono.png and bin_steam.sh will be taken over by the Steam client.

* Bin_steam.sh: Redirect to a logfile.

It isn’t very useful and can be easily replaced by ordinary Unix shell redirection for debugging clients or games. Third-party software doesn’t usually do this so we can’t trust it. (Fixes: steam-for-linux#6901)

* Bin_steam.sh – Add a short header to identify this file

* Bin_steam.sh – Simplify Version Management by using dotted decimal

* Bin_steam.sh – Include the full version number of.deb, except for epoch

* Bin_steam.sh – If executed directly, will default to the non-beta Steam Universe

* bin_steam.sh – Use a stronger way to setup /.steam/steam.symlink

* Bin_steam.sh: Ubuntu 20.04 should show the “trusted”.desktop files

* Bin_steam.sh – chmod the desktop file a+x and not just +x

You need to mark a.desktop files as trusted on all desktops by making sure it is a+x. This differs from +x when you use a restricted umask.

* Bin_steam.sh – Only copy the.desktop file from your system to your desktop

– Only system-wide installation is possible using the.desktop files.

* Bin_steam.sh : Use content adjacent to the script.

All the necessary bits should be installed into $(pkglibdir).

* Bin_steam.sh: If a command fails, exit unsuccessfully.

* Steamdeps and steamdex symlinks.

README: You can run./steam according to the README, so let’s ensure you are able.

* Bin_steamdeps.py – Use Python3.

Python 2 has been retired and won’t be available in Ubuntu 20.04. (Fixes steam-for-linux #





* bin_steamdeps.py – Use Ubuntu 14.04’s backported 12.04 graphics stack. The Steam client has been removed from 12.04 compatibility.

* Bin_steamdeps.py : Send diagnostics to the stderr.

Printing them to stdout will result in the package not being shown to us before we attempt to install it. Print them instead to stderr which is line-buffered default.

* Bin_steamdeps.py : Return to the x-terminal emulator

* Bin_steamdeps.py – Install libgl1 and not libgl1–mesa-glx, if you have GLVND.

– libgl1 replaces libgl1mesa-glx as the GLVND dispatcher. It is unlikely that it will disappear from future Debian/Ubuntu versions.

* bin_steamdeps.py: Remap package names, not complete dependencies.

This method is much simpler and all that is needed in real life.

* Bin_steamdeps.py – Explicitly depends on amd64.libc.

* bin_steamdeps.py: Ignore python-apt.

– Although Steam says it needs python apt to function, the truth is that it doesn’t. Part of steam-for Linux#





* Debian: Use apt to replace pythonapt

– Although we ask for Python-apt but don’t appear to use it, bin_steamdeps.py calls out to the apt subprocesses. Part of #steam-for-linux





* Debian: Recommendation xdg–utils except for SteamOS (Fixes Steam-for-linux #



* Debian: Built-Depend on Dh-Python with an alternative for older distros

You will require dh-python to build the source package using Ubuntu 12.04 precise or SteamRT1 ®?scout.

* d/control : For prove(1)

This can be used for QA testing.

* Copy bootstrap and version checking from Makefile to tests/

* Check_version.sh

* Steam-devices can be imported according to udev rules


– add ZeroPlus P4 (hitbox) hidraw device, 0c12:0ef6

* Provide brief information about the subprojects as well as their bug reporting addresses

* d/copyright : Copyright/licensing information for open-source components of the package added

* Add some files to.gitignore

* Remove references to steamrepo@list.valvesoftware.com. This mailing list is no longer available.

* d/README.source : Please add documentation to help maintainers

* Send a trusted binary-blob key public key starting at 1.0.0.61

This package is installed into /etc. It’s not great that it gets recompiled every time. Freeze it at a known-good version, and document how to regenerate it in debian/README.source.

* Build: Adjust for the newer Steam Runtime build. Steam-runtime/i386 has symlinks to steam-runtime/lib, and steam-runtime/usr. It does not contain regular files. The Python script that populates the source package uses a Python script. This allows you to download all of the Steam client’s bits and then repackage the Steam runtime with other Steam binary files into the bootstrap.tarball. Debian: Add an “epoch” to the version number. This package replaces the obsolete steam package in Ubuntu. It has an epoch because of an unrelated package called “steam”, which existed in older Ubuntu versions. Steam_tray_mono.png and bin_steam.sh will be taken over by the Steam client. Bin_steam.sh: Disable redirection of the log file to steam_tray_mono.png. This can be easily replaced by ordinary Unix shell redirection for debugging clients or games. Third-party software doesn’t usually do it so we can’t trust that. (Fixes: steam-for-linux#6901)* bin_steam.sh: Add a brief header identifying this file* bin_steam.sh: Simplify version management by making it dotted-decimal* bin_steam.sh: Include full .deb version number, except for epoch* bin_steam.sh: If run directly, default to non-beta Steam universe* bin_steam.sh: Use a more robust way to set up ~/.steam/steam symlink* bin_steam.sh: Make Ubuntu 20.04 show the .desktop file as “trusted”* bin_steam.sh: chmod the .desktop file a+x, not just +x.- To mark a .desktop file as “trusted” on most desktops, it needs to be a+x, which differs from +x under a restrictive umask. * Bin_steam.sh: Do not copy the.desktop files to your desktop. Bin_steam.sh prefers content adjacent to the script. – Make sure you save all necessary bits in $(pkglibdir). If a command is unsuccessful, exit successfully with bin_steam.sh * Add steam, steamdeps and steamdeps.symlinks. – README states that you can use./steam. Let’s check. * Bin_steamdeps.py – Use Python 3. Python 2 has been retired and is not available in Ubuntu 20.04. Fixes steam for-linux # 66869, # 6534 # bin_steamdeps.py : Use Ubuntu 14.04 graphics backported to 12.04. The Steam client has been removed from 12.04. (Note that the Steam client is no longer supported on 12.04. Print them instead to stderr which is defaulty line-buffered. * Bin_steamdeps.py : Return to the x-terminal emulator. * bin_steamdeps.py – Install libgl1 in place of libgl1_mesa-glx if GLVND is detected.- Libgl1 replaces the transitional package libgl1–mesa–glx which will likely disappear with future releases of Debian/Ubuntu. Bin_steamdeps.py – Remap package names. This is much simpler and what we really need. * bin_steamdeps.py – Explicitly depends on amd64-libc and the GL stack*. However, Steam says it doesn’t need python apt. Part of steam-for Linux# 66869, # 66634. * Debian: We request python apt but it doesn’t appear to be used. The bin_steamdeps.py command calls for the apt subprocesses. Part of steam-for Linux # 66869, # 66634 # debian: Recommendation xdg_utils except for SteamOS. (Fixes Steam-for-linux # 2220 # debian) Build-Depends on dh–python. * d/control – Build-depend on Perl for prove(1) – This is used for QA checks. * Move bootstrap and version checks from Makefile into tests/* check_version.sh: Cope with epoch and/or suffix in package version* Import steam-devices udev rules from https://github.com/ValveSoftware/steam-devices/ as a subproject:- add ZeroPlus P4 (hitbox) hidraw device, 0c12:0ef6* Add brief details of the subprojects and their bug reporting addresses* d/copyright: Add copyright/licensing details for some open-source parts of this package* Add some .gitignore files* Remove references to steamrepo@list.valvesoftware.com. The mailing list is no longer available. * d/README.source. Add documentation to maintainers. Ship a reliable binary-blob key taken from 1.0.0.61. – This is installed into /etc so that it doesn’t matter if the key changes each time we build the package. Freeze it at a known-good version, and document how to regenerate it in debian/README.source.