]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* clcommit.m4sh, config/mailnotify.m4sh: Updated from
authorGary V. Vaughan <gary@gnu.org>
Fri, 22 Oct 2004 12:10:31 +0000 (12:10 +0000)
committerGary V. Vaughan <gary@gnu.org>
Fri, 22 Oct 2004 12:10:31 +0000 (12:10 +0000)
cvs-utils--tla--1.0 to fix quoting of metachars in patch names.

ChangeLog
clcommit.m4sh
config/mailnotify.m4sh

index 82aa2daf27b807013c3c0bba95e798f78735ecaf..d7b1839ce5bd423bae54c274b86c4362a3953a25 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-10-22  Gary V. Vaughan  <gary@gnu.org>
 
+       * clcommit.m4sh, config/mailnotify.m4sh: Updated from
+       cvs-utils--tla--1.0 to fix quoting of metachars in patch names.
+
        * HACKING: Updated: `.in' files are now `.m4sh'; document some
        more coding standards for these files.
 
index 6cb10c02bfba50d2d526178aa3dbf15fd41d8e8e..32116c8109ee31574fee6e807796c2af1160ef1a 100644 (file)
@@ -2,7 +2,7 @@ m4_define([_m4_divert(SCRIPT)], 100)
 m4_divert_push([SCRIPT])#!/bin/sh
 # @configure_input@
 
-# clcommit (GNU @PACKAGE@) version 0.12
+# clcommit (GNU @PACKAGE@) version 0.14
 # Written by Gary V. Vaughan <gary@gnu.org>
 # and Alexandre Oliva <aoliva@redhat.com>
 
@@ -76,7 +76,7 @@ m4_divert_push([SCRIPT])#!/bin/sh
 : ${MAILNOTIFY="mailnotify"}
 : ${MKSTAMP="mkstamp"}
 
-test -f "config/$MAILNOTIFY" && MAILNOTIFY="config/MAILNOTIFY"
+test -f "config/$MAILNOTIFY" && MAILNOTIFY="config/$MAILNOTIFY"
 test -f "config/$MKSTAMP" && MKSTAMP="config/$MKSTAMP"
 
 PROGRAM=clcommit
@@ -100,7 +100,7 @@ mailnotify_flags=
 sendmail_to=
 exit_cmd=:
 
-# Locations for important files
+# Locations for important files:
 signature_file=
 log_file="${TMPDIR-/tmp}/$progname-$$"
 
@@ -134,7 +134,8 @@ set -e
       -f|--force)      opt_update=false; PAGER=cat             ;;
 
       --from)          test $# = 0 && func_missing_arg $opt && break
-                       mailnotify_flags="$mailnotify_flags --from '"$1"'"
+                       func_quote_for_eval "$1"
+                       mailnotify_flags="$mailnotify_flags --from=$func_quote_for_eval_result"
                        shift
                        ;;
 
@@ -185,7 +186,8 @@ set -e
       -q|--quiet)      cvs_flags="$cvs_flags -q"               ;;
 
       -s|--sendmail)   test $# = 0 && func_missing_arg $opt && break
-                       sendmail_to="$1"
+                       func_quote_for_eval "$1"
+                       sendmail_to="$func_quote_for_eval_result"
                        shift
                        ;;
 
@@ -426,8 +428,10 @@ func_mailnotify ()
     echo "$my_mail_body" > "$notify_file"
 
     func_verbose "mailing commit notification to \"$sendmail_to\""
-    eval func_verbose_eval $MAILNOTIFY $mailnotify_flags -s "'$my_mail_subject'" \
-        -m "text/plain" -f "$notify_file" -- "'$sendmail_to'"
+    func_quote_for_eval "$my_mail_subject"
+    func_show_eval "$MAILNOTIFY $mailnotify_flags \
+        -s $func_quote_for_eval_result -m 'text/plain' -f '$notify_file' \
+       -- $sendmail_to"
 }
 
 
index 894a5b47cfddb6febb6092fd2505913a0e04126c..539cbe268bd9237bc652efb072ffdcc33071edfc 100644 (file)
@@ -2,7 +2,7 @@ m4_define([_m4_divert(SCRIPT)], 100)
 m4_divert_push([SCRIPT])#!/bin/sh
 # @configure_input@
 
-# mailnotify (GNU @PACKAGE@) version 0.4
+# mailnotify (GNU @PACKAGE@) version 0.6
 # Written by Gary V. Vaughan <gary@gnu.org>
 
 # Copyright (C) 2004 Free Software Foundation, Inc.
@@ -60,6 +60,7 @@ m4_divert_push([SCRIPT])#!/bin/sh
 
 : ${TMPDIR=/tmp}
 : ${HOST=`hostname`}
+: ${SENDMAIL=sendmail}
 
 PROGRAM=mailnotify
 
@@ -92,12 +93,14 @@ sed_mail_address='s,^.*<\(.*\)>.*$,\1,'
                        ;;
 
       -C|--carbon-copy) test $# -eq 0 && func_missing_arg "$opt" && break
-                       cc="$1"
+                       func_quote_for_eval "$1"
+                       cc="$func_quote_for_eval_result"
                        shift
                        ;;
 
       -F|--from)       test $# -eq 0 && func_missing_arg "$opt" && break
-                       from="$1"
+                       func_quote_for_eval "$1"
+                       from="$func_quote_for_eval_result"
                        shift
                        ;;
 
@@ -132,12 +135,14 @@ sed_mail_address='s,^.*<\(.*\)>.*$,\1,'
                        ;;
 
       -o|--output-file)        test $# -eq 0 && func_missing_arg "$opt" && break
-                       outputfile="$1"
+                       func_quote_for_eval "$1"
+                       outputfile="$func_quote_for_eval_result"
                        shift
                        ;;
 
       -s|--subject)    test $# -eq 0 && func_missing_arg "$opt" && break
-                       subject="$1"
+                       func_quote_for_eval "$1"
+                       subject="$func_quote_for_eval_result"
                        shift
                        ;;
 
@@ -205,10 +210,10 @@ func_headers ()
     {
        echo "User-Agent: $PROGRAM/`$SED \"$my_sed_version_no\" < $progpath`"
        echo "MIME-Version: 1.0"
-       test -n "$from" && echo "From: $from"
-       echo "To: $my_destination"
-       test -n "$cc" && echo "CC: $cc"
-       test -n "$subject" && echo "Subject: $subject"
+       test -n "$from" && eval echo From: $from
+       eval echo To: $my_destination
+       test -n "$cc" && eval echo CC: $cc
+       test -n "$subject" && eval echo Subject: $subject
     } > "$my_outfile"
 }
 
@@ -282,16 +287,25 @@ func_sendmail ()
     my_destination="$2"
     my_from="$3"
 
-    from_name=`echo "$my_from" | sed 's, *<.*> *$,,;s,",,g'`
-    from_addr=`echo "$my_from" | sed "$sed_mail_address"`
+    from_name=`eval echo "X$my_from" | $Xsed -e 's, *<.*> *$,,'`
+    from_addr=`eval echo "X$my_from" | $Xsed -e "$sed_mail_address"`
 
-    SENDMAIL=sendmail
-    for try_sendmail in sendmail /usr/lib/sendmail /usr/sbin/sendmail; do
-       if which $try_sendmail >/dev/null 2>&1; then
-           SENDMAIL=$try_sendmail
+    save_PATH="$PATH"
+    PATH="/usr/lib:/usr/sbin:$PATH"
+
+    save_IFS="$IFS"
+    IFS=':'
+    for try_sendmail_dir in $PATH; do
+        IFS="$save_IFS"
+       PATH="$save_PATH"
+       if test -x "$try_sendmail_dir/$SENDMAIL"; then
+           SENDMAIL="$try_sendmail_dir/$SENDMAIL"
            break
        fi
     done
+    IFS="$save_IFS"
+    PATH="$save_PATH"
+    test -x "$SENDMAIL" || func_fatal_error "sendmail executable not found"
 
     func_verbose "Delivering mail, please wait..."
     if test -n "$from_name"; then
@@ -319,12 +333,18 @@ func_sendmail ()
   fname="${TMPDIR}/$PROGRAM$RANDOM-$RANDOM.$$"
   trap 'rm -f "$fname"; exit 1' 1 2 15
 
+  # Generate a comma separated list of destination addresses for the
+  # mail headers:
   destination=""
-  for to;
+  for to in : ${1+"$@"}
   do
+      test "X$to" = X: && continue
+
+      func_quote_for_eval "$to"
+
       case $destination in
-         "") destination="$to" ;;
-          *)  destination="$destination, $to" ;;
+         "") destination="$func_quote_for_eval_result" ;;
+          *)  destination="$destination, $func_quote_for_eval_result" ;;
       esac
   done
 
@@ -335,11 +355,17 @@ func_sendmail ()
       func_single_content "$fname"
   fi
 
+  # Generate a space delimited list of destination addresses for sendmail:
   if test -z "$outputfile"; then
       destination=""
-      for to; do
-          to_addr=`echo "$to" | sed "$sed_mail_address"`
-         test -n "$to_addr" || to_addr="$to"
+      for to in : ${1+"$@"}
+      do
+          test "X$to" = X: && continue
+
+         func_quote_for_eval "$to"
+
+          to_addr=`echo "$func_quote_for_eval_result" | sed "$sed_mail_address"`
+         test -n "$to_addr" || to_addr="$func_quote_for_eval_result"
          destination="$destination $to_addr"
       done
       func_sendmail "$fname" "$destination" "$from"