Date: Thursday, October 8, 2020 @ 21:20:56 Author: eschwartz Revision: 722016
archrelease: copy trunk to community-staging-x86_64 Added: keybase/repos/community-staging-x86_64/ keybase/repos/community-staging-x86_64/0001-Don-t-use-electron-to-build.patch (from rev 722013, keybase/trunk/0001-Don-t-use-electron-to-build.patch) keybase/repos/community-staging-x86_64/PKGBUILD (from rev 722013, keybase/trunk/PKGBUILD) keybase/repos/community-staging-x86_64/kbfs.install (from rev 722013, keybase/trunk/kbfs.install) keybase/repos/community-staging-x86_64/keybase-gui (from rev 722013, keybase/trunk/keybase-gui) ----------------------------------------+ 0001-Don-t-use-electron-to-build.patch | 67 +++++++++++++++ PKGBUILD | 135 +++++++++++++++++++++++++++++++ kbfs.install | 15 +++ keybase-gui | 18 ++++ 4 files changed, 235 insertions(+) Copied: keybase/repos/community-staging-x86_64/0001-Don-t-use-electron-to-build.patch (from rev 722013, keybase/trunk/0001-Don-t-use-electron-to-build.patch) =================================================================== --- community-staging-x86_64/0001-Don-t-use-electron-to-build.patch (rev 0) +++ community-staging-x86_64/0001-Don-t-use-electron-to-build.patch 2020-10-08 21:20:56 UTC (rev 722016) @@ -0,0 +1,67 @@ +From 7b4316eda537174fb8726d02c64584fa9d2b5650 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwart...@gmail.com> +Date: Thu, 21 Jun 2018 05:00:37 -0400 +Subject: [PATCH] Don't use electron to build + +--- + shared/desktop/package.desktop.tsx | 4 ++-- + shared/desktop/yarn-helper/index.tsx | 2 -- + shared/package.json | 1 - + 3 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/shared/desktop/package.desktop.tsx b/shared/desktop/package.desktop.tsx +index b10bb10295..f4b5fc3e6a 100644 +--- a/shared/desktop/package.desktop.tsx ++++ b/shared/desktop/package.desktop.tsx +@@ -133,7 +133,7 @@ function main() { + // use the same version as the currently-installed electron + console.log('Finding electron version') + try { +- packagerOpts.electronVersion = require('../package.json').devDependencies.electron ++ packagerOpts.electronVersion = 'unused string' + console.log('Found electron version:', packagerOpts.electronVersion) + } catch (err) { + console.log("Couldn't parse yarn list to find electron:", err) +@@ -181,7 +181,7 @@ function startPack() { + .catch(postPackError) + }) + }) +- } else { ++ } else if (false) { + pack(platform, arch) + .then(postPack(platform, arch)) + .catch(postPackError) +diff --git a/shared/desktop/yarn-helper/index.tsx b/shared/desktop/yarn-helper/index.tsx +index b80018f9f9..30f26606b4 100644 +--- a/shared/desktop/yarn-helper/index.tsx ++++ b/shared/desktop/yarn-helper/index.tsx +@@ -1,6 +1,5 @@ + // Helper for cross platform yarn run script commands + import buildCommands from './build' +-import electronComands from './electron' + import fontCommands from './font' + import prettierCommands from './prettier' + import {execSync} from 'child_process' +@@ -14,7 +13,6 @@ const [, , command, ...rest] = process.argv + const commands = { + ...buildCommands, + ...fontCommands, +- ...electronComands, + ...prettierCommands, + help: { + code: () => { +diff --git a/shared/package.json b/shared/package.json +index 373f43440e..14deb7fd99 100644 +--- a/shared/package.json ++++ b/shared/package.json +@@ -201,7 +201,6 @@ + "cross-env": "5.2.0", + "css-loader": "3.2.0", + "del": "3.0.0", +- "electron": "8.0.2", + "electron-packager": "14.0.6", + "eslint": "6.4.0", + "eslint-plugin-filenames": "1.3.2", +-- +2.25.1 + Copied: keybase/repos/community-staging-x86_64/PKGBUILD (from rev 722013, keybase/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2020-10-08 21:20:56 UTC (rev 722016) @@ -0,0 +1,135 @@ +# Maintainer: Eli Schwartz <eschwa...@archlinux.org> +# Contributor: Felix Yan <felixonm...@archlinux.org> +# Contributor: Michael Hansen <zrax0111 gmail com> + +pkgbase=keybase +pkgname=('keybase' 'kbfs' 'keybase-gui') +pkgdesc='CLI tool for GPG with keybase.io' +pkgver=5.5.1 +pkgrel=2 +arch=('x86_64') +url='https://keybase.io/' +license=('BSD') +# git is needed for yarn... +makedepends=('git' 'go' 'yarn') +source=("https://github.com/keybase/client/releases/download/v${pkgver}/${pkgbase}-v${pkgver}.tar.xz"{,.sig} + "keybase-gui" + "0001-Don-t-use-electron-to-build.patch") +sha512sums=('c203788c672168f506290ed02cee09e825103de047c02ce35515e7f509b2ca3a1e1bb1d2c895c8bfe484b9d0f175136cb4949a03f9d472181be8c33b388e7260' + 'SKIP' + '2cd6d153a39300a3a03de7aa62be832a1410de335df9e832794a483a76ec5f7856e9633b33137280679fb3624cf2b41bc9552261708e4aff6eaf4085f92bbc90' + '1485e41432218b88aff71bbe68d265baad18c8b91b3d51cacdb4ac9b09abfb6cde91b9b87cb861cffeff92830159552307a89462c8697bb066416bd897e7b68b') +b2sums=('b98738e47c300ba34de9b32ea97551607d6a311969d2b33dc5917dc11013b5e8666260bdbd90d969d92f1883f576dcf1bcb6d9b2a5c5e2983728040a3cda2f3a' + 'SKIP' + '3a2e97e83555d63ec29c5e72fff3adf36ced7502ce1bf650833927f2810eb0eec240b881bcc25791ff571bb3c92030d9cdef229631c9866b53465b25abd38190' + '164dd6f37fe38d3c840b2b92d41553e0be67985d7c8471833a9ff381c05b0c35f295bfc630aa3ce6e31afb70b805d071e8c0a438a504064d24f99720c1571b9a') +validpgpkeys=('222B85B0F90BE2D24CFEB93F47484E50656D16C7') # Keybase.io Code Signing (v1) <c...@keybase.io> + +prepare() { + cd client-v${pkgver} + + export GOPATH="${srcdir}/.gopath" + mkdir -p "${GOPATH}"/src/github.com/keybase + ln -sf "${PWD}" "${GOPATH}"/src/github.com/keybase/client + + # Fix paths to run electron /path/to/app (or our minimal wrapper script). + # Also wire up "hideWindow" when running as a service or via XDG autostart. + sed -i 's@/opt/keybase/Keybase@/usr/bin/electron9 /usr/share/keybase-app@' \ + packaging/linux/systemd/keybase.gui.service + sed -i 's/run_keybase/keybase-gui/g' \ + packaging/linux/keybase.desktop go/install/install_unix.go + + patch -p1 -i ../0001-Don-t-use-electron-to-build.patch +} + +build() { + cd client-v${pkgver}/go/keybase + + # None of this should be necessary, but we duplicate the work of + # makepkg.conf here since golang CGO can't be bothered to respect + # standardized CFLAGS and we don't have native packaging integration for + # either this or the go-specific flags. Must be done here to make sure + # we're using debug or !buildflags. + + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" + + export GOPATH="${srcdir}/.gopath" + go build -a -tags production -o ../bin/keybase github.com/keybase/client/go/keybase + go build -a -tags production -o ../bin/kbnm github.com/keybase/client/go/kbnm + go build -a -tags production -o ../bin/kbfsfuse github.com/keybase/client/go/kbfs/kbfsfuse + go build -a -tags production -o ../bin/git-remote-keybase github.com/keybase/client/go/kbfs/kbfsgit/git-remote-keybase + + cd ../../shared + yarn install + yarn run package --appVersion $pkgver +} + +package_keybase() { + depends=('gnupg') + optdepends=('kbfs: for the fuse-based fileystem and the encryption subcommand') + + cd client-v${pkgver} + + install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/{keybase,kbnm} + + # native messaging whitelists + KBNM_INSTALL_ROOT=1 KBNM_INSTALL_OVERLAY="${pkgdir}" "${pkgdir}/usr/bin/kbnm" install + # systemd activation + install -Dm644 packaging/linux/systemd/keybase.service "${pkgdir}"/usr/lib/systemd/user/keybase.service + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +package_kbfs() { + pkgdesc="The Keybase filesystem" + url="https://keybase.io/docs/kbfs" + depends=('fuse' 'keybase') + install=kbfs.install + + cd client-v${pkgver} + + install -Dm755 -t "${pkgdir}"/usr/bin/ go/bin/{kbfsfuse,git-remote-keybase} + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + # more systemd activation + install -Dm644 packaging/linux/systemd/kbfs.service "$pkgdir"/usr/lib/systemd/user/kbfs.service +} + +package_keybase-gui() { + pkgdesc="GUI frontend for GPG with keybase.io" + depends=('electron9' 'keybase' 'kbfs') + + cd client-v${pkgver}/ + + install -Dm644 packaging/linux/x-saltpack.xml \ + "${pkgdir}"/usr/share/mime/packages/x-saltpack.xml + install -Dm644 packaging/linux/keybase.desktop \ + "${pkgdir}"/usr/share/applications/keybase.desktop + # more systemd activation + install -Dm644 packaging/linux/systemd/keybase.gui.service \ + "${pkgdir}"/usr/lib/systemd/user/keybase.gui.service + # wrapper for electron + install -Dm755 "${srcdir}"/keybase-gui "${pkgdir}"/usr/bin/keybase-gui + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE + + for i in 16 32 128 256 512 ; do + install -Dm644 media/icons/Keybase.iconset/icon_${i}x${i}.png \ + "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/apps/keybase.png + install -Dm644 media/icons/Saltpack.iconset/icon_${i}x${i}.png \ + "${pkgdir}"/usr/share/icons/hicolor/${i}x${i}/mimetypes/application-x-saltpack.png + done + # ??? + install -Dm644 media/icons/Keybase.iconset/icon_32...@2x.png \ + "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/keybase.png + install -Dm644 media/icons/Keybase.iconset/icon_512x...@2x.png \ + "${pkgdir}"/usr/share/icons/hicolor/1024x1024/apps/keybase.png + + # the app itself + cd shared/desktop/build + rm -rf desktop/sourcemaps/ + mkdir -p "${pkgdir}"/usr/share/keybase-app + cp -r * "${pkgdir}"/usr/share/keybase-app/ +} Copied: keybase/repos/community-staging-x86_64/kbfs.install (from rev 722013, keybase/trunk/kbfs.install) =================================================================== --- community-staging-x86_64/kbfs.install (rev 0) +++ community-staging-x86_64/kbfs.install 2020-10-08 21:20:56 UTC (rev 722016) @@ -0,0 +1,15 @@ +post_install() { + cat << '__EOF__' +warning: the keybase-redirector is not included, so you will need to define +your `keybase config` mountdir to something you like (or install the +redirector on your own). + +See: https://github.com/keybase/client/issues/19840#issuecomment-533842074 +__EOF__ +} + +post_upgrade() { + if (( $(vercmp 4.7.1-1 $2) > 0 )); then + post_install + fi +} Copied: keybase/repos/community-staging-x86_64/keybase-gui (from rev 722013, keybase/trunk/keybase-gui) =================================================================== --- community-staging-x86_64/keybase-gui (rev 0) +++ community-staging-x86_64/keybase-gui 2020-10-08 21:20:56 UTC (rev 722016) @@ -0,0 +1,18 @@ +#!/bin/sh + +keybase ctl init + +if ! keybase version --assert-matching >/dev/null 2>&1; then + echo "restarting outdated services..." + systemctl --user daemon-reload + systemctl --user restart keybase kbfs +else + systemctl --user start keybase kbfs +fi + +if [ $# -gt 0 ] || systemctl --user is-active --quiet keybase.gui; then + exec electron9 /usr/share/keybase-app "$@" +else + systemctl --user import-environment KEYBASE_AUTOSTART + exec systemctl start --user --wait keybase.gui +fi