summaryrefslogtreecommitdiffstats
path: root/network/ipfs-pack
diff options
context:
space:
mode:
author Marcin Szychowski2019-02-15 15:02:34 +0100
committer Willy Sudiarto Raharjo2019-02-15 15:02:34 +0100
commitc7c0f6ffe1ff2fec4b5493a965785473de3f4c71 (patch)
tree2dc8b23d50ed773c9e378b84568042942b0bc2df /network/ipfs-pack
parentbeea4abf67e9249ae434e5c01214974bc839acd9 (diff)
downloadslackbuilds-c7c0f6ffe1ff2fec4b5493a965785473de3f4c71.tar.gz
network/ipfs-pack: Adde (FS and packing tool for IPFS).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/ipfs-pack')
-rw-r--r--network/ipfs-pack/README24
-rw-r--r--network/ipfs-pack/ipfs-pack.SlackBuild76
-rw-r--r--network/ipfs-pack/ipfs-pack.info10
-rw-r--r--network/ipfs-pack/slack-desc19
4 files changed, 129 insertions, 0 deletions
diff --git a/network/ipfs-pack/README b/network/ipfs-pack/README
new file mode 100644
index 0000000000..e3a01d7f10
--- /dev/null
+++ b/network/ipfs-pack/README
@@ -0,0 +1,24 @@
+IPFS (InterPlanetary File System) is a hypermedia p2p protocol suite
+that has HTTP gateway built in. It can be used to store any kind of
+immutable datasets, organized in files, directories, and commits.
+
+For more information, check out go-ipfs (which is central package for
+IPFS, but not a direct dependency for ipfs-pack).
+
+ipfs-pack is a tool and library to work with ipfs and large
+collections of data in UNIX/POSIX filesystems.
+
+It identifies singular collections or bundles of data (the pack).
+
+It creates a light-weight cryptographically secure manifest that
+preserves the integrity of the collection over time, and travels
+with the data (PackManifest).
+
+It helps use ipfs in a mode that references the filesystem files
+directly and avoids duplicating data (filestore).
+
+It carries a standard dataset metadata file to capture and present
+information about the dataset (data-package.json).
+
+It helps verify the authenticity of data through a file carrying
+cryptographic signatures (PackAuth).
diff --git a/network/ipfs-pack/ipfs-pack.SlackBuild b/network/ipfs-pack/ipfs-pack.SlackBuild
new file mode 100644
index 0000000000..17e1979e20
--- /dev/null
+++ b/network/ipfs-pack/ipfs-pack.SlackBuild
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+# Slackware build script for ipfs-pack
+
+# Copyright 2019 Marcin Szychowski <szycha@gmail.com>, Poland
+# 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.
+
+PRGNAM=ipfs-pack
+VERSION=${VERSION:-0.6.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+case $ARCH in
+ i?86) IPFSARCH=386 ;;
+ x86_64) IPFSARCH=amd64 ;;
+ *) IPFSARCH=$ARCH ;;
+esac
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM
+tar xvf $CWD/${PRGNAM}_v${VERSION}_linux-$IPFSARCH.tar.gz
+cd $PRGNAM
+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 {} \;
+
+find . -print0 | xargs -0 file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/bin
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cp -a $CWD/README $PKG/usr/doc/$PRGNAM-$VERSION/README.SBo
+mv $PRGNAM $PKG/usr/bin/
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/ipfs-pack/ipfs-pack.info b/network/ipfs-pack/ipfs-pack.info
new file mode 100644
index 0000000000..9c98957ab2
--- /dev/null
+++ b/network/ipfs-pack/ipfs-pack.info
@@ -0,0 +1,10 @@
+PRGNAM="ipfs-pack"
+VERSION="0.6.0"
+HOMEPAGE="https://ipfs.io/"
+DOWNLOAD="https://dist.ipfs.io/ipfs-pack/v0.6.0/ipfs-pack_v0.6.0_linux-386.tar.gz"
+MD5SUM="97adf0c0b4e9c826324050cf570f2a67"
+DOWNLOAD_x86_64="https://dist.ipfs.io/ipfs-pack/v0.6.0/ipfs-pack_v0.6.0_linux-amd64.tar.gz"
+MD5SUM_x86_64="3ab36e551b1d37e39ec7a9bd6dcb4b3e"
+REQUIRES=""
+MAINTAINER="Marcin Szychowski"
+EMAIL="szycha@gmail.com"
diff --git a/network/ipfs-pack/slack-desc b/network/ipfs-pack/slack-desc
new file mode 100644
index 0000000000..cc42fb504f
--- /dev/null
+++ b/network/ipfs-pack/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------------------------------------------------------|
+ipfs-pack: ipfs-pack (filesystem packing tool for IPFS)
+ipfs-pack:
+ipfs-pack: ipfs-pack is a tool and library to work with ipfs and large
+ipfs-pack: collections of data in UNIX/POSIX filesystems. It identifies singular
+ipfs-pack: collections or bundles of data (the pack), creates a light-weight
+ipfs-pack: cryptographically secure manifest that preserves the integrity of the
+ipfs-pack: collection over time, and travels with the data (PackManifest).
+ipfs-pack:
+ipfs-pack:
+ipfs-pack:
+ipfs-pack: