13

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?

3
  • If you find a solution, please let us know, I would also like to do an unattended install of steam. Sep 27, 2014 at 22:03
  • 1
    Nothing as of yet, I contacted steam and they had nothing to recommend either. Sep 27, 2014 at 22:34
  • bugs.debian.org/cgi-bin/bugreport.cgi?bug=772598 The patch attached to this bug fixes this issue for me. The preinst-script in the package cleans the debconf selections before installation. Let's hope the patch is accepted into the package soon.
    – jeekl
    Dec 29, 2014 at 14:29

3 Answers 3

13

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

4

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
2
  • I haven't checked up on this in ages, didn't think to try the latest version. I'll check this out tonight or this weeekend, thanks! Sep 25, 2015 at 13:00
  • But how can you do this without using saltstack? Feb 11, 2018 at 8:18
2

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .