X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/b2ee04a120f206dda884d13a9bca53f490ab60b9..d12d581fd68b850e8cfee1d2df2551c66944bdb5:/admin/update-archive.sh diff --git a/admin/update-archive.sh b/admin/update-archive.sh index 91e99f9fa..1b5f2375f 100755 --- a/admin/update-archive.sh +++ b/admin/update-archive.sh @@ -3,13 +3,38 @@ makelog="" buildir="$(pwd)" +announce=no +a_email="" #info-gnu-emacs@gnu.org + export LANG=C -case "$1" in - "--batch") - makelog="$(pwd)/make.log" - exec >"$makelog" 2>&1 - ;; -esac +while [ $# -gt 0 ]; do + case "$1" in + "--announce") announce=yes; a_email="$2"; shift ;; + "--batch") + makelog="$(pwd)/make.log" + exec >"$makelog" 2>&1 + ;; + esac + shift +done + +send_mail () { + to="$1"; shift + title="$*" + mx_gnu_org="$(host -t mx gnu.org | sed 's/.*[ ]//')" + (sleep 5; echo "HELO elpa.gnu.org" + sleep 1; echo "MAIL FROM: " + sleep 1; echo "RCPT TO: <$to>" + sleep 1; echo "DATA" + sleep 1; cat < +To: $to +Subject: $title + +ENDDOC + cat -; echo + echo "."; sleep 1) | telnet "$mx_gnu_org" smtp +} # Send an email to warn about a problem. signal_error () { @@ -17,23 +42,23 @@ signal_error () { if [ "" = "$makelog" ]; then echo "Error: $title" else - mx_gnu_org="$(host -t mx gnu.org | sed 's/.*[ ]//')" - (sleep 5; echo "HELO elpa.gnu.org" - sleep 1; echo "MAIL FROM: " - sleep 1; echo "RCPT TO: " - sleep 1; echo "DATA" - sleep 1; cat < -To: emacs-elpa-diffs@gnu.org -Subject: $title - -ENDDOC - cat "$makelog" - echo "."; sleep 1) | telnet "$mx_gnu_org" smtp + send_mail "emacs-elpa-diffs@gnu.org" "$title" <"$makelog" fi exit 1 } +announce_new () { + if [ "yes" != "$announce" ]; then return; fi + file="$1" + version="$(echo "$file" | sed -e 's|^.*/||' -e 's/^\(.*\)-\([^-]*\)\.[^-.]*$/\2/')" + pkg="$(echo "$file" | sed -e 's|^.*/||' -e 's/^\(.*\)-\([^-]*\)\.[^-.]*$/\1/')" + send_mail "$a_email" "[GNU ELPA] $pkg version $version" <