protonscr

Port steam client deb to python3

steamclosed Valve-provided steam package
ValveSoftware/steam-for-linux#6634 · opened 2019-10-31 by BryanQuigley · updated 2020-04-09 · 8 comments · github
BBryanQuigley 2019-10-31 github

Your system information

  • Steam client version (build number or date): steam-launcher 1.0.0.61
  • Distribution (e.g. Ubuntu): Ubuntu 19.10
  • Opted into Steam client beta?: [No]
  • Have you checked for system updates?: [Yes]

Please describe your issue in as much detail as possible:

Steam client deb should switch to python3 as python2 is no longer installed by default.

While changing that, you could also remove Recommends: jockey-common as that package no longer exists.

Steps for reproducing this issue:

  1. Download steam_latest.deb from website on to Ubuntu machine without python2 (all newer Linux distros..)
  2. Fails to install, needs to run sudo apt-get -f install to install python2 after to get full dependencies python

I believe if it was dependent on python3 it would not require any other dependencies on a default Ubuntu install for a nicer experience.

Kkattjevfel 2019-11-05 github

Also worth mentioning Python 2 is EOL in just under 2 months. https://pythonclock.org/

Ssmcv 2020-04-08 github

Launcher version 1.0.0.62 (currently considered to be a beta, because there are quite a lot of changes since 1.0.0.61) uses python3. Please try it, and report a separate issue for any regressions: https://repo.steampowered.com/steam/archive/precise/steam-launcher_latest-beta_all.deb

BBryanQuigley 2020-04-09 github

Seemed to work flawlessly on Xubuntu 20.04 - much nicer experience. Removing Jockey could still be done and use https for the archive. But those are not the title of this issue so this is fixed. Thanks!

Ssmcv 2020-04-09 github

While changing that, you could also remove Recommends: jockey-common as that package no longer exists.

Do you have any more context for what this package does/did, and when it went away? It isn't clear to me how necessary it might be on older Ubuntu releases.

and use https for the archive

We do now have https for non-apt-based uses of repo.steampowered.com (like the direct link to the beta .deb, above). It isn't currently set up to redirect from http to https, but might do that at some point in future.

For apt specifically, I'm not sure that https actually helps anything. The purpose of https is normally to give you integrity and confidentiality protection.

Integrity protection when updating from the apt repository is provided by secure-apt (a GPG signature on the Release file, validated against a public key in /etc/apt/trusted.gpg.d, with a hash-based chain-of-trust down to individual files): it's mechanically the same as the official Debian and Ubuntu repositories, although obviously with a Valve signing key rather than a Debian/Ubuntu key.

Confidentiality protection isn't particularly useful or effective for a public server containing a relatively small number of resources of known size: even with https, an attacker with access to your network traffic could tell you're downloading something approximately the size of steam-launcher.deb from repo.steampowered.com, and draw the obvious conclusion.

The down side of https for apt is that it makes it harder to go via a caching proxy like apt-cacher-ng.

Ssmcv 2020-04-09 github

The down side of https for apt is that it makes it harder to go via a caching proxy like apt-cacher-ng

... and in older Debian/Ubuntu releases, you can't use it at all, unless you have first installed apt-transport-https (which wasn't traditionally installed by default).

BBryanQuigley 2020-04-09 github

Jockey - was the "Additional Drivers" for 12.04 and below. - https://launchpad.net/ubuntu/+source/jockey (I believe it was only on Ubuntu and 12.04 is long unsupported for desktops).

For apt specifically, I'm not sure that https actually helps anything. The purpose of https is normally to give you integrity and confidentiality protection.

Defense in depth. What happens when the next apt vulnerability happens. .like https://lists.debian.org/debian-security-announce/2019/msg00010.html

For the steam deb I don't see the mirroring be an issue.

and in older Debian/Ubuntu releases, you can't use it at all, unless you have first installed apt-transport-http
It appears Ubuntu is good to go (16.04 and above include it by default. Debian however does not appear to include it in the newest release (at least with the LXD image). I'd be happy to write up some code to only use https if that package is installed already (do you have a git repo I can make a PR too?).

Ssmcv 2020-04-09 github

In newer versions of apt (1.6+), https support is integrated into the apt package; this covers at least Debian 10. It's the older versions (Debian 9, SteamOS 2) that are more of a concern.

Depends: apt (>= 1.6) | apt-transport-https might work, although we'd need to test it on older distributions.

Ssmcv 2020-04-09 github

Jockey - was the "Additional Drivers" for 12.04 and below

Thanks, that does look like something that can be dropped. Steam doesn't work on Ubuntu 12.04 any more in any case, and anyone still using Ubuntu 12.04 had better know what they're doing...

Nothing extracted yet.