summaryrefslogtreecommitdiffstats
path: root/network/tnfs-fuse
diff options
context:
space:
mode:
author B. Watson2022-07-30 02:19:16 +0200
committer Willy Sudiarto Raharjo2022-07-30 06:26:22 +0200
commit6a607f7c7e403061218b03d7783a14073d2e75b0 (patch)
treebd12e658aea12f92755a1e7d725dc36f7c79fdf5 /network/tnfs-fuse
parenta5edcc03f1a77b622843d03a7b2a3180ccc64936 (diff)
downloadslackbuilds-6a607f7c7e403061218b03d7783a14073d2e75b0.tar.gz
network/tnfs-fuse: Added (client for trivial network filesystem)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/tnfs-fuse')
-rw-r--r--network/tnfs-fuse/COPYING23
-rw-r--r--network/tnfs-fuse/README8
-rw-r--r--network/tnfs-fuse/libdir.diff19
-rw-r--r--network/tnfs-fuse/slack-desc19
-rw-r--r--network/tnfs-fuse/tnfs-fuse.1107
-rw-r--r--network/tnfs-fuse/tnfs-fuse.SlackBuild109
-rw-r--r--network/tnfs-fuse/tnfs-fuse.info12
-rw-r--r--network/tnfs-fuse/tnfs-fuse.rst90
8 files changed, 387 insertions, 0 deletions
diff --git a/network/tnfs-fuse/COPYING b/network/tnfs-fuse/COPYING
new file mode 100644
index 0000000000..b2c3b59099
--- /dev/null
+++ b/network/tnfs-fuse/COPYING
@@ -0,0 +1,23 @@
+License for tnfs-fuse:
+
+The MIT License
+
+Copyright (c) 2012 Radu Cristescu
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/network/tnfs-fuse/README b/network/tnfs-fuse/README
new file mode 100644
index 0000000000..d7eb799f87
--- /dev/null
+++ b/network/tnfs-fuse/README
@@ -0,0 +1,8 @@
+tnfs-fuse (client for trivial network filesystem)
+
+TNFS is a simplified Internet file transfer protocol, designed for
+limited resource usage and ease of implementation on small systems,
+such as 8-bit computers. It's simpler than NFS, SMB, or FTP. It's
+similar to TFTP, but has features TFTP lacks.
+
+This package is the Linux (and Mac, *BSD, etc) client.
diff --git a/network/tnfs-fuse/libdir.diff b/network/tnfs-fuse/libdir.diff
new file mode 100644
index 0000000000..9b1d0f5fa5
--- /dev/null
+++ b/network/tnfs-fuse/libdir.diff
@@ -0,0 +1,19 @@
+diff -Naur spectranet-tnfs-fuse-fd46ffca3281db4a0c60c04dc83c9cf2cb80bc9e/tnfs-fuse.py spectranet-tnfs-fuse-fd46ffca3281db4a0c60c04dc83c9cf2cb80bc9e.patched/tnfs-fuse.py
+--- spectranet-tnfs-fuse-fd46ffca3281db4a0c60c04dc83c9cf2cb80bc9e/tnfs-fuse.py 2013-01-27 13:02:20.000000000 -0500
++++ spectranet-tnfs-fuse-fd46ffca3281db4a0c60c04dc83c9cf2cb80bc9e.patched/tnfs-fuse.py 2022-07-18 14:47:20.902204356 -0400
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python2
+
+ # The MIT License
+ #
+@@ -22,6 +22,9 @@
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ # THE SOFTWARE.
+
++import sys
++sys.path.insert(0, '@LIBDIR@')
++
+ import fuse
+ fuse.fuse_python_api = (0, 2)
+
diff --git a/network/tnfs-fuse/slack-desc b/network/tnfs-fuse/slack-desc
new file mode 100644
index 0000000000..a211837aa1
--- /dev/null
+++ b/network/tnfs-fuse/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------------------------------------------------------|
+tnfs-fuse: tnfs-fuse (client for trivial network filesystem)
+tnfs-fuse:
+tnfs-fuse: TNFS is a simplified Internet file transfer protocol, designed for
+tnfs-fuse: limited resource usage and ease of implementation on small systems,
+tnfs-fuse: such as 8-bit computers. It's simpler than NFS, SMB, or FTP. It's
+tnfs-fuse: similar to TFTP, but has features TFTP lacks.
+tnfs-fuse:
+tnfs-fuse: This package is the Linux (and Mac, *BSD, etc) client.
+tnfs-fuse:
+tnfs-fuse:
+tnfs-fuse:
diff --git a/network/tnfs-fuse/tnfs-fuse.1 b/network/tnfs-fuse/tnfs-fuse.1
new file mode 100644
index 0000000000..37352e151b
--- /dev/null
+++ b/network/tnfs-fuse/tnfs-fuse.1
@@ -0,0 +1,107 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "TNFS-FUSE" 1 "2022-07-24" "20130127_fd46ff" "SlackBuilds.org"
+.SH NAME
+tnfs-fuse \- trivial network filesystem client
+.\" RST source for tnfs-fuse(1) man page. Convert with:
+.
+.\" rst2man.py tnfs-fuse.rst > tnfs-fuse.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+tnfs\-fuse \fBdirectory\fP \fB\-o address=host\fP[:\fIport\fP]
+.SH DESCRIPTION
+.sp
+TNFS is a simplified Internet file transfer protocol, designed for
+simplicity and ease of implementation on small systems, such as 8\-bit
+computers. It\(aqs simpler than NFS, SMB, or FTP. It\(aqs similar to TFTP,
+but has features TFTP lacks.
+.sp
+\fBtnfs\-fuse\fP is a client for the TNFS protocol.
+.sp
+Note that \fBtnfs\-fuse\fP uses TCP to communicate with the TNFS server.
+Most TNFS clients are written for smaller systems (e.g. Atari or
+Spectrum 8\-bit computers) and use UDP. This isn\(aqt an actual problem,
+but it\(aqs a factor to take into account when e.g. setting up firewall
+rules to allow TNFS traffic. Also, when troubleshooting a failed
+TNFS connection from an 8\-bit client, just because you can connect
+with \fBtnfs\-fuse\fP using TCP, doesn\(aqt mean the UDP port is open and
+working.
+.sp
+When working with mounted TNFS directories, some error messages will
+be wrong, e.g. instead of "Permission denied", you may get "Bad file
+descriptor".
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-o address=host\fP[:\fIport\fP]
+The hostname or IP address of the TNFS server to mount. If \fI:port\fP is
+not given, the default TNFS port (16384) is used.
+.TP
+.B \fB\-o ro\fP
+Mount read\-only.
+.UNINDENT
+.sp
+\fBtnfs\-fuse\fP supports the full set of \fBfuse\fP options. See
+\fBfuse\fP(8) or \fBtnfs\-fuse \-\-help\fP for the list.
+.SH EXAMPLE
+.sp
+To mount the TNFS server at \fBfujinet.online\fP:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+mkdir fujinet
+tnfs\-fuse fujinet \-o address=fujinet.online
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+Now the contents of the TNFS server are visible under fujinet/ (or
+whatever name you chose). You might also want to add \fB\-o ro\fP to mount
+read\-only.
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/tnfs\-fuse\-20130127_fd46ff/COPYING for license information.
+.SH AUTHORS
+.sp
+tnfs\-fuse was written by Radu Cristescu.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+\fBtnfsd\fP(1), \fBfuse\fP(8)
+.\" Generated by docutils manpage writer.
+.
diff --git a/network/tnfs-fuse/tnfs-fuse.SlackBuild b/network/tnfs-fuse/tnfs-fuse.SlackBuild
new file mode 100644
index 0000000000..c9f6ed25ad
--- /dev/null
+++ b/network/tnfs-fuse/tnfs-fuse.SlackBuild
@@ -0,0 +1,109 @@
+#!/bin/bash
+
+# Slackware build script for tnfs-fuse
+
+# Written by B. Watson (urchlay@slackware.uk)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=tnfs-fuse
+VERSION=${VERSION:-20130127_fd46ff}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+SRCVER="$( echo $VERSION | cut -d_ -f2 )"
+SRCNAM="spectranet-tnfs-fuse"
+
+# I didn't make a separate build for python-fuse, because it would
+# conflict with the existing python-fusepy. No idea why there are
+# two incompatible fuse modules for python, and don't care either.
+# This python-fuse will get installed in a private directory so it
+# won't stomp on python-fusepy.
+LIBNAM="python-fuse"
+LIBVER="1.0.5"
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+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=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+LIBDIR=/usr/lib$LIBDIRSUFFIX/$PRGNAM
+PKGLIB=$PKG/$LIBDIR
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir -p $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+TOPDIR="$(pwd)"
+tar xvf $CWD/$SRCNAM-$SRCVER*.tar.gz
+tar xvf $CWD/$LIBNAM-$LIBVER.tar.gz
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# first the library. remember, private directory.
+cd $LIBNAM-$LIBVER
+python2 setup.py install --root=$PKG
+mkdir -p $PKGLIB
+mv $PKG/usr/lib*/python*/site-packages/* $PKGLIB
+rm -rf $PKG/usr/lib*/python*
+strip $PKGLIB/*/*.so
+
+# now the application (which also has a library)
+cd $TOPDIR/$SRCNAM-$SRCVER*
+patch -p1 < $CWD/libdir.diff
+mkdir -p $PKG/usr/bin
+sed "s,@LIBDIR@,$LIBDIR," < $PRGNAM.py > $PKG/usr/bin/$PRGNAM
+chmod 755 $PKG/usr/bin/$PRGNAM
+cp -a tnfs_client.py $PKGLIB
+
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKGDOC
+cp -a README.md $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
+
+# upstream didn't include a separate license, so copy/paste the comments.
+cat $CWD/COPYING > $PKGDOC/COPYING
+
+# man page written for this SlackBuild.
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+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
diff --git a/network/tnfs-fuse/tnfs-fuse.info b/network/tnfs-fuse/tnfs-fuse.info
new file mode 100644
index 0000000000..dc184ba8e3
--- /dev/null
+++ b/network/tnfs-fuse/tnfs-fuse.info
@@ -0,0 +1,12 @@
+PRGNAM="tnfs-fuse"
+VERSION="20130127_fd46ff"
+HOMEPAGE="https://github.com/Uplink03/spectranet-tnfs-fuse"
+DOWNLOAD="https://github.com/Uplink03/spectranet-tnfs-fuse/archive/fd46ff/spectranet-tnfs-fuse-fd46ffca3281db4a0c60c04dc83c9cf2cb80bc9e.tar.gz \
+ https://github.com/libfuse/python-fuse/archive/v1.0.5/python-fuse-1.0.5.tar.gz"
+MD5SUM="d544ceb6cea5df8efa53859bc7c3dba7 \
+ 6b79b1dc0be30f21d62996f408cfd397"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="urchlay@slackware.uk"
diff --git a/network/tnfs-fuse/tnfs-fuse.rst b/network/tnfs-fuse/tnfs-fuse.rst
new file mode 100644
index 0000000000..85b717dcf6
--- /dev/null
+++ b/network/tnfs-fuse/tnfs-fuse.rst
@@ -0,0 +1,90 @@
+.. RST source for tnfs-fuse(1) man page. Convert with:
+.. rst2man.py tnfs-fuse.rst > tnfs-fuse.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 20130127_fd46ff
+.. |date| date::
+
+=========
+tnfs-fuse
+=========
+
+---------------------------------
+trivial network filesystem client
+---------------------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+tnfs-fuse **directory** **-o address=host**\[:*port*]
+
+DESCRIPTION
+===========
+
+TNFS is a simplified Internet file transfer protocol, designed for
+simplicity and ease of implementation on small systems, such as 8-bit
+computers. It's simpler than NFS, SMB, or FTP. It's similar to TFTP,
+but has features TFTP lacks.
+
+**tnfs-fuse** is a client for the TNFS protocol.
+
+Note that **tnfs-fuse** uses TCP to communicate with the TNFS server.
+Most TNFS clients are written for smaller systems (e.g. Atari or
+Spectrum 8-bit computers) and use UDP. This isn't an actual problem,
+but it's a factor to take into account when e.g. setting up firewall
+rules to allow TNFS traffic. Also, when troubleshooting a failed
+TNFS connection from an 8-bit client, just because you can connect
+with **tnfs-fuse** using TCP, doesn't mean the UDP port is open and
+working.
+
+When working with mounted TNFS directories, some error messages will
+be wrong, e.g. instead of "Permission denied", you may get "Bad file
+descriptor".
+
+OPTIONS
+=======
+
+**-o address=host**\[:*port*]
+ The hostname or IP address of the TNFS server to mount. If *:port* is
+ not given, the default TNFS port (16384) is used.
+
+**-o ro**
+ Mount read-only.
+
+**tnfs-fuse** supports the full set of **fuse** options. See
+**fuse**\(8) or **tnfs-fuse --help** for the list.
+
+EXAMPLE
+=======
+
+To mount the TNFS server at **fujinet.online**::
+
+ mkdir fujinet
+ tnfs-fuse fujinet -o address=fujinet.online
+
+Now the contents of the TNFS server are visible under fujinet/ (or
+whatever name you chose). You might also want to add **-o ro** to mount
+read-only.
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/tnfs-fuse-|version|/COPYING for license information.
+
+AUTHORS
+=======
+
+tnfs-fuse was written by Radu Cristescu.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+**tnfsd**\(1), **fuse**\(8)