system/kbfs: Added (kbfs client).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
pyllyukko 2024-01-11 13:00:48 +07:00 committed by Willy Sudiarto Raharjo
parent 352ade393b
commit 6cfe817768
No known key found for this signature in database
GPG key ID: 3F617144D7238786
8 changed files with 206 additions and 11 deletions

View file

@ -39,9 +39,6 @@ if [ -z "$ARCH" ]; then
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -83,27 +80,22 @@ patch -p0 < $CWD/Makefile.patch
CFLAGS="$SLKCFLAGS" make
# Install the binary
install -d $PKG/usr/bin
install -m 0755 pgn-extract $PKG/usr/bin
# Install the manpage
mkdir -p $PKG/usr/man/man1
cp pgn-extract.man $PKG/usr/man/man1/pgn-extract.1
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Strip binary
strip $PKG/usr/bin/pgn-extract 2> /dev/null
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
help.html \
$PKG/usr/doc/$PRGNAM-$VERSION
cp -a help.html $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install

View file

@ -3,8 +3,8 @@ VERSION="22.11"
HOMEPAGE="https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/"
DOWNLOAD="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract-22-11.tgz"
MD5SUM="fea6a14d00ed5d960783b3b69e5ffc04"
DOWNLOAD_x86_64="https://www.cs.kent.ac.uk/~djb/pgn-extract/pgn-extract-22-11.tgz"
MD5SUM_x86_64="fea6a14d00ed5d960783b3b69e5ffc04"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="toolonely"
EMAIL="lonely_@tutanota.com"

15
system/kbfs/README Normal file
View file

@ -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.

15
system/kbfs/README.SBo Normal file
View file

@ -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.

13
system/kbfs/doinst.sh Normal file
View file

@ -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

131
system/kbfs/kbfs.SlackBuild Normal file
View file

@ -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

10
system/kbfs/kbfs.info Normal file
View file

@ -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"

19
system/kbfs/slack-desc Normal file
View file

@ -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: