Iridium Browser in Devuan 🔼

Iridium Browser is a fork of Chromium, Google's open-source variant of their own Chrome browser. As stated on Iridium's official website, the project makes modifications to Chromium's code in order to increase security and protect users' privacy.1

Debian binary packages of Iridium Browser are currently only provided for 64-bit architectures.2 So, if you're on a 32-bit machine, you won't be able to install pre-compiled packages from Iridium's Apt repository. Instead, you will have to download Iridium's source package and build the binary from that.

You can, of course, also build Iridium "from the vanilla sources" directly, but that is beyond the scope of this document.

This document describes:

  • how to install pre-compiled binary packages from the Iridium project's Apt repository (64-bit only)
  • how to compile binary packages from the source package in Iridium's deb-src repository that can later be installed through Apt
  • Note: Building Iridium Browser from source does not work on Devuan 1.x (Jessie) due to unsatisfiable build dependencies.
  • Note: When last tested, even Iridium's pre-compiled packages did not work on 1.x (Jessie) -- which is equivalet to Debian 8.x/Jessie --, due to unsatisfiable dependencies. (Investigate, then maybe contact Iridium developers about that.)
  • Todo: How to remove DRM when building from source.

1. General setup 🔼

1.1 Get the Iridium Browser package signing key 🔼

Before you add the Iridium repository to your Apt sources, you should get the Iridium project's package signing key and add that to Apt's list of trusted keys, so that packages downloaded from that repository can be verified.

Get the key:

wget https://downloads.iridiumbrowser.de/ubuntu/iridium-release-sign-01.pub

Add it to Apt's trusted key list (This requires superuser privileges.):

su
apt-key add iridium-release-sign-01.pub

The downloaded key file can now be removed.

1.2 Install apt-transport-https 🔼

Iridium's Apt repository uses https, which Apt doesn't support by default. So, you will have to install apt-transport-https to be able to use it:

apt-get install apt-transport-https

Alternatively, the Iridium browser repository also supports plain http so the source file can be adjusted:

sed -i 's/https/http/' /etc/apt/sources.list.d/iridium-browser.list

2. Installing a pre-compiled binary package (2.x/ASCII, Ceres, 64-bit only) 🔼

2.1 Add the repository to your Apt sources 🔼

To add the Iridium repository to your Apt sources, first create a file iridium-browser.list (or whatever you choose to name it instead) in the /etc/apt/sources.list.d directory:

touch /etc/apt/sources.list.d/iridium-browser.list

Now you can open that file in your favorite text editor and put the following lines into it:

# Iridium Browser
deb [arch=amd64] http://downloads.iridiumbrowser.de/deb/ stable main
  • Note: Beware that writing this file requires superuser privileges. As a recommendaton: Just run nano /etc/apt/sources.list.d/iridium-browser.list from the command line after the touch command.
  • Note: You can, of course, also put the repository URLs into /etc/apt/sources.list directly, if you prefer that.

2.2 Update the package database and install the package 🔼

Now you can update the package database and install the iridium-browser package:

apt-get update
apt-get install iridium-browser

3. Building a binary package from Iridium's deb-src package 🔼

3.1 Add the deb-src repository to your Apt sources 🔼

To add Iridium's deb-src respository to your Apt sources, first create a file iridium-browser.list (or whatever you choose to name it instead) in the /etc/apt/sources.list.d directory, if it doesn't exist already:

touch /etc/apt/sources.list.d/iridium-browser.list

Then add the following line to it:

deb-src https://downloads.iridiumbrowser.de/deb/ stable main

Update the package database:

apt-get update

3.2 Install the build dependencies 🔼

  • ( to be done before getting the source package, since apt-get source will need dpkg-dev (to apply what?))

Generally, building a binary package from a Debian source package requires installing/having installed:

  • build-essential (why? compiler etc.)
  • fakeroot (explain why. and: isn't this being pulled in by build-essential?)
  • devscripts (in this case, to append a custom version string to the package with dch -l "$string" later (probably not only that))
  • build dependencies of the specific package in Devuan

Now, Iridium is not in Devuan. But as Iridium is a fork of Chromium, we can do with simply installing Chromium's build dependencies:

apt-get build-dep chromium-browser

3.3 Get the source package 🔼

  • Note: The following should better be done as a normal user inside that user's home dir. apt-get source <package> doesn't require superuser privileges.
# cd /usr/local/src
# apt-get source iridium-browser
Reading package lists... Done
Building dependency tree... 
Reading state information... Done
Need to get 829 MB of source archives.
Get:1 https://downloads.iridiumbrowser.de/deb/ stable/main iridium-browser 2017.10-1iridium0 (dsc) [1766 B]
Get:2 https://downloads.iridiumbrowser.de/deb/ stable/main iridium-browser 2017.10-1iridium0 (tar) [829 MB]
Get:3 https://downloads.iridiumbrowser.de/deb/ stable/main iridium-browser 2017.10-1iridium0 (diff) [572 kB]
Fetched 829 MB in 3min 4s (4497 kB/s)

ls
iridium-browser-2017.10
iridium-browser_2017.10-1iridium0.dsc
iridium-browser_2017.10-1iridium0.debian.tar.gz
iridium-browser_2017.10.orig.tar.gz

3.4 Append a custom version string 🔼

cd iridium-browser-2017.10/
dch -l "~my_build-0"
Select an editor.  &nbsp;To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.tiny

Choose 1-2 [1]:  

This will open a package info file in the selected editor. You can just close that as the verison string has already been added.

  • So why have the file opened at all? Is there an option in dch, to make it not open the file?

3.5 Build the binary 🔼

To build the binray package, run dpkg-buildpackage from inside Iridum's source directory, where you should already be (See man dpkg-buildpackage for details.):

dpkg-buildpackage -rfakeroot -us -uc -b

This operation will fail with dpgk-buildpackage complaining about unmet build dependencies:

dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package iridium-browser
dpkg-buildpackage: info: source version 2017.10-1iridium0~msi01
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by root <root@devuan>
dpkg-buildpackage: info: host architecture i386
dpkg-source --before-build iridium-browser-2017.10
dpkg-checkbuilddeps: error: Unmet build dependencies: dh-buildinfo g++-5 libprotobuf-dev protobuf-compiler xdg-utils libgtk-3-dev libva-dev libxkbcommon-dev chrpath
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

Install what's missing: The problem here is that Iridium requires g++-5, which is neither in 1.x/Jessie, nor in 2.x/ASCII (which has g++-6). So, first, just install everything but g++-5:

apt-get install dh-buildinfo libprotobuf-dev protobuf-compiler xdg-utils libgtk-3-dev libva-dev libxkbcommon-dev chrpath

And then take the advice given in the last warning message printed by dpkg-buildpackage: "Use -d flag to override." Building with g++-6 should be ok when 5 is required, so:

dpkg-buildpackage -rfakeroot -us -uc -b -d

Running this command results in the following error:

### configure
sed -e 's/@BUILD_DIST@/Devuan testing/unstable/g' \
    -e 's/@BUILD_DIST_NAME@/Devuan/g' \
    -e 's/@BUILD_DIST_VERSION@/testing/unstable/g' \
    -e 's/@UPSTREAM_VERSION@/2017.10/g' \
    debian/iridium-browser.sh.in > debian/iridium-browser.sh
sed: -e expression #1, char 31: unknown option to `s'
debian/rules:443: recipe for target 'debian/iridium-browser.sh' failed
make[1]: *** [debian/iridium-browser.sh] Error 1
make[1]: Leaving directory '/usr/local/src/iridium-browser-2017.10'
debian/rules:284: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

The problem has been reported on Iridium's issue tracker on Github: https://github.com/iridium-browser/tracker/issues/198

3.6 Install the package 🔼

apt-get install /path/to/package

Note: You need to explicitly specifiy the path as ./<package> if you want to install a package from your current working directory.

4. More about Iridium Browser 🔼


  1. https://iridiumbrowser.de/about

  2. Oxford Advanced Learner's dictionary of Current English, 6th edition, OUP 2000, p. 572