10

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?

| improve this question | | | | |
  • If you find a solution, please let us know, I would also like to do an unattended install of steam. – Zauberfisch Sep 27 '14 at 22:03
  • 1
    Nothing as of yet, I contacted steam and they had nothing to recommend either. – Joseph Kahn Sep 27 '14 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 '14 at 14:29
2

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
| improve this answer | | | | |
  • 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! – Joseph Kahn Sep 25 '15 at 13:00
  • But how can you do this without using saltstack? – Philipp Ludwig Feb 11 '18 at 8:18
4

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

| improve this answer | | | | |
1

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
| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.