How can I accept the Lience agreement for steam prior to apt-get install?
I'm currently fiddling around with using ansible to setup my machine with my chosen configuration/apps etc... I've hit a stumbling block with steam and it's licence agreement. I've been trying to use debconf to pre-accept it.
Here's one of the relevant files in the steam source: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/steam/utopic/view/head:/debian/preinst
I've tried echo steam steam/question select "I AGREE" | sudo debconf-set-selections
and a whole bunch of other very similar command also involving trying to set the licence as seen.
Here's the output of sudo debconf-show steam
:
steam/purge:
* steam/license:
* steam/question: I AGREE
Everything I've tried has led to apt-get thinking I've pre-disagreed to the licence agreement and I have to remove those entries before I'm able to install steam. Does anyone have any ideas?
As stated in the original question you can simply use the command line to set the required values before you attempt to install Steam.
echo steam steam/question select "I AGREE" | sudo debconf-set-selections
echo steam steam/license note '' | sudo debconf-set-selections
It is likely there was a bug in the package (packaging is notoriously hard if it isn't your primary responsibility) and later versions should now work and read the pre-accepted license from the debconf database. This means you shouldn't get prompted.
sudo apt-get install steam
The typical format is below:
echo package package/key {boolean,string} {true, some string} | sudo debconf-set-selections
sudo apt-get install package
The helpful Q&A for this was https://unix.stackexchange.com/a/106553
Using your research and the link provided in the comments of your post, I figured this out. As of 15.04 (on 2015-09-24), the steam package in the Ubuntu repositories is still 1.0.0.48, but you need 1.0.0.50 to properly read the debconf settings.
I found that the steam.deb you can download from the Steam downloads page is 1.0.0.50, so if you install from this file, with the debconf settings, it should work.
I use saltstack, and here is my working state for steam:
steam:
debconf.set:
- data:
steam/question: {'type': 'select', 'value': 'I AGREE'}
steam/license: {'type': 'note', 'value': ''}
pkg.installed:
- sources:
- steam-launcher: https://steamcdn-a.akamaihd.net/client/installer/steam.deb
- require:
- debconf: steam
5 years late, but I have the following ansible tasks that seems to work with Debian 9 and 10, tested with molecule and docker.
Provided you have already setup a device with x11 and mesa/preferred graphics drivers, something like this could work:
- name: Add i386 arch
command: dpkg --add-architecture i386
- name: accept steam license
debconf:
name: "steam"
question: "steam/question"
value: "I AGREE"
vtype: "select"
- name: Install steam
apt:
name: steam
update_cache: yes
state: present