network/serialmail: Added (pass mail over intermittent links).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Duncan Roe 2017-06-30 14:16:11 +07:00 committed by Willy Sudiarto Raharjo
parent c8d1ca49e3
commit e08d2594b5
6 changed files with 186 additions and 0 deletions

12
network/serialmail/README Normal file
View file

@ -0,0 +1,12 @@
serialmail (pass mail over intermittent links)
NB: serialmail is only useful if you are running the qmail MTA.
Please check the entry for netqmail before installing serialmail.
serialmail is a collection of tools originally designed for passing
mail across serial (dialup) links. Nowadays you can use it over
any intermittently available links, e.g. wifi at a conference.
serialmail works with qmail: you use qmail to deliver messages to a
maildir, and then serialmail to deliver messages out of the maildir.
serialmail supports SMTP, including ESMTP PIPELINING, and QMTP.

View file

@ -0,0 +1,4 @@
See /usr/doc/serialmail-0.75 for configuration instructions. E.g.,
to configure for sending out mail when wifi is available, read TOISP.
(Hint: the domain name in the HELO message to the ISP is set in
/var/qmail/control/me)

View file

@ -0,0 +1,23 @@
diff -u serialmail-0.75.orig/error.h serialmail-0.75/error.h
--- serialmail-0.75.orig/error.h 1998-11-14 20:28:23.000000000 -0600
+++ serialmail-0.75/error.h 2004-01-29 11:15:32.000000000 -0600
@@ -1,7 +1,7 @@
#ifndef ERROR_H
#define ERROR_H
-extern int errno;
+#include <errno.h>
extern int error_intr;
extern int error_nomem;
diff -u serialmail-0.75.orig/leapsecs_read.c serialmail-0.75/leapsecs_read.c
--- serialmail-0.75.orig/leapsecs_read.c 1998-11-14 20:28:23.000000000 -0600
+++ serialmail-0.75/leapsecs_read.c 2004-01-29 11:20:09.000000000 -0600
@@ -2,7 +2,6 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
-extern int errno;
#include "tai.h"
#include "leapsecs.h"

View file

@ -0,0 +1,118 @@
#!/bin/sh
# Slackware build script for serialmail
# Copyright 2017 Duncan Roe, Melbourne, Australia
# 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=serialmail
VERSION=${VERSION:-0.75}
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}
CHROOT=$TMP/$PRGNAM
VERBOSE_ADDCHROOT=${VERBOSE_ADDCHROOT:-yes}
export VERBOSE_ADDCHROOT
# Get alias user and group for /usr/bin/maildirserial setuid.
# These are the user and group ids allocated by SBo
NOFILES_GROUP=${NOFILES_GROUP:-340}
ALIAS_USER=${ALIAS_USER:-339}
# If the user or group is already configured, use that id instead
grep -q ^nofiles: /etc/group &&
NOFILES_GROUP=$(grep ^nofiles: /etc/group|cut -f3 -d:)
grep -q ^alias: /etc/passwd &&
ALIAS_USER=$(grep ^alias: /etc/passwd|cut -f3 -d:)
set -e
rm -rf $PKG $CHROOT
mkdir -p $TMP $PKG $OUTPUT $CHROOT
cd $CHROOT
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
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 {} \;
for i in $CWD/*.patch
do
cat $i|patch -p1
done
echo /usr > conf-home
make
# You have to do this next bit via chroot.
# Unlike with ucspi-tcp, it doesn't work to "echo $PKG/usr >conf-home":
# the pathnames in some of the scripts come out wrong
cd $CHROOT
mkchroot .
# need make
addchroot . make guile gc libffi libunistring
# Run the chroot commands
chroot . /bin/sh -c "cd /$PRGNAM-$VERSION; make setup check"
mkdir -p $PKG/usr/{bin,man/man1,doc}
for i in serialqmtp serialsmtp maildirqmtp maildirsmtp maildirserial setlock
do
mv usr/bin/$i $PKG/usr/bin/
mv usr/man/man1/$i.1 $PKG/usr/man/man1
done
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
chown $ALIAS_USER:$NOFILES_GROUP $PKG/usr/bin/maildirserial
chmod u+s $PKG/usr/bin/maildirserial
mv usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
chmod g-s $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $CWD/README.SBo $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
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}

View file

@ -0,0 +1,10 @@
PRGNAM="serialmail"
VERSION="0.75"
HOMEPAGE="http://cr.yp.to/serialmail.html"
DOWNLOAD="http://cr.yp.to/software/serialmail-0.75.tar.gz"
MD5SUM="e6a3049863ae8577b1780fcd9fbc98a9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="mkchroot"
MAINTAINER="Duncan Roe"
EMAIL="duncan_roe@optusnet.com.au"

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------------------------------------------------------|
serialmail: serialmail (pass mail over intermittent links)
serialmail:
serialmail: serialmail is a collection of tools originally designed for passing
serialmail: mail across serial (dialup) links. Nowadays you can use it over
serialmail: intermittently available wifi, e.g. at a conference.
serialmail: serialmail works with qmail: you use qmail to deliver messages to a
serialmail: maildir, and then serialmail to deliver messages out of the maildir.
serialmail:
serialmail: serialmail supports SMTP, including ESMTP PIPELINING, and QMTP.
serialmail:
serialmail: Home page: http://cr.yp.to/serialmail.html