Installing SIP client Blink on Debian 11

Blink is my favourite SIP client. I’ve used in on macOS for years, and I’m pleased it is also available for Debian.

Installation instructions for Debian are here.

Importing the key

Installing the signing key is fine.

Update 2023-04-08: it was not fine when I went to reinstall blink.

I got an error message saying:

W: GPG error: https://ag-projects.com/debian bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F74046C316D8F9F5

I tried importing the key with:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv F74046C316D8F9F5

This did process and import the key, but the error message persisted.

I ended up forcing apt to trust the repository, but adding [trusted=yes] after deb/deb-src in the repository list.

Adding the repository

In terms of adding the repository, I did two things differently.

First, the instructions say:

Depending on your Linux OS version add the following lines to /etc/apt/sources.list:

My preference - and it is only a preference - is not to have one massive sources.list file. So I prefer to add the repository information to a custom file, in /etc/apt/sources.list.d/. For example, blink.list: /etc/apt/sources.list.d/blink.list. I just find it easier to manage/maintain.

In terms of the repositories, the official instructions still show Debian 10 / Buster as being “stable”:

deb    http://ag-projects.com/debian buster main 
deb-src http://ag-projects.com/debian buster main

Fortunately, one can replace buster with the actual current stable version, bullseye, and it works fine:

deb    http://ag-projects.com/debian bullseye main 
deb-src http://ag-projects.com/debian bullseye main

Once you’ve added the repositories, it’s the normal routine of:

sudo apt update

to ingest information from the new repository, then

sudo apt install blink -y

to install blink.

It pulls in a lot of dependencies:

  libavahi-compat-libdnssd1 libc-ares2 libev4 libtcl8.6 libtk8.6 libvncclient1
  python-gmpy2-common python3-application python3-attr python3-automat
  python3-bcrypt python3-cachetools python3-click python3-colorama
  python3-constantly python3-dateutil python3-dnspython python3-eventlib
  python3-fasteners python3-formencode python3-gevent python3-gmpy2
  python3-gnutls python3-google-auth python3-google-auth-httplib2
  python3-googleapi python3-greenlet python3-hamcrest python3-hyperlink
  python3-incremental python3-monotonic python3-msrplib python3-oauth2client
  python3-openssl python3-otr python3-pyasn1 python3-pyasn1-modules
  python3-pydispatch python3-pyqt5.qtsvg python3-pyqt5.qtwebkit
  python3-requests-toolbelt python3-rsa python3-service-identity
  python3-sipsimple python3-sqlalchemy python3-sqlalchemy-ext
  python3-sqlobject python3-twisted python3-twisted-bin python3-uritemplate
  python3-xcaplib python3-zope.event python3-zope.interface sqlobject-admin
  tcl tcl8.6 tk tk8.6 x11vnc

And, once done, you are good to go!