keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.91k stars 1.23k forks source link

keybase Gentoo install Guide (wip) #10998

Open necrose99 opened 6 years ago

necrose99 commented 6 years ago

emerge -av app-crypt/keybase app-crypt/kbfs cli installs , only at present.

GUI is not packaged in Ebuild , a build GUI article could be of use...

, dev-util/electron , & app-eselect/eselect-electron if you have multiple electron installs , Manages sym-links..

git clone https://github.com/keybase/client.git /gui ? , and build with electron....

nicolasbock commented 6 years ago

@necrose99 Have you tried building the GUI? Did you run into any issues?

necrose99 commented 6 years ago

I was curious were the gui bits are in wiki , however an article on building with Electron etc I didn't find much for building keybase from src... or at least much.. on how too's etc. if I have a gui build guide i'll use it ,

https://github.com/stanfieldr/ghetto-skype pretty much follow the guide and done...
not terribly hard. , however a clear cut gui build guide for keybase i find not, or at least wanting of a quick and dirty...

anyhow a cd into dir ??? npm install npm run dist electron-builder

eli-schwartz commented 6 years ago

10546

webknjaz commented 5 years ago

It looks like there's some prior art available @ dmchurch overlay: https://gpo.zugaina.org/app-crypt/keybase-bin Ref: https://github.com/dmchurch/portage-overlay/blob/master/app-crypt/keybase/keybase-9999.ebuild

msva commented 5 years ago

or you can just install it from "mva" overlay (WIP about moving it to the main Gentoo repo)

kojiromike commented 5 years ago

If anyone else runs across this, gentoo/gentoo@a070e9f removes app-crypt/kbfs as a dependency of app-crypt/keybase. I didn't notice kbfs being cleaned at first, until I started seeing fatal: Unable to find remote helper for 'keybase' and indeed /usr/bin/git-remote-keybase was no longer installed. Directly installing kbfs into the worldfile resolved the issue.

eli-schwartz commented 5 years ago

@kojiromike that sounds like a bug in Gentoo, since it doesn't seem wise to entirely remove kbfs as a dependency (in my distro package I have it as an optdepends) and the commit message provided there is certainly highly illegitimate. Kbfs itself is definitely not "obsolete", and removing the depends from app-crypt/keybase on the grounds that kbfs is "in the client tree" without, um, actually building it in the client tree now that it isn't a separate component... seems very suspicious and weird.

@nicolasbock please explain.

msva commented 5 years ago

@eli-schwartz @nicolasbock did that because separate kbfs in gentoo was based on old out-of-source-tree kbfs code (from separate repository).

And, I guess, he also did that as a preparation of merging my work: https://bugs.gentoo.org/658676#c7 https://github.com/msva/mva-overlay/blob/master/app-crypt/keybase/keybase-4.5.0.ebuild

It enables/disables kbfs as USE-flag during installation of main package.

eli-schwartz commented 5 years ago

Hmm :( it seems like the separate package could simply be updated to use a new source url.

At any rate I strongly encourage downstream packagers to watch https://github.com/keybase/client/blob/master/packaging/linux/build_binaries.sh as it will always reference the necessary steps for building. There really does not have to be issues where components get out of date.

nicolasbock commented 5 years ago

@eli-schwartz , my reasons for the removal of kbfs were just as @msva summarized. I'll revisit the shell script you reference to iron out the issues the package is exhibiting right now.

When you write "it seems like the separate package could simply be updated to use a new source url" are you referring to use the kbfs included inside the client repository? Who else but the client would/could consume it?

eli-schwartz commented 5 years ago

What I mean is it should be theoretically possible to have two packages (keybase, and kbfs) which both build from the same SRC_URI. The fact that Gentoo's package manager supports USE flags to build only part of a package doesn't mean you must use it?

I'd probably have updated the kbfs ebuild to reference the new source and thus get the ebuild working again as soon as possible, and then afterwards merge the ebuilds together via @msva's proposed update.

necrose99 commented 4 years ago

emerge -bav app-crypt/keybase app-crypt/kbfs sys-apps/yarn (-b --buildpkg , a ask v verbose... )

version 9999 will get the latest git and build,... which uses yarn for gui..

sysfu commented 1 year ago

emerge -bav app-crypt/keybase app-crypt/kbfs sys-apps/yarn (-b --buildpkg , a ask v verbose... )

version 9999 will get the latest git and build,... which uses yarn for gui..

Tried this today and all packages are currently masked

$ sudo emerge -bav app-crypt/keybase app-crypt/kbfs sys-apps/yarn

| snipped local copies msgs |

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
Dependency resolution took 1.82 s.

!!! All ebuilds that could satisfy "app-crypt/keybase" have been masked.
!!! One of the following masked packages is required to complete your request:
- app-crypt/keybase-9999::gentoo (masked by: missing keyword)
- app-crypt/keybase-6.0.2::gentoo (masked by: ~amd64 keyword)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
nicolasbock commented 1 year ago

You will have to add the following:

$ cat /etc/portage/package.accept_keywords/keybase.conf 
=app-crypt/keybase-6.0.2 ~amd64
=app-crypt/keybase-9999 **
necrose99 commented 1 year ago

https://gpo.zugaina.org/Search?search=keybase https://gpo.zugaina.org/app-crypt/keybase-bin overlay version , all in one

gentoo defactoos app-crypt/kbfs app-crypt/keybase

sysfu commented 1 year ago
etc/portage/package.accept_keywords

Is the /etc/portage/package.accept_keywords/ directory supposed to be there by default or do I need to create it? This is on a pentoo linux system.

Also how does this method compare to the overlay version posted by @necrose99 below?

sysfu commented 1 year ago

https://gpo.zugaina.org/Search?search=keybase https://gpo.zugaina.org/app-crypt/keybase-bin overlay version , all in one

gentoo defactoos app-crypt/kbfs app-crypt/keybase

Thank you. I was trying figure out overlays just yesterday while trying to install another application, but found it too bewildering and gave up.

If you have a good howto guide or video explaining how to use overlays please post.

nicolasbock commented 1 year ago

Is the /etc/portage/package.accept_keywords/ directory supposed to be there by default or do I need to create it? This is on a pentoo linux system.

You can create that directory if it's not there.

Regarding overlays, have a look at eselect/repository.

necrose99 commented 1 year ago

https://wiki.gentoo.org/wiki//etc/portage/package.accept_keywords mkdir add files ~* all arches on Experamental ~amd64 , ~arm64 ** all arches can get 9999 live versions .. less stable

@sysfu @pentoo Linux , is basically an overlay and a Distro based on Gentoo , so Gentoo wiki etc is of use.. just with SEC testing tools... https://github.com/necrose99/gentoo-config you can fork or etc.. or paroze etc.. been slowly migrating arm64-config into the upstreamed fork.. to be more universal ...

https://github.com/GenPi64/gentoo-on-rpi-64bit github offers some nice features for keeping portage configs vaulted or fixing esp on many machines ... or remotely

mv /etc/portage /etc/portage-bk ... git clone https://github.com/necrose99/gentoo-config /etc/portage ..

ie touch keybase in : /etc/portage/package.accept_keywords [else ,leafpad ,nano etc keybase , etc]....

https://gpo.zugaina.org/app-crypt/keybase-bin is a debian package which gentoo EBuild just unpacks... adds some fixes if you look at the bash..

## add keybase items 
app-crypt/keybase  ~amd64 ~arm64 
#ie RPI4 gentoo keybase can be useful add arm64 or ~arm64
## all arches ~* 
### add KEYBASE FS for GIT or vaulting Secrets ... 
app-crypt/kbfs ~amd64 ~arm64

## app-crypt/keybase-bin ~x86 ~amd64
## while all in One , and easier for some this won't compile for SBC's or ie m1 MAC laptops on arm64  as this is precompiled
sysfu commented 1 year ago

You will have to add the following:

$ cat /etc/portage/package.accept_keywords/keybase.conf 
=app-crypt/keybase-6.0.2 ~amd64
=app-crypt/keybase-9999 **

This did the trick, the package build is proceeding now, thx.

sysfu commented 1 year ago

WOMP WOMP; packaged has been emerged however attempting to run gui version of app chokes like so

$ run_keybase 
Launching keybase service...
Starting the redirector...
Starting KBFS...
Launching Keybase GUI...
run_keybase: Success!
/usr/bin/run_keybase: line 111: kbfsfuse: command not found

EDIT: So looks like kbfs package needs to be installed too.

Created another file /etc/portage/package.accept_keywords/kbfs.conf with contents

=app-crypt/kbfs-6.0.2 ~amd64
=app-crypt/kbfs-9999 **

Now I'm emerging app-crypt/kbfs, it worked.

$ run_keybase 
Shutting down keybase service...
Launching keybase service...
Starting the redirector...
Starting KBFS...
Launching Keybase GUI...
run_keybase: Success!

No errors but no Keybase GUI is launching either...

necrose99 commented 1 year ago

app-crypt/keybase-bin i initially used as a work around as it bundles the first few in ..

however YARN or NPM etc also needs to be installed for the GUI to build last I read QUITE sometime back.

dev-util/electron ? might also be needed , builds google chrome etc..

https://gpo.zugaina.org/app-eselect/eselect-electron https://gpo.zugaina.org/Overlays/thegreatmcpain/dev-util electron for amd64 or embeded also ... ie arm64/ armhf

sysfu commented 1 year ago

FWIW the keybase cli commands work just fine, I was able to add my device and can send and receive chat messages from the console.

Thanks for the additional tips on getting the GUI app working, will circle back on this later when I have more motivation.

nicolasbock commented 1 year ago

/usr/bin/run_keybase: line 111: kbfsfuse: command not found



EDIT: So looks like kbfs package needs to be installed too.

app-crypt/keybase has a USE flag now, fuse, which pulls in kbfs. To be honest, I am not sure whether it makes sense to make kbfs optional or not. But currently it is :smile:

msva commented 1 year ago

Please, use keybase from my overlay. I have already fixed most of the things noted above and I bumping versions and test aven 9999 builds time to time (as I kinda use keybase myself)