aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorOleg Titov <oleg.titov@gmail.com>2018-12-10 11:10:00 -0600
committerKevin Daudt <kdaudt@alpinelinux.org>2019-04-01 19:11:31 +0000
commit0f54ffe2cbac88c9698034e7bd9b68855907032b (patch)
treeb4d93b8b0be9c5109acf2761a768fd17f0c4a031 /testing
parentb03032407111b3cf7b4203858d53e0d353b5ee61 (diff)
downloadaports-0f54ffe2cbac88c9698034e7bd9b68855907032b.tar.bz2
aports-0f54ffe2cbac88c9698034e7bd9b68855907032b.tar.xz
testing/go-ipfs: new aport
https://ipfs.io/ Inter Platnetary File System (IPFS), a peer-to-peer hypermedia distribution protocol
Diffstat (limited to 'testing')
-rw-r--r--testing/go-ipfs/APKBUILD80
-rw-r--r--testing/go-ipfs/go-ipfs.post-install7
-rw-r--r--testing/go-ipfs/go-ipfs.pre-install6
-rw-r--r--testing/go-ipfs/ipfs.confd1
-rw-r--r--testing/go-ipfs/ipfs.initd15
5 files changed, 109 insertions, 0 deletions
diff --git a/testing/go-ipfs/APKBUILD b/testing/go-ipfs/APKBUILD
new file mode 100644
index 0000000000..618ebb9e62
--- /dev/null
+++ b/testing/go-ipfs/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=go-ipfs
+pkgver=0.4.19
+pkgrel=0
+pkgdesc="Inter Platnetary File System (IPFS), a peer-to-peer hypermedia distribution protocol"
+url="https://ipfs.io/"
+arch="x86_64 x86"
+license="MIT"
+pkgusers="ipfs"
+pkggroups="ipfs"
+options="!check" # No test suit
+depends="musl"
+makedepends="make go bash git gx gx-go"
+install="$pkgname.pre-install $pkgname.post-install"
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-bash-completion:bashcomp:noarch"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ipfs/go-ipfs/archive/v$pkgver.tar.gz
+ ipfs.initd
+ ipfs.confd"
+builddir="$srcdir/$pkgname-$pkgver"
+#builddir="$GOPATH/src/github.com/ipfs/go-ipfs"
+
+prepare() {
+ default_prepare
+ export GOPATH="$PWD"/.gopath
+# export GOPATH="$builddir"/.gopath
+ mkdir -p "$GOPATH"/src/github.com/ipfs
+# ln -sf "$PWD"/go-ipfs-$pkgver "$GOPATH"/src/github.com/ipfs/go-ipfs
+ ln -sf "$builddir" "$GOPATH"/src/github.com/ipfs/go-ipfs
+}
+
+build() {
+ msg2 'Configuring go environment...'
+ export PATH="$PATH":"$PWD"/.gopath/bin
+ cd "$GOPATH"/src/github.com/ipfs/go-ipfs
+
+ msg2 'Building binary...'
+ make IPFS_GX_USE_GLOBAL=1 build
+}
+
+check() {
+ cd "$builddir"
+ make test_short
+}
+
+package() {
+ cd "$builddir"
+# cd $pkgname-$pkgver
+
+ msg2 'Packaging binary...'
+ install -m755 -D cmd/ipfs/ipfs \
+ "$pkgdir"/usr/bin/ipfs
+# install -Dm 644 srcdircmd/ipfs/ipfs "$pkgdir"/usr/bin/ipfs
+# install -Dm 644 srcdircmd/ipfs/ipfs "$pkgdir"/usr/bin/ipfs
+
+ msg2 'Packaging auxiliary files...'
+ install -m644 -D -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+ install -m644 -D -t "$pkgdir/usr/share/doc/$pkgname" README.md
+ install -m755 -D "$srcdir"/ipfs.initd \
+ "$pkgdir"/etc/init.d/ipfs
+ install -m644 -D "$srcdir"/ipfs.confd \
+ "$pkgdir"/etc/conf.d/ipfs
+
+ install -dm750 -o ipfs -g ipfs "$pkgdir"/var/lib/ipfs
+ install -dm755 "$pkgdir"/var/log/ipfs
+}
+
+bashcomp() {
+ depends=""
+ pkgdesc="Bash completions for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+
+ msg2 'Packaging bash completion file...'
+ install -Dm 644 "$builddir"/misc/completion/ipfs-completion.bash \
+ "$subpkgdir"/usr/share/bash-completion/completions/$pkgname
+}
+
+sha512sums="674bcb5128cf2545f608cd6fde7a67e587822c1e140622a9fa112e93cc7900351f0f641cf1ac728200e43d8463fa09184a3b754fae4b5b6b24484fece3a3f579 go-ipfs-0.4.19.tar.gz
+3e51e9a3dca1b991e8549f8354f7c2cfd1bb9b73d7a59557878d5c9ab4189988676d789172af3ba1fd57193ec48ca9125919507b0de7d0400ce0d6166622e556 ipfs.initd
+c55afeb3efe381d18258ddf00f58325b77156375cf223fb2daa049df056efe22e9139cce0f81dc4c73759dad5097af5f3201414beb5950bd894df9ae8c7c4ed1 ipfs.confd"
diff --git a/testing/go-ipfs/go-ipfs.post-install b/testing/go-ipfs/go-ipfs.post-install
new file mode 100644
index 0000000000..cfa83adf55
--- /dev/null
+++ b/testing/go-ipfs/go-ipfs.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo 'To be able to use the ipfs service you will need to create the ipfs repository'
+echo '(eg: su -s /bin/sh -c "ipfs init -e" ipfs)'
+echo 'or change IPFS_PATH of /etc/conf.d/ipfs with another with proper permissions.'
+
+exit 0
diff --git a/testing/go-ipfs/go-ipfs.pre-install b/testing/go-ipfs/go-ipfs.pre-install
new file mode 100644
index 0000000000..db2f7bb6fb
--- /dev/null
+++ b/testing/go-ipfs/go-ipfs.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S ipfs 2>/dev/null
+adduser -S -D -H -h /var/lib/ipfs -s /sbin/nologin -G ipfs -g ipfs ipfs 2>/dev/null
+
+exit 0
diff --git a/testing/go-ipfs/ipfs.confd b/testing/go-ipfs/ipfs.confd
new file mode 100644
index 0000000000..f1e8eb77ad
--- /dev/null
+++ b/testing/go-ipfs/ipfs.confd
@@ -0,0 +1 @@
+IPFS_PATH=/var/lib/ipfs/.ipfs
diff --git a/testing/go-ipfs/ipfs.initd b/testing/go-ipfs/ipfs.initd
new file mode 100644
index 0000000000..3e4421840e
--- /dev/null
+++ b/testing/go-ipfs/ipfs.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+
+export IPFS_PATH=${IPFS_PATH:-/var/lib/ipfs/.ipfs}
+
+pidfile="/run/ipfs.pid"
+command="/usr/bin/ipfs"
+command_args="daemon --enable-gc --migrate"
+command_user="ipfs:ipfs"
+start_stop_daemon_args="--wait 1000 -b \
+ -1 /var/log/ipfs/ipfs.log \
+ -2 /var/log/ipfs/ipfs.log"
+
+depend() {
+ need net
+}