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?
- Download .deb package
- CInstall the package
ls /usr/local/bin
ls /usr/bin
On Qubes
- Install deb package in templateVM
- shutdown templateVM
- run an appVM that’s based on previously modified templateVM
- 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)
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.