wire-desktop icon indicating copy to clipboard operation
wire-desktop copied to clipboard

Wire wont be installed in debian stable 11 (bullseye)

Open Nurmagoz opened this issue 4 years ago • 19 comments

What steps will reproduce the problem?

  1. Go to https://github.com/wireapp/wire-desktop/wiki/How-to-install-Wire-for-Desktop-on-Linux
  2. First issue: wget -q https://wire-app.wire.com/linux/releases.key -O- | sudo apt-key add -
  3. Second issue: sudo apt-get install wire-desktop

What is the expected result?

Replace apt-key and add libappindicator1 to wire repository (not available in debian 11)

What is the actual result?

  1. First issue: wget -q https://wire-app.wire.com/linux/releases.key -O- | sudo apt-key add -

apt-key is deprecated and doesnt work in debian 11 read more:

https://blog.jak-linux.org/2021/06/20/migrating-away-apt-key/

https://www.linuxuprising.com/2021/01/apt-key-is-deprecated-how-to-add.html

  1. Second issue: sudo apt-get install wire-desktop

Even after manually adding wire keys and repo to bullseye there is dependency which is not shipped in bullseye and only available in debian oldstable. (package is libappindicator1)

Hope to see this fixed as soon as possible because debian 11 already released as stable.


After seeing too many comments about this and ignorance from wire devs, I will give the possible solutions to the addressed issues above:

Solving the deprecation of apt-key

  • Download/Install these packages:

sudo apt install apt-transport-https wget

  • Add wire repository in its new formation:
echo "deb [signed-by=/usr/share/keyrings/wire-archive-keyring.key] https://wire-app.wire.com/linux/debian stable main" | sudo tee /etc/apt/sources.list.d/wire-desktop.list
  • Download wire key, Make sure its using the same name defined in the repository (wire-archive-keyring.key)

wget -O wire-archive-keyring.key https://wire-app.wire.com/linux/releases.key

OR

By just going to the key URL: https://wire-app.wire.com/linux/releases.key download it and rename to wire-archive-keyring.key.

  • Add wire key to the defined location in the repository (/usr/share/keyrings) with the same name used for the key (wire-archive-keyring.key):

sudo mv ~/wire-archive-keyring.key /usr/share/keyrings

  • Done

Solving wire installation issue in debian 11 (bullseye)

Easy, Non-loosing functionality (using old repos trick)

  • After adding wire repo and key, go to debian repositories and change them from bullseye to buster in /etc/apt/sources.list: (you can empty the file and add the below repos, security repo is different)
deb https://deb.debian.org/debian buster main contrib non-free
deb https://deb.debian.org/debian buster-updates main contrib non-free
#deb https://deb.debian.org/debian-security bullseye-security main contrib non-free 

deb http://security.debian.org/debian-security buster/updates main
  • Then update and install wire: (DONT use full-upgrade or dist-upgrade or any upgrade command)

sudo apt update && sudo apt install wire-desktop

  • Wait for it to finish reverse back debian repositories from buster to bullseye
deb https://deb.debian.org/debian bullseye main contrib non-free
deb https://deb.debian.org/debian bullseye-updates main contrib non-free
deb https://deb.debian.org/debian-security bullseye-security main contrib non-free 

#deb http://security.debian.org/debian-security buster/updates main
  • Update and upgrade

sudo apt update && sudo apt full-upgrade

  • Done

Medium, Might loose some of the app functionalities (using dummy-package trick)

Since the issue exist because of the missing libappindicator1 package in bullseye, Then lets trick the system and make it believe that this package actually exist:

  • Install the magic tool called equivs

sudo apt install equivs

  • Add this script/configs: (copy/paste it to the terminal and press Enter, Simple as that)
echo "\
Package: libappindicator1-dummy
Provides: libappindicator1
Description: fake mail/libappindicator1
" \
> libappindicator1-dummy.ctl
  • Build it/Run it with equivs

equivs-build libappindicator1-dummy.ctl && sudo dpkg -i libappindicator1-dummy*.deb

  • Install wire-desktop

sudo apt install wire-desktop

  • Done

Note: This method will install wire-dekstop WITHOUT libappindicator1, Meaning whatever functionality the package give you wont have it.

Nurmagoz avatar Aug 28 '21 08:08 Nurmagoz

wget -q https://wire-app.wire.com/linux/releases.key -O- | sudo apt-key add - The apt-key is deprecated but continuous to work in debian 11 as stated in the linuxuprising article you linked.

Workaround in order to install libappindicator1, is to add oldstable in apt/sources.list. That worked for me to install wire again.

rehaut avatar Sep 29 '21 22:09 rehaut

The apt-key is deprecated but continuous to work in debian 11 as stated in the linuxuprising article you linked.

yeah that doesnt mean wire should keep using it.

Workaround in order to install libappindicator1, is to add oldstable in apt/sources.list. That worked for me to install wire again.

very wrong thing to do in debian to mix 2 different versions specially stable and older, if anything is to add it from backport, or testing.

Nurmagoz avatar Oct 01 '21 10:10 Nurmagoz

libappindicator1 as been deleted from Debian because it is not maintained anymore (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895037). The alternative lib (libayatana-appindicator) is known and should be used by wire-desktop developers. Installing libappindicator1 is a workaround which does not solve the main issue: soon, libappindicator1 will not be available in other distro too and the wire-desktop migration should begin.

molusk avatar Oct 25 '21 13:10 molusk

But Ubuntu has libappindicator package even in recent distributions. Maybe because they care about users.

ghost avatar Nov 06 '21 01:11 ghost

libappindicator is deprecated unmaintained, so actually its the opposite ubuntu didnt give a shit about that for their users.

The one to blame is wire devs who just dont know if their stuff which they rely on maintained or not. (between buster to bullseye stable almost 3 years, but they didnt do anything until this happen)

artenaki: But Ubuntu has libappindicator package even in recent distributions. Maybe because they care about users.

Nurmagoz avatar Nov 06 '21 09:11 Nurmagoz

And in Mageia 8+ they got rid of python 2 completely. Now there are constant complaints on French forums that old necessary software has also been removed from repository. Which depends on python 2.

A newbie comes to forum. And answer is "there's nothing we can do, python 2 is obsolete, it was removed". I've read many times such messages. That doesn't seem to me to be caring.

ghost avatar Nov 06 '21 11:11 ghost

Ubuntu vs Debian is not the subject hère. The fact is this lib is deprecated and not available in debian is an issue. It is available elsewhere, good for you. You prefer ubunutu, arch, gentoo or even windows 11 ? This is not the subject here.

The lib is deprecated and will disapear from any other distro soon. The alternative lib is known, wire should switch to that one. There is no other option unless you want to have to compile the lib for your distro in a few weeks/month/years ?

molusk avatar Nov 06 '21 16:11 molusk

can confirm is still a problem :\

mfc avatar Feb 20 '22 14:02 mfc

wire seems to be dead app, just some nice interface for the website but bullshit development app.

Michael Carbone:

can confirm is still a problem :\

Nurmagoz avatar Feb 21 '22 16:02 Nurmagoz

The Wire client app was inherently bloated garbage from day 1 due to being electron-based. This Mastodon toot captures the problem well:

Electron-based apps each take a whole browser instance

  1. It pulls an entire web browser, for each application you install.
  2. It completely demolishes immersion as none of the applications look like the rest of your OS.
  3. it's lazy. JavaScript developers don't want to learn a better language for the job so they resort to electron.
  4. It's just madness, a fractal of bad design.

I was instantly disturbed when a Debian migration broke Wire. But after further thought I’ve come to see the bug report herein as an attempt to keep a junk app relevant. It needs to die.

Wire users need a whole new app built from the ground up by different developers. Architecturally there needs to be a Wire library and minimal text-based front end, an IRSSI-Bitlebee plugin for just text msgs, as well as a separate GUI front-end that uses the same library which is feature rich but without bloating in whole web browser.

Until that happens I will continue to steer people away from Wire. There are also some quite serious defects like text msgs not being received in the phone app but they appear in a very old version of the desktop app. The silent dropping of text messages is about as serious as a defect in comms software can get.

bruceleerabbit avatar Mar 01 '22 08:03 bruceleerabbit

Any fix for this yet? Debian 11 was released 2021-12-18 = about 3 months ago. Debian 10 will EOL in ~5 months.

Does anyone have the workaround steps documented? I tried this, but it failed (note I'm using Debian 11 in QubesOS):

cat << EOF > /etc/apt/sources.list.d/buster.list
# adding this just for wire https://github.com/wireapp/wire-desktop/issues/5270
deb [arch=amd64] https://deb.qubes-os.org/r4.1/vm buster main
EOF

apt-get update
apt-get install -t buster libappindicator1

Here's the error

root@debian-11:/etc/apt/sources.list.d# sudo apt-get install -t buster libappindicator1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libappindicator1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libappindicator1' has no installation candidate
root@debian-11:/etc/apt/sources.list.d# 

maltfield avatar Mar 09 '22 19:03 maltfield

(note I'm using Debian 11 in QubesOS)

easy solution on QubesOS is just keep a debian 10 template around for wire, that's what i do. we'll see what happens in 5 months...

another idea would be to install the flatpak version. maybe it works on debian 11 (haven't tried). if you wanna explore flatpak Qube Apps is a nice tool to manage it.

mfc avatar Mar 09 '22 22:03 mfc

Unfortunately I have a new QubesOS install that doesn't include Debian 10. In apt, all packages' integrity and authenticty are verified cryptographically by checking the signature of the manifest.

  • https://security.stackexchange.com/questions/246425/does-apt-get-enforce-cryptographic-authentication-and-integrity-validation-by-de

Flatpak is an interesting idea, but how do I cryptographically verify the authenticity and integrity of the flatpak release after download and before install? I couldn't find any documentation on flatpak's website that suggests these checks are built-into flatpak.

  • https://security.stackexchange.com/questions/259088/does-flatpak-enforce-cryptographic-authentication-and-integrity-validation-by-de

maltfield avatar Mar 10 '22 18:03 maltfield

Unfortunately I have a new QubesOS install that doesn't include Debian 10.

run sudo qubes-dom0-update qubes-template-debian-10 in dom0

https://www.qubes-os.org/doc/templates/debian/#installing

mfc avatar Mar 10 '22 18:03 mfc

Guys i have added to the ticket above the solution/workaround on how to add wire keys in the new/recommended method and how to install wire-dekstop in bullseye using 2 methods (use the one which suits you).

Hope you find it helpful/useful

Nurmagoz avatar Mar 10 '22 23:03 Nurmagoz

@TNTBOMBOM your advice to "go to debian repositories and change them from bullseye to buster in /etc/apt/sources.list" is potentially very harmful. This results in all new installations on the user's system using the old version (from buster) instead of the new version (from bullsye).

Instead the user should leave the bullseye related lines alone, and simply add buster. This results in libappindicator1 being installed from buster but all other packages being installed from bullseye, where it is possible to do so.

ln2max avatar Mar 15 '22 12:03 ln2max

@TNTBOMBOM your advice to "go to debian repositories and change them from bullseye to buster in /etc/apt/sources.list" is potentially very harmful. This results in all new installations on the user's system using the old version (from buster) instead of the new version (from bullsye).

If you installed it from buster then reverse to bullseye then update/upgrade = same thing, all of your packages going to be upgraded if new versions exist in bullseye. (which is what i wrote above, because even though buster is older than bullseye but both are still maintained by upstream)

If you want the real safe way its not by how to add old repositories but by not adding/mixing repositories at all (old stale-stable , stable-testing..etc), which is what i have explained in equivs tool if someone want to use this method.

Nurmagoz avatar Mar 21 '22 22:03 Nurmagoz

same problem when updating to Ubuntu 22.04 thanks for wire! I hope to be able to use it again :)

rosa2 avatar Jun 07 '22 18:06 rosa2

thanks @TNTBOMBOM it worked :) please update the documentation in https://github.com/wireapp/wire-desktop/wiki/How-to-install-Wire-for-Desktop-on-Linux#installation-on-debian-based-distributions=

thanks

rosa2 avatar Jun 07 '22 18:06 rosa2

It is fixed with debian 10.5. They now provide compatibility for software that depends on libappindicator via libayatana-appindicator

mythsunwind avatar Oct 12 '22 16:10 mythsunwind

It is fixed with debian 10.5.

Did you mean 11.5?

maltfield avatar Oct 13 '22 21:10 maltfield

closed the ticket? what a joke developers lol

Nurmagoz avatar Oct 17 '22 15:10 Nurmagoz