diff options
author | pyllyukko <pyllyukko@maimed.org> | 2024-01-11 13:00:48 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2024-01-11 21:03:49 +0700 |
commit | 6cfe817768a051129a95a0a0540e5253c7b9c1ba (patch) | |
tree | 9ee8d9191baed92cd105dc93d66bdb4b2492c047 /system | |
parent | 352ade393b7dd3ed5d2fcc518bcf1f87330d8861 (diff) |
system/kbfs: Added (kbfs client).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system')
-rw-r--r-- | system/kbfs/README | 15 | ||||
-rw-r--r-- | system/kbfs/README.SBo | 15 | ||||
-rw-r--r-- | system/kbfs/doinst.sh | 13 | ||||
-rw-r--r-- | system/kbfs/kbfs.SlackBuild | 131 | ||||
-rw-r--r-- | system/kbfs/kbfs.info | 10 | ||||
-rw-r--r-- | system/kbfs/slack-desc | 19 |
6 files changed, 203 insertions, 0 deletions
diff --git a/system/kbfs/README b/system/kbfs/README new file mode 100644 index 0000000000000..5db48ae5761ee --- /dev/null +++ b/system/kbfs/README @@ -0,0 +1,15 @@ +The Keybase Go Client, filesystem and GUI + +This script package the whole bundle, not just the client app. +Choose one between kbfs or keybase. Do not install both. + +You will need to create a new user keybasehelper before building +this package. + +groupadd -g 352 keybasehelper +useradd -u 352 -g keybasehelper \ + -c "keybase helper user" -s /bin/false keybasehelper + +NOTE: Read README.SBo for more instructions!! + +google-go-lang is a runtime dependency. diff --git a/system/kbfs/README.SBo b/system/kbfs/README.SBo new file mode 100644 index 0000000000000..ce49c6cb45c63 --- /dev/null +++ b/system/kbfs/README.SBo @@ -0,0 +1,15 @@ +Post installation: +- Run run_keybase as local user + A new .desktop file will be created by the service on first launch + in ~/.config/autostart/ to invoke this script. + +NOTE: + Since upstream is using Debian as base distribution, they are using + sudo for most of their operations. While Slackware also support sudo + it's not commonly used. Thus, when running run_keybase for the first + time and you get prompted for a password, it will fail. You just need + to execute run_keybase again and it will work. + +PS: You need to execute run_keybase after new installation or +upgrade from previous version. This script will stop existing +services and re-mount everything again. diff --git a/system/kbfs/doinst.sh b/system/kbfs/doinst.sh new file mode 100644 index 0000000000000..aea0f894eb32b --- /dev/null +++ b/system/kbfs/doinst.sh @@ -0,0 +1,13 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -x /usr/bin/update-mime-database ]; then + /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/system/kbfs/kbfs.SlackBuild b/system/kbfs/kbfs.SlackBuild new file mode 100644 index 0000000000000..59cbaca0c0593 --- /dev/null +++ b/system/kbfs/kbfs.SlackBuild @@ -0,0 +1,131 @@ +#!/bin/bash + +# Slackware build script for kbfs + +# Copyright 2017-2022 Willy Sudiarto Raharjo <willysr@slackbuilds.org> +# Copyright 2024 pyllyukko +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=kbfs +SRCNAM=keybase +VERSION=${VERSION:-6.2.4_20240101011938} +COMMITVER=ae7e4a1c15 +SRCVER=$(echo $VERSION | tr _ - ) +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +KBFS_USER=${KBFS_USER:-keybasehelper} +KBFS_UID=${KBFS_UID:-352} +KBFS_GROUP=${KBFS_GROUP:-keybasehelper} +KBFS_GID=${KBFS_GID:-352} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ "${ARCH}" = "i586" ] +then + VERSION="6.0.2-20220610191041" + COMMITVER=a459abf326 + SRCVER=$(echo $VERSION | tr _ - ) +fi + +bailout() { + echo " You must have a $KBFS_USER user and $KBFS_GROUP group to run this script. " + echo " # groupadd -g $KBFS_GID $KBFS_GROUP " + echo " # useradd -u $KBFS_UID -g $KBFS_GID -c \"keybase helper user\" -s /bin/false $KBFS_USER " + exit 1 +} + +# Bail if user and/or group isn't valid on your system +if ! grep -q "^$KBFS_USER:" /etc/passwd; then + bailout +elif ! grep -q "^$KBFS_GROUP:" /etc/group; then + bailout +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" + DEBARCH=i386 +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" + DEBARCH=i386 +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + DEBARCH=amd64 +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + DEBARCH=i386 +fi + +set -e + + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $PKG +ar p $CWD/${SRCNAM}_${SRCVER}.${COMMITVER}_${DEBARCH}.deb data.tar.xz | tar xJv +cd $PKG +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# This is used only by Ubuntu/Debian derivatives +rm -rf $PKG/etc/cron.daily/ + +mkdir -p $PKG/var/lib/keybase/ +( + ln -s /opt/keybase/mount-readme $PKG/var/lib/keybase/mount1 + chown $KBFS_USER:$KBFS_GROUP $PKG/var/lib/keybase + ln -s /var/lib/keybase/mount1 $PKG/keybase +) + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/system/kbfs/kbfs.info b/system/kbfs/kbfs.info new file mode 100644 index 0000000000000..dd632f781835c --- /dev/null +++ b/system/kbfs/kbfs.info @@ -0,0 +1,10 @@ +PRGNAM="kbfs" +VERSION="6.2.4_20240101011938" +HOMEPAGE="https://github.com/keybase/client" +DOWNLOAD="https://prerelease.keybase.io/linux_binaries/deb/keybase_6.0.2-20220610191041.a459abf326_i386.deb" +MD5SUM="933745e5f392074a4b964ef8fa8c3156" +DOWNLOAD_x86_64="https://prerelease.keybase.io/linux_binaries/deb/keybase_6.2.4-20240101011938.ae7e4a1c15_amd64.deb" +MD5SUM_x86_64="8aaa3183e1a2fe2805b2605a4d50e2b8" +REQUIRES="google-go-lang" +MAINTAINER="pyllyukko" +EMAIL="pyllyukko@maimed.org" diff --git a/system/kbfs/slack-desc b/system/kbfs/slack-desc new file mode 100644 index 0000000000000..ef45ff447d55f --- /dev/null +++ b/system/kbfs/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +kbfs: kbfs (Keybase File System) +kbfs: +kbfs: The Keybase Go Client, filesystem and GUI +kbfs: This script package the whole bundle, not just the client app. +kbfs: +kbfs: +kbfs: +kbfs: +kbfs: Project URL: https://github.com/keybase/client +kbfs: +kbfs: |