Docker support - #91
Conversation
For future patches to add an alternative docker mode. No effective changes to guts of the function.
For maximal compatibility
Windows bash shells still want LF, git's default autocrlf behavior just breaks things for users there.
Need a blank line here to delineate the empty header with the armor data
This was originally only logging things inside the chroot, was promoted to logging the whole script -- but now needs to be more careful about temp name choosing
Add --extra-bootstrap to setup_docker.sh Ensure dockerfile runs extra bootstrap after normal bootstrap step to avoid negating caching (re-running the build with different extra bootstrap arguments should be fully cached up to the last step)
|
@Nephyrin Any way I can help get this going? I already started looking at docker support for https://github.com/ValveSoftware/Proton since I hate the current build environment work cycle. |
| # | ||
| # ... Followed by the necessary gpg and sha256sum commands to ensure the image checksum & signature | ||
| # matches ./ubuntu-cloud-key.txt (see verify() below) | ||
| # |
There was a problem hiding this comment.
Does this need to be reworked to match the new imported file ubuntu-archive-keyring.gpg instead? CC @smcv
There was a problem hiding this comment.
If that keyring has the cloud signing key in it, we can skip the lines to make a keyring for gpgv and just reference it. Though if we're adding the cloud signing key to the same bundle, we may be teaching apt more keys than it should expect to see on package signatures.
There was a problem hiding this comment.
No, the cloud image signing key and the archive signing key are probably different - at least, Debian uses different keys to sign CD images and the apt archive, I'd expect Ubuntu to do similar.
We want to assert that apt archives (Release.gpg, really) are signed with the (old) archive signing key, and that cloud images are signed with the cloud image signing key.
| =uSQO | ||
| -----END PGP PUBLIC KEY BLOCK----- | ||
| heredoc | ||
| ) | apt-key add - |
There was a problem hiding this comment.
What public key is this? I think it would probably be clearer to bundle a copy of ubuntu-archive-keyring.gpg or valve-archive-keyring.gpg or whatever is appropriate, in binary OpenPGP format ("GPG key public ring" as produced by gpg --export, similar to what's in /usr/share/keyrings), and drop it in /etc/apt/trusted.gpg.d/.
apt-key add is vaguely deprecated: the new way to do it is to put a binary OpenPGP keyring in /etc/apt/trusted.gpg.d/.
|
Official Docker support would be great! For those wanting to use Docker in the meantime, I've posted about this on the Steamworks forums before, I've been pushing the steamrt environment to Docker over at Jimbly/steam-runtime-docker. Just updated today with the latest steamrt. I actively use these images for doing my Linux builds (on a Windows host) of my Steam game. When you have a docker image pushed to docker.io, I'd love to give it a trial run and see if it works for my builds =). |
Reorder lines ARG and FROM to prevent Docker from failing with error: "Please provide a source image with `from` prior to commit" Fix installation of packages: resolvconf, time Add generated images to .gitignore file.
Fix steam-runtime dockerfile for Docker 1.13
|
It might be a good idea to rebase this on master - its history is getting rather tangled. |
I'd rather not actually, there are external developers using this and I don't want to force a branch rewrite on them. |
These patches add support for making a docker-based runtime SDK, in addition to the schroot path. This is a more portable path for non-ubuntu hosts, and a more future-proof container solution.
Working on a pass on the readme to explain the options, and clarify the difference between building a 'runtime' and 'SDK' / chroot / etc.
@TTimo and @Plagman will likely be conscripted to CR once that is done