#!/bin/sh
# $Id$
#
-# Sending via
+# Sending by
+MAILER='/usr/sbin/sendmail'
+# MAILER='/usr/bin/msmtp'
+# Sending via
VIA="SENDMAIL"
#VIA="localhost"
-SENDMAIL=/usr/bin/msmtp
VIA_ARGS=""
#VIA_ARGS="some additional flags"
+# e.g. for msmtp:
+# VIA_ARGS='-a gmail'
#
# DISTFILES EMAIL
DMAIL="distfiles@pld-linux.org"
#
# CVS LOGIN or fill it by hand :)
-LOGIN=`cat CVS/Root | awk -F: '{ print $3; }' | perl -pi -e "s/@.+//"`
+tmp=$(awk -F: '{ print $3; }' CVS/Root)
+LOGIN=${tmp%@*}
#LOGIN="djrzulf"
#
# HOST
-HOST=pld-linux.org
+HOST=`hostname -f`
#HOST="knycz.net"
#
# functions
usage()
{
- echo "\
-Usage: fetchsrc_request file.spec [BRANCH]
-"
+ echo "Usage: fetchsrc_request file.spec [BRANCH]"
+ echo
}
#------------------
# main()
if [ "$#" = 0 ]; then
- usage;
+ usage
+ exit 1
+fi
+if [ "$LOGIN" == "cvs" ]; then
+ echo "Use fetchsrc_request from your R/W CVS tree or set LOGIN by hand" >&2
exit 1
fi
if [ "$2" != "" ]; then
else
BRANCH="HEAD"
fi
+SPEC="$(basename $1)"
+if [[ "$SPEC" != *.spec ]]; then
+ SPEC="$SPEC.spec"
+fi
if [ "$VIA" = "SENDMAIL" ]; then
- cat <<EOF | $SENDMAIL -t $VIA_ARGS
+ echo >&2 "Requesting $SPEC:$BRANCH via $MAILER ${VIA_ARGS:+ ($VIA_ARGS)}"
+ cat <<EOF | "$MAILER" -t -i $VIA_ARGS
To: $DMAIL
From: $LOGIN <$LOGIN@$HOST>
-Subject: fetchsrc_request notify
+Subject: fetchsrc_request notify
X-CVS-Module: SPECS
X-distfiles-request: yes
X-Login: $LOGIN
-X-Spec: $1
+X-Spec: $SPEC
X-Branch: $BRANCH
X-Flags: force-reply
+
.
EOF
else
+ echo >&2 "Requesting $SPEC:$BRANCH via SMTP ($VIA:25)"
cat <<EOF | /usr/bin/nc $VIA 25 > /dev/null
EHLO $HOST
MAIL FROM: $LOGIN <$LOGIN@$HOST>
X-CVS-Module: SPECS
X-distfiles-request: yes
X-Login: $LOGIN
-X-Spec: $1
+X-Spec: $SPEC
X-Branch: $BRANCH
X-Flags: force-reply
+
.
QUIT
EOF