summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVyacheslav Konovalov2021-03-06 15:46:51 +0500
committerVyacheslav Konovalov2021-03-06 15:46:51 +0500
commitff5e6bc6558bac4e94d161a091d390232f1ab334 (patch)
treedaf9dd5312985901e2dc38e4957db74907ee57ed
downloadaur-ff5e6bc6558bac4e94d161a091d390232f1ab334.tar.gz
PKGBUILD for Swarm Bee version 0.5.2
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD33
-rw-r--r--bee.install51
3 files changed, 102 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..55f79d643dac
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,18 @@
+pkgbase = swarm-bee-bin
+ pkgdesc = Swarm client implemented in Go, basic building block for Swarm Network
+ pkgver = 0.5.2
+ pkgrel = 1
+ url = https://swarm.ethereum.org/
+ install = bee.install
+ arch = x86_64
+ license = BSD-3-Clause
+ depends = bash
+ optdepends = bee-clef: external signer for bee
+ backup = etc/bee/bee.yaml
+ source = https://github.com/ethersphere/bee/releases/download/v0.5.2/bee_0.5.2_amd64.deb
+ source = https://raw.githubusercontent.com/ethersphere/bee/master/LICENSE
+ sha512sums = c89d4dadb4d4cccf1621e5ec67fd1eef8a103af251a98497fee9b96cda419b2433604a634c71f743a3ba0de056ef69d6357fad32193aa78765a8abc70e6add37
+ sha512sums = 63cb4eacde7f6f664dc42f07fd2b46dab7c72a621b57ef60481f0f3484445073c8c11310c38a6b85c801be64bc38a6e4c38186ffe0b2abd188d2a6ec6e03a9ab
+
+pkgname = swarm-bee-bin
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..91d5031ef27c
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Vyacheslav Konovalov <crabvk@protonmail.com>
+
+pkgname=swarm-bee-bin
+pkgver=0.5.2
+pkgrel=1
+pkgdesc='Swarm client implemented in Go, basic building block for Swarm Network'
+arch=('x86_64')
+url='https://swarm.ethereum.org/'
+license=('BSD-3-Clause')
+depends=('bash')
+optdepends=('bee-clef: external signer for bee')
+backup=('etc/bee/bee.yaml')
+source=(
+ "https://github.com/ethersphere/bee/releases/download/v$pkgver/bee_${pkgver}_amd64.deb"
+ 'https://raw.githubusercontent.com/ethersphere/bee/master/LICENSE'
+)
+sha512sums=(
+ 'c89d4dadb4d4cccf1621e5ec67fd1eef8a103af251a98497fee9b96cda419b2433604a634c71f743a3ba0de056ef69d6357fad32193aa78765a8abc70e6add37'
+ '63cb4eacde7f6f664dc42f07fd2b46dab7c72a621b57ef60481f0f3484445073c8c11310c38a6b85c801be64bc38a6e4c38186ffe0b2abd188d2a6ec6e03a9ab'
+)
+install='bee.install'
+
+prepare() {
+ bsdtar -xf data.tar.gz
+}
+
+package() {
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/bee"
+ install -Dm644 etc/default/bee -t "$pkgdir/etc/default"
+ install -Dm644 etc/bee/bee.yaml -t "$pkgdir/etc/bee"
+ install -Dm644 lib/systemd/system/bee.service -t "$pkgdir/usr/lib/systemd/system"
+ install -Dm755 usr/bin/bee{,-get-addr} -t "$pkgdir/usr/bin"
+}
diff --git a/bee.install b/bee.install
new file mode 100644
index 000000000000..3e2de8f3f11d
--- /dev/null
+++ b/bee.install
@@ -0,0 +1,51 @@
+pre_install() {
+ if ! getent passwd bee >/dev/null; then
+ useradd -r -d /var/lib/bee -s /sbin/nologin -c 'Bee user' -U bee
+ fi
+
+ if getent passwd bee-clef >/dev/null; then
+ usermod -a -G bee-clef bee >/dev/null
+ fi
+
+ if ! test -d /var/lib/bee; then
+ mkdir -p /var/lib/bee
+ chmod 0750 /var/lib/bee
+ chown -R bee:bee /var/lib/bee
+ fi
+
+ if ! test -f /var/lib/bee/password; then
+ tr </dev/urandom -dc _A-Z-a-z-0-9 2>/dev/null | head -c32 >/var/lib/bee/password
+ chmod 0600 /var/lib/bee/password
+ chown bee:bee /var/lib/bee/password
+ fi
+}
+
+post_install() {
+ if ! test -f /var/lib/bee/keys/libp2p.key; then
+ /usr/bin/bee init --config /etc/bee/bee.yaml >/dev/null
+ chown -R bee:bee /var/lib/bee/keys
+ fi
+
+ # Allow group members (bee user) to use clef's socket
+ if test -S /var/lib/bee-clef/clef.ipc; then
+ chmod 660 /var/lib/bee-clef/clef.ipc
+ fi
+
+ echo "
+Logs: journalctl -f -u bee.service
+Config: /etc/bee/bee.yaml
+
+Bee has SWAP enabled and by default is using slock.it goerli ethereum endpoint.
+It is recommended to use external signer with bee.
+Check documentation for more info:
+- SWAP https://docs.ethswarm.org/docs/installation/manual#swap-bandwidth-incentives
+- External signer https://docs.ethswarm.org/docs/installation/bee-clef
+
+After you finish configuration run 'sudo bee-get-addr'.
+ "
+}
+
+post_remove() {
+ userdel bee >/dev/null 2>&1 || true
+ groupdel bee >/dev/null 2>&1 || true
+}