emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 01/01: * update-archive.sh: Add "--announce <mailinglist>" argume


From: Stefan Monnier
Subject: [elpa] 01/01: * update-archive.sh: Add "--announce <mailinglist>" argument. (send_mail, announce_new): New functions. (signal_error): Simplify accordingly.
Date: Wed, 21 May 2014 17:59:35 +0000

monnier pushed a commit to branch master
in repository elpa.

commit d12d581fd68b850e8cfee1d2df2551c66944bdb5
Author: Stefan Monnier <address@hidden>
Date:   Wed May 21 13:59:24 2014 -0400

    * update-archive.sh: Add "--announce <mailinglist>" argument.
    (send_mail, announce_new): New functions.
    (signal_error): Simplify accordingly.
---
 admin/update-archive.sh |   66 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 45 insertions(+), 21 deletions(-)

diff --git a/admin/update-archive.sh b/admin/update-archive.sh
index 91e99f9..1b5f237 100755
--- a/admin/update-archive.sh
+++ b/admin/update-archive.sh
@@ -3,13 +3,38 @@
 makelog=""
 buildir="$(pwd)"
 
+announce=no
+a_email="" address@hidden
+
 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: <address@hidden>"
+     sleep 1; echo "RCPT TO: <$to>"
+     sleep 1; echo "DATA"
+     sleep 1; cat <<ENDDOC
+From: ELPA update <address@hidden>
+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: <address@hidden>"
-         sleep 1; echo "RCPT TO: <address@hidden>"
-         sleep 1; echo "DATA"
-         sleep 1; cat <<ENDDOC
-From: ELPA update <address@hidden>
-To: address@hidden
-Subject: $title
-
-ENDDOC
-         cat "$makelog"
-         echo "."; sleep 1) | telnet "$mx_gnu_org" smtp
+        send_mail "address@hidden" "$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" <<ENDDOC
+Version $version of GNU ELPA package $pkg has just been released.
+You can now find it in M-x package-list RET.
+
+More at http://elpa.gnu.org/packages/$pkg.html
+ENDDOC
+}
 
 cd ../elpa
 
@@ -91,9 +116,8 @@ latest="emacs-packages-latest.tgz"
          * ) if [ -r "$dst" ]
              then rm "$f"
              else
-                 # FIXME: Announce the new package/version on
-                 # gnu.emacs.sources!
                  mv "$f" "$dst"
+                 announce_new "$f"
              fi ;;
      esac
  done



reply via email to

[Prev in Thread] Current Thread [Next in Thread]