Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 623234 - app-crypt/keybase: Please add live Git -9999 ebuild
Summary: app-crypt/keybase: Please add live Git -9999 ebuild
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Nicolas Bock
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-01 07:34 UTC by Karl-Johan Karlsson
Modified: 2017-07-24 14:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
keybase-9999.ebuild (keybase-9999.ebuild,893 bytes, text/plain)
2017-07-01 07:34 UTC, Karl-Johan Karlsson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Karl-Johan Karlsson 2017-07-01 07:34:10 UTC
Created attachment 478512 [details]
keybase-9999.ebuild

app-crypt/keybase are in the habit of breaking API compatibility and introducing new functionality without bumping the version number. This is especially frustrating when done towards towards app-crypt/kbfs, which doesn't even have versions or releases at all.

Please add a live Git ebuild for app-crypt/keybase, so we can at least upgrade it in synch with app-crypt/kbfs. One I made from app-crypt/keybase-1.0.20.ebuild and app-crypt/kbfs-9999.ebuild is attached.
Comment 1 Alex Efros 2017-07-23 10:22:00 UTC
Thanks for the ebuild, it works, but it missed to install GUI desktop client. I was able to manually build it this way:

emerge electron yarn
mkdir ~/tmp/keybase
cd ~/tmp/keybase
git clone https://github.com/keybase/client
git clone https://github.com/keybase/kbfs
cd client/packaging/linux
./build_binaries.sh

but I don't have enough spare time to convert all of this into good ebuild. Maybe someone else will update the ebuild?

Also it looks like -9999 versions of kbfs and both console and gui clients require `paxmark m` (I'm not sure is this important having current issues with GrSecurity/PaX, but, still, adding paxmarking to ebuild doesn't harm anything).
Comment 2 Karl-Johan Karlsson 2017-07-23 11:53:50 UTC
The desktop GUI client is a Node.js application, which Portage currently does not support. It looks like you will have to build it yourself outside of Portage if you want it.

That ./build_binaries.sh script calls Yarn to download 1334 NPM packages, which will never be acceptable to Portage. There have been attempts to convert NPM packages to ebuilds, but they all look abandoned and none ever made it into mainline. https://github.com/neurogeek/g-npm and https://github.com/neurogeek/gentoo-overlay is the most complete one I found, and even it hasn't been touched for four years.
Comment 3 Alex Efros 2017-07-24 07:48:45 UTC
(In reply to Karl-Johan Karlsson from comment #2)
> The desktop GUI client is a Node.js application, which Portage currently
> does not support. It looks like you will have to build it yourself outside
> of Portage if you want it.

I suppose it's electron app, which makes some difference, especially for packaging.

> That ./build_binaries.sh script calls Yarn to download 1334 NPM packages,
> which will never be acceptable to Portage.

I don't see these packages installed in my home dir. So I suppose they was downloaded into temporary directory and used only while building Keybase binary and it resource file electron.asar. This means `emerge keybase` will have to download these 1334 packages on every re-emerge, but we doesn't have to actually add these 1334 packages to the portage. It doesn't require too much time to download these 1334 packages on my system, so I don't this this will be an issue for -9999 ebuild. For non-git ebuild we probably can pre-package all these node modules into single distfiles archive to ensure repeatable builds and avoid re-downloading them in every re-emerge.
Comment 4 Nicolas Bock gentoo-dev 2017-07-24 14:42:18 UTC
Thanks for providing the ebuild Karl-Johan! And thanks Alex for testing it carefully.

I think it would be useful as is even without GUI support for the reasons Karl-Johan points out. At some point it would be great if we could add more proper GUI building to the non-git ebuild. But for now I'll add the 9999 ebuild to the tree.

Thanks!
Comment 5 Nicolas Bock gentoo-dev 2017-07-24 14:45:56 UTC
Added to tree.