network/ncp: Added (fast file copy tool for LANs)

Signed-off-by: Dave Woodfall <dave@slackbuilds.org>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2020-11-14 06:04:20 +00:00 committed by Willy Sudiarto Raharjo
parent a855bedaca
commit bf5da0a0ca
No known key found for this signature in database
GPG key ID: 3F617144D7238786
5 changed files with 168 additions and 0 deletions

16
network/ncp/README Normal file
View file

@ -0,0 +1,16 @@
ncp (fast file copy tool for LANs)
"ncp" is a utility for copying files in a LAN. It has absolutely no
security or integrity checking, no throttling, no features, except
one: you don't have to type the coordinates of your peer.
Basically it works like this:
 1. You and your buddy want to play Quake.
 2. Your buddy has a level that you don't have.
 3. He types "npush filename" and waits. npush sends out UDP
announcement packets proclaiming that someone wants to send
something.
 4. You type "npoll". npoll waits until it sees one of these packets.
 5. The files are copied with tar over a TCP socket, so permissions and
file dates (and if you are root, owners) are preserved.

View file

@ -0,0 +1,54 @@
ncp - a fast file copy tool for LANs
(Note: This is from 2000 and has not been touched since. I still use it on a
daily basis)
Download it from http://dl.fefe.de/ncp-1.2.4.tar.bz2 [pgp sig]! The current
version is 1.2.4. Recent changes: switch to libowfat
Good news: I got an email from Ripclaw from Rock Linux who told me that they are
going to integrate ncp.
Please note that on recent IPv6 implementations, link-local addresses are not
valid without specifying an interface, so you can't npoll with a link-local
address on the command line. Standard npush/npoll now works with link-local
addresses, though. Due to Linux 2.4.0test brokenness, you currently can't npoll
from the same machine that runs npush.
Since ncp is based on libdjb, it features full IPv6 support and the DNS resolver
is built in, i.e. no more security problems because of lame libc functions.
I also provide a statically linked x86 Linux binary [sig] compressed with upx
which only weighs in at ~20k. I shrunk the binary with diet libc.
npush will now use IPv6 and IPv4 multicast on the multicast groups
ff02::6e63:7030 (6e63:7030 == 'ncp0') and 224.110.99.112 (110.99.112 == 'ncp').
If both methods fail, npush will resort to the broadcast packets used by
previous versions. You can force the broadcast method by passing "-b" to npush
so that previous npoll versions can see the announcements.
"ncp" is a utility for copying files in a LAN. It has absolutely no security or
integrity checking, no throttling, no features, except one: you don't have to
type the coordinates of your peer.
Please note that the DNS resolver does not use /etc/hosts (as that would not
work with IPv6 anyway), so you should have a properly configured DNS server.
Basically it works like this:
1. You and your buddy want to play Quake
2. Your buddy has a level that you don't have
3. He types npush filename and waits. npush sends out UDP announcement packets
proclaiming that someone wants to send something
4. You type npoll. npoll waits until it sees one of these packets
5. The files are copied with tar over a TCP socket, so permissions and file
dates (and if you are root, owners) are preserved.
There are other usage modes. You can also use it like this:
peer1$ ncp
peer2$ ncp peer1 file1 file2 file3
or like this:
peer1$ npush file1
peer2$ npoll peer1

View file

@ -0,0 +1,69 @@
#!/bin/sh
# Slackware build script for ncp
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=ncp
VERSION=${VERSION:-1.2.4}
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
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
else
SLKCFLAGS="-O2"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
chmod 644 *
# We want symlinks, not hardlinks.
sed -i 's,ln -f,ln -s,' GNUmakefile
# The libowfat detection stuff needs a little help...
make PREFIX=/usr CFLAGS="$SLKCFLAGS -Wl,-s -I/opt/diet/include/libowfat"
make install PREFIX=$PKG/usr
gzip $PKG/usr/man/man1/*.1
ln -s npush.1.gz $PKG/usr/man/man1/npoll.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a NEWS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
# Upstream doesn't include a README with the source, so here's the web page
# rendered as text (with links).
cat $CWD/README.upstream > $PKG/usr/doc/$PRGNAM-$VERSION/README
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}

10
network/ncp/ncp.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="ncp"
VERSION="1.2.4"
HOMEPAGE="http://www.fefe.de/ncp/"
DOWNLOAD="http://dl.fefe.de/ncp-1.2.4.tar.bz2"
MD5SUM="421c4855bd3148b7d0a4342942b4bf13"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libowfat"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

19
network/ncp/slack-desc Normal file
View file

@ -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------------------------------------------------------|
ncp: ncp (fast file copy tool for LANs)
ncp:
ncp: "ncp" is a utility for copying files in a LAN. It has absolutely no
ncp: security or integrity checking, no throttling, no features, except
ncp: one: you don't have to type the coordinates of your peer.
ncp:
ncp:
ncp:
ncp:
ncp:
ncp: