Nexusoft / NexusInterface

The official Logical and Interface layers of the Nexus Software Stack.
https://crypto.nexus.io/wallet
MIT License
32 stars 12 forks source link

nexus_wallet-Linux-1.2.0.deb problem with gir1.2-gnomekeyring-1.0 #80

Closed github12101 closed 5 years ago

github12101 commented 5 years ago

I am opening this so #56 can be closed.

In Debian 10 Buster, nexus_wallet-Linux-1.2.0.deb depends on uninstallable package nexus_wallet-Linux-1.2.0.deb:

# dpkg -i nexus_wallet-Linux-1.2.0.deb 
Selecting previously unselected package nexus-wallet.
(Reading database ... 287657 files and directories currently installed.)
Preparing to unpack nexus_wallet-Linux-1.2.0.deb ...
Unpacking nexus-wallet (1.2.0) ...
dpkg: dependency problems prevent configuration of nexus-wallet:
 nexus-wallet depends on gir1.2-gnomekeyring-1.0; however:
  Package gir1.2-gnomekeyring-1.0 is not installed.

dpkg: error processing package nexus-wallet (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for desktop-file-utils (0.23-4) ...
Processing triggers for mime-support (3.62) ...
Errors were encountered while processing:
 nexus-wallet

In Linux FAQ, we can read solution for this:

Can not install gir1.2-gnomekeyring-1.0

gnomeKeyring has been deprecated but is still being required by electron 5 you must remove this dep from the package

To do this unpack the deb. Unpack of the control archive. Remove the dependency from the control file repackage the control.tar.gz repackage deb

However, I believe better solution is to force install the package, not to repackage .deb. How to repackage .deb anyway? I don't know, never had a need for that to be honest. Is that what we expect of Nexus Official wallet users?

Nexus-wallet can be force installed with command: dpkg -i --force depends nexus_wallet-Linux-1.2.0.deb

It will say:

 nexus-wallet depends on gir1.2-gnomekeyring-1.0; however:
  Package gir1.2-gnomekeyring-1.0 is not installed.

And will go ahead and install regardless, nice and clean.

Other Debian workaround, use of "# sysctl kernel.unprivileged_userns_clone=1" also works perfectly.

github12101 commented 5 years ago

Just tested, --force install of the package breaks installing further packages until previous problem is solved (or nexus removed), so it's even worse. Can this deb be repackaged properly without broken dependency?

KenCorma commented 5 years ago

Yes you can repackage it no problem. after modifying the control tar you would repackage like this ar rcs newpackage.deb debian-binary control.tar.gz data.tar.gz

However I have made a change that will manually set the depends when creating the deb build. I am not sure if this is is a long term solution as we would have to make sure if any depends change that we change the list in the package.json . But I hope we can use this to be a stop gap between when they fix the issue with electron builder.

KenCorma commented 5 years ago

I am going to close this for now but lets keep the conversation going.