WalletWasabi: Incorrect location of wasabi binaries inside deb package

General Description

The conventional location for files managed by package manager is /usr. (binaries in /usr/bin, platform-independent data in /usr/share etc) Currently the deb package is putting the files in /usr/local instead. This is especially annoying on Qubes because Qubes mounts a different storage device over /usr/local making whole /usr/local inaccessible from appvm.

How To Reproduce?

  1. Download .deb package
  2. CInstall the package
  3. ls /usr/local/bin
  4. ls /usr/bin

On Qubes

  1. Install deb package in templateVM
  2. shutdown templateVM
  3. run an appVM that’s based on previously modified templateVM
  4. Observe that Wasabi appears to be missing

Operating System

Qubes OS, Debian 9 template

Wasabi Version

1.1.5, downloaded from https://wasabiwallet.io and verified the signature with WoT.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 16 (1 by maintainers)

Most upvoted comments

The package manger is responsible for removing old files and extracting new files properly. If a new package has a file moved it will just remove the old one and extract the new one. Anything related to that can not possibly break. Of course you will need to replace all hard-coded paths if there are such and I still obviously recommend testing it and volunteer to test it - just give me a branch and the build instructions.

Qubes users are bit of an exception because their installation is essentially broken already. They already have to manually adjust every update so changing the path would make it the last update they have to touch.

Another thing is having binary and library directory together. I don’t know if dotnet allows separating them. If not, you can use the same trick I used when packaging BTCPayServer (was too lazy to figure out how to move things): put everything into /usr/lib/wasabiwallet and then create a symlink from /usr/bin/wasabee to the binary. I find this solution perfectly acceptable.

Why would it be risky? The package manager will correctly replace things as with any other update.