diff options
author | B. Watson <urchlay@slackware.uk> | 2022-07-30 01:19:16 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-07-30 11:26:22 +0700 |
commit | 6a607f7c7e403061218b03d7783a14073d2e75b0 (patch) | |
tree | bd12e658aea12f92755a1e7d725dc36f7c79fdf5 /network | |
parent | a5edcc03f1a77b622843d03a7b2a3180ccc64936 (diff) |
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')
-rw-r--r-- | network/tnfs-fuse/COPYING | 23 | ||||
-rw-r--r-- | network/tnfs-fuse/README | 8 | ||||
-rw-r--r-- | network/tnfs-fuse/libdir.diff | 19 | ||||
-rw-r--r-- | network/tnfs-fuse/slack-desc | 19 | ||||
-rw-r--r-- | network/tnfs-fuse/tnfs-fuse.1 | 107 | ||||
-rw-r--r-- | network/tnfs-fuse/tnfs-fuse.SlackBuild | 109 | ||||
-rw-r--r-- | network/tnfs-fuse/tnfs-fuse.info | 12 | ||||
-rw-r--r-- | network/tnfs-fuse/tnfs-fuse.rst | 90 |
8 files changed, 387 insertions, 0 deletions
diff --git a/network/tnfs-fuse/COPYING b/network/tnfs-fuse/COPYING new file mode 100644 index 000000000000..b2c3b5909938 --- /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 000000000000..d7eb799f876e --- /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 000000000000..9b1d0f5fa509 --- /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 000000000000..a211837aa183 --- /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 000000000000..37352e151bab --- /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 000000000000..c9f6ed25ad33 --- /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 000000000000..dc184ba8e3c8 --- /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 000000000000..85b717dcf6e9 --- /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) |