Packaged Steam Installer Binary Mismatch

Asked by corestarfish

Hello

I was comparing the Steam installer file from Valve with the one available on Ubuntu 20.04.
I found the included version is 1.0.0.61 so I located the equivalent package from Valves PPA.
After comparing the Steam executables I realized that they are not same file. You can find them in the links below:

http://security.ubuntu.com/ubuntu/pool/multiverse/s/steam/steam_1.0.0.61-2ubuntu3_i386.deb
or apt download steam
binary: steam_1.0.0.61-2ubuntu3_i386/data/usr/lib/games/steam/steam

https://repo.steampowered.com/steam/archive/precise/steam-launcher_1.0.0.61_all.deb
binary: steam-launcher_1.0.0.61_all/data/usr/lib/steam/bootstraplinux_ubuntu12_32/ubuntu12_32/steam

I also checked the source for that package from Ubuntu and it has a matching binary to the one from Valve. However the final packaged installer ended up with a different binary.

http://security.ubuntu.com/ubuntu/pool/multiverse/s/steam/steam_1.0.0.61.orig.tar.xz
binary: steam_1.0.0.61-2ubuntu3_i386/data/usr/lib/games/steam

I thought it might be a slightly updated version of that installer since after opening the Steam for the first time it tends to update itself. but I have no way of verifying that.

I was wondering why the Ubuntu bundled binary file differs from the one Valve provided in their own PPA?

I would greatly appreciate it if you could look into this.

Kind Regards,

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu steam Edit question
Assignee:
No assignee Edit question
Solved by:
Manfred Hampl
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

I suggest you change the source from "precise" to "stable". There appears to be 3 folders
https://repo.steampowered.com/steam/archive/

Revision history for this message
Best Manfred Hampl (m-hampl) said :
#2

If you look at the buildlog of the Ubuntu package https://launchpad.net/ubuntu/+source/steam/1:1.0.0.61-2ubuntu3/+build/18822101/+files/buildlog_ubuntu-focal-i386.steam_1%3A1.0.0.61-2ubuntu3_BUILDING.txt.gz , you can see that the Debian package build process tries some optimization steps (e.g. running dwz and strip). This removes some parts of the steam executable.
I assume that this is the reason for the differences that you have noticed.
Please don't ask me whether it makes sense to modify a vendor-provided executable file this way.

Revision history for this message
corestarfish (corestarfish) said :
#3

Thank you very much for your answer. I was not aware of the dwz and strip. After checking the logs and running the same strip command on the Valves binary I can confirm that it produces the exact same binary file (with the same checksum) as the one included in Ubuntu repo.
However I believe it would have been better if they had left that file in it's original state.

Revision history for this message
corestarfish (corestarfish) said :
#4

Thanks Manfred Hampl, that solved my question.

Revision history for this message
Manfred Hampl (m-hampl) said :
#5

If you want, you can create a bug report to request that the steam binary remains unchanged.

I assume that the modification required for skipping the steps that modify the file are adding the lines

override_dh_dwz:
override_dh_strip:

to the debian/rules file.

I cannot predict whether such proposal will be followed.

Revision history for this message
corestarfish (corestarfish) said :
#6

This is a good idea.
My main issue with the installer is resolved at the moment.
But I will look into it and hopefully will submit bug report soon.
Thank you for dedicating your time to resolve this matter.