Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gentoo package does not build/install Keybase at /opt/keybase/Keybase #16856

Open
witcheslive opened this issue Apr 5, 2019 · 7 comments
Open

Comments

@witcheslive
Copy link

witcheslive commented Apr 5, 2019

Hello, I am using the official ebuild of keybase and kbfs and while I have the command line working fine (although I did experience an issue already posted #16050 where it does not generate the /keybase mountpoint correctly and I had to create the mount point in ~/.config/keybase to get it to work at all, and eventually download and run a copy of post_install.sh to fix it to where it shows up in /keybase like it should) I cannot get the desktop to work. When I check the desktop logs, I see

/usr/bin/run_keybase: line 121: /opt/keybase/Keybase: No such file or directory

For every attempt to run it. Indeed, there is no Keybase at /opt/keybase/ nor does a freshly updated locate command find the Keybase binary or script.

I am using i3 as my window manager, though as there are no USE flags for this package, it does not seem like it should matter as to whether or not it builds and installs Keybase to the correct location

@heronhaye
Copy link
Contributor

heronhaye commented Apr 5, 2019

This is something you'll have to bring up with the Gentoo maintainers, we don't package Keybase for Gentoo ourselves. That being said, it would be great if Keybase did work out of the box on Gentoo, so if the maintainers have any questions we'll do our best to answer them.

I took a glance at the ebuild files and it seems the KBFS package is still using the old repository so it is very out of date and needs to be updated. Additionally, I didn't see any code for building the GUI binary /opt/keybase/Keybase, perhaps it was never packaged for Gentoo?

Your options for using the gui are

  1. download https://prerelease.keybase.io/linux_binaries/deb/index.html and extract the binary included with the debian package
  2. build it yourself as described in https://github.com/keybase/client/blob/master/packaging/linux/build_binaries.sh#L131-L144. You may also be interested in the code surrounding there, for the desktop icon and systemd units. Please note that this does not build it completely from scratch, and uses a prebuilt Electron binary, and this is likely why it was not included in the ebuild files. If you do want to build it from source code only, you'll need to compile Electron yourself and then use that binary with the build process above.

@witcheslive
Copy link
Author

Filed a bug with Gentoo, cross referencing here:

https://bugs.gentoo.org/682614

@heronhaye
Copy link
Contributor

Sounds good. You should also mention that the KBFS code location has changed to be in keybase/client as descried in the GitHub issue you linked initially. Fixing that will give you the newer versions of KBFS which will autocreate the mount directory if needed (this is just a matter of changing the remote git link and the build command to go build github.com/keybase/client/go/kbfs/kbfsfuse).

Also, a point of clarification: the kbfs mountdir is always located within the user-writable directory in ~/.config or in $XDG_RUNTIME_DIR (if set). In addition to that, the (optional) keybase-redirector binary allows users to use /keybase to access their files as well (and the files are different depending on which user is accessing it). More info at https://keybase.io/docs/linux-user-guide#configuring-kbfs.

As always we're happy to help with any questions.

@eli-schwartz
Copy link
Contributor

If you need additional context for building it, you can take a look at my Arch Linux packaging recipe here: https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/keybase

Of some note is that I patch yarn in order to reduce the amount of network downloads: https://git.archlinux.org/svntogit/community.git/tree/trunk/0001-Don-t-use-electron-to-build.patch?h=packages/keybase
Because I'm not using the npmjs.com version of electron, so I just need to create the dist folder for the app itself.

@msva
Copy link

msva commented Sep 25, 2019

by the way, I've added a "fixed" ebuild in my repo (overlay "mva"), so you can take it from there for now.

@heronhaye
Copy link
Contributor

@msva can you post on the gentoo tracker? https://bugs.gentoo.org/658676
Keybase does not maintain this ebuild.

@bljordan
Copy link

bljordan commented May 30, 2023

This is something you'll have to bring up with the Gentoo maintainers, we don't package Keybase for Gentoo ourselves. That being said, it would be great if Keybase did work out of the box on Gentoo, so if the maintainers have any questions we'll do our best to answer them.

I took a glance at the ebuild files and it seems the KBFS package is still using the old repository so it is very out of date and needs to be updated. Additionally, I didn't see any code for building the GUI binary /opt/keybase/Keybase, perhaps it was never packaged for Gentoo?

Your options for using the gui are

1. download https://prerelease.keybase.io/linux_binaries/deb/index.html and extract the binary included with the debian package

2. build it yourself as described in https://github.com/keybase/client/blob/master/packaging/linux/build_binaries.sh#L131-L144. You may also be interested in the code surrounding there, for the desktop icon and systemd units. Please note that this does _not_ build it completely from scratch, and uses a prebuilt Electron binary, and this is likely why it was not included in the ebuild files. If you do want to build it from source code only, you'll need to compile Electron yourself and then use that binary with the build process above.

Option #1 works fine. Thank you.

sudo echo "app-crypt/keybase fuse" >> /etc/portage/package.use/keybase
emerge -av app-crypt/keybase

wget https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_6.0.2-20220610191041.a459abf326_amd64.deb
ar x keybase_6.0.2-20220610191041.a459abf326_amd64.deb
tar vxf data.tar.xz
sudo cp -R opt/keybase/* /opt/keybase

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants