[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
some git updates
From: |
Eric Blake |
Subject: |
some git updates |
Date: |
Fri, 02 Nov 2007 18:47:00 -0600 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Write access to the old CVS repository is now disabled, and I have removed
the link to the CVS repository from the savannah page (although the
repository is still readable, in case you want to diff an old tree against
the old repository). Meanwhile, I'm pushing this commit (and a similar
one to the branch) to try and make it more obvious that M4 is now stored
in git.
Plus a bug fix - when I switched over to the xprintf gnulib module, it
broke uses of %zu on non-POSIX hosts that were previously covered by
fprintf-posix. Hence, the switch to xprintf-posix.
- --
Don't work too hard, make some time for fun as well!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFHK8UD84KuGfSFAYARAvsWAJ4pQIOBYhsLM8zGfyAn70p4Gn8ymQCeLtLV
DN0qdNt9qO6FNXvozN5ja9Q=
=gOkH
-----END PGP SIGNATURE-----
>From 26e81bffc9145212893274b1c55779d395bb16cf Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Fri, 2 Nov 2007 17:03:01 -0600
Subject: [PATCH] Update to recent gnulib changes.
* ltdl/m4/gnulib-cache.m4: Replace fprintf-posix, vasprintf-posix,
xprintf, and xvasprintf with xprintf-posix and xvasprintf-posix.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 6 ++++++
ltdl/m4/gnulib-cache.m4 | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 4e3e81d..c78752e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-11-02 Eric Blake <address@hidden>
+
+ Update to recent gnulib changes.
+ * ltdl/m4/gnulib-cache.m4: Replace fprintf-posix, vasprintf-posix,
+ xprintf, and xvasprintf with xprintf-posix and xvasprintf-posix.
+
2007-11-01 Eric Blake <address@hidden>
Improve error message when early end of file occurs.
diff --git a/ltdl/m4/gnulib-cache.m4 b/ltdl/m4/gnulib-cache.m4
index a0517eb..927082e 100644
--- a/ltdl/m4/gnulib-cache.m4
+++ b/ltdl/m4/gnulib-cache.m4
@@ -15,11 +15,11 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --local-dir=local --lib=libgnu
--source-base=gnu --m4-base=ltdl/m4 --doc-base=doc --aux-dir=ltdl/config
--with-tests --libtool --macro-prefix=M4 assert autobuild avltree-oset
binary-io clean-temp cloexec close-stream closein config-h configmake dirname
error exit fdl fflush filenamecat fopen-safer fprintf-posix free fseeko gendocs
gettext gnupload gpl-3.0 mkstemp obstack progname regex regexprops-generic
sprintf-posix stdbool stdlib-safer strnlen strtol tempname unlocked-io
vasprintf-posix verror xalloc xalloc-die xprintf xstrndup xvasprintf
+# gnulib-tool --import --dir=. --local-dir=local --lib=libgnu
--source-base=gnu --m4-base=ltdl/m4 --doc-base=doc --aux-dir=ltdl/config
--with-tests --libtool --macro-prefix=M4 assert autobuild avltree-oset
binary-io clean-temp cloexec close-stream closein config-h configmake dirname
error exit fdl fflush filenamecat fopen-safer free fseeko gendocs gettext
gnupload gpl-3.0 mkstemp obstack progname regex regexprops-generic
sprintf-posix stdbool stdlib-safer strnlen strtol tempname unlocked-io verror
xalloc xalloc-die xprintf-posix xstrndup xvasprintf-posix
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([local])
-gl_MODULES([assert autobuild avltree-oset binary-io clean-temp cloexec
close-stream closein config-h configmake dirname error exit fdl fflush
filenamecat fopen-safer fprintf-posix free fseeko gendocs gettext gnupload
gpl-3.0 mkstemp obstack progname regex regexprops-generic sprintf-posix stdbool
stdlib-safer strnlen strtol tempname unlocked-io vasprintf-posix verror xalloc
xalloc-die xprintf xstrndup xvasprintf])
+gl_MODULES([assert autobuild avltree-oset binary-io clean-temp cloexec
close-stream closein config-h configmake dirname error exit fdl fflush
filenamecat fopen-safer free fseeko gendocs gettext gnupload gpl-3.0 mkstemp
obstack progname regex regexprops-generic sprintf-posix stdbool stdlib-safer
strnlen strtol tempname unlocked-io verror xalloc xalloc-die xprintf-posix
xstrndup xvasprintf-posix])
gl_AVOID([])
gl_SOURCE_BASE([gnu])
gl_M4_BASE([ltdl/m4])
--
1.5.3.2
>From 4ccde147dd426daa27b2bbaa9bfc6d3587e9ddd4 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Fri, 2 Nov 2007 18:42:16 -0600
Subject: [PATCH] Update some documentation about version control.
* NEWS: M4 is now stored in git.
* HACKING: Likewise.
* README: Likewise.
* bootstrap: Likewise.
* commit: Delete, now that CVS commits are no longer necessary.
* ltdl/config/mailnotify: No longer necessary; git's patch
generation and mail capability is more powerful.
Signed-off-by: Eric Blake <address@hidden>
(cherry picked from commit 0f7701a19187152180a0b9907fab29d152fc534a)
---
ChangeLog | 9 +
HACKING | 54 ++++--
NEWS | 2 +-
README | 5 +-
bootstrap | 18 +-
commit | 463 ------------------------------------------------
ltdl/config/mailnotify | 438 ---------------------------------------------
7 files changed, 57 insertions(+), 932 deletions(-)
delete mode 100755 commit
delete mode 100755 ltdl/config/mailnotify
diff --git a/ChangeLog b/ChangeLog
index c78752e..d4c0157 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2007-11-02 Eric Blake <address@hidden>
+ Update some documentation about version control.
+ * NEWS: M4 is now stored in git.
+ * HACKING: Likewise.
+ * README: Likewise.
+ * bootstrap: Likewise.
+ * commit: Delete, now that CVS commits are no longer necessary.
+ * ltdl/config/mailnotify: No longer necessary; git's patch
+ generation and mail capability is more powerful.
+
Update to recent gnulib changes.
* ltdl/m4/gnulib-cache.m4: Replace fprintf-posix, vasprintf-posix,
xprintf, and xvasprintf with xprintf-posix and xvasprintf-posix.
diff --git a/HACKING b/HACKING
index 0ec0b92..a92443b 100644
--- a/HACKING
+++ b/HACKING
@@ -50,18 +50,36 @@ and is not part of a release distribution.
3. Bootstrapping
================
-* Before you can build from CVS, you need to bootstrap. This requires a
+* The master M4 repository is stored in git. You can obtain a read-only
+ copy with:
+ git clone git://git.sv.gnu.org/m4.git
+ or
+ cvs -d:pserver:address@hidden:/srv/git/m4.git \
+ co -d m4 HEAD
+
+ If you are a member of the savannah group for M4, a read-write
+ copy can be obtained by:
+ git clone <savannah-user>@git.sv.gnu.org:/srv/git/m4.git
+
+* Before you can build from git, you need to bootstrap. This requires a
pre-installed version of GNU M4 1.4.5 or later, built from a package;
Autoconf 2.60 or later; Automake 1.10a or later; CVS Head of Libtool
- (will become Libtool 2.0); Gettext 0.16 or later; and a CVS checkout
+ (will become Libtool 2.0); Gettext 0.16 or later; and a git checkout
of gnulib. Gnulib can be obtained by:
- cvs -z3 -d:pserver:address@hidden:/sources/gnulib co gnulib
+ git clone git://git.sv.gnu.org/gnulib.git
+ or
+ cvs -d:pserver:address@hidden:/srv/git/gnulib.git \
+ co -d gnulib HEAD
+
+ If you are a member of the savannah group for gnulib, a read-write
+ copy can be obtained by:
+ git clone <savannah-user>@git.sv.gnu.org:/srv/git/gnulib.git
* Either add the gnulib directory to your PATH, or run
GNULIB_TOOL=path/to/gnulib/gnulib-tool ./bootstrap
* When it is time for a release, it is a good idea to bootstrap with
- official releases of the autotools, rather than CVS builds, to reduce
+ official releases of the autotools, rather than git builds, to reduce
the pain of a user re-running bootstrap on the packaged M4. However,
files installed by Automake should be updated to the latest version
from their respective upstream source, rather than the version that
@@ -200,8 +218,9 @@ yyyy-mm-dd Name of Author <address@hidden> (tiny change)
* Run ./commit from the source tree.
-* Run `make cvs-dist', which will build a release tarball (with `make
- distcheck'), and tag the tree with release-$(VERSION).
+* TODO - adjust this step to account for git:
+ Run `make cvs-dist', which will build a release tarball (with `make
+ distcheck') and tag the tree with release-$(VERSION).
* Run 'make deltas' (pass LASTRELEASE=maj.min[.mic[alpha]] if needed) to
create both diff and xdelta files between the previous release tarball
@@ -295,12 +314,11 @@ This release has @address@hidden
This release was bootstrapped with @address@hidden
-Alternatively, you can fetch the unbootstrapped sourcecode from
-anonymous cvs by using the following commands:
+Alternatively, you can fetch the unbootstrapped sourcecode from git by
+using the following commands:
- $ export CVS_RSH=ssh
- $ cvs -z3 -d :pserver:address@hidden:/sources/m4 \
- co -r @CVS_RELEASE_TAG@ m4
+ $ git clone git://git.sv.gnu.org/m4
+ $ git checkout -b branch @GIT_RELEASE_TAG@
You will then need to have recent versions of Automake and Autoconf
installed, and a recent checkout of gnulib, in order to bootstrap the
@@ -384,16 +402,16 @@ Here are the MD5 and SHA1 checksums:
This release was bootstrapped with @address@hidden
-Alternatively, you can fetch the unbootstrapped sourcecode from
-anonymous cvs by using the following commands:
+Alternatively, you can fetch the unbootstrapped sourcecode from git by
+using the following commands:
- $ export CVS_RSH=ssh
- $ cvs -z3 -d :pserver:address@hidden:/sources/m4 \
- co -r @CVS_RELEASE_TAG@ m4
+ $ git clone git://git.sv.gnu.org/m4
+ $ git checkout -b branch @GIT_RELEASE_TAG@
You will then need to have the latest release versions of Automake
-(@AUTOMAKE_VERSION@) and Autoconf (@AUTOCONF_VERSION@) installed to
-bootstrap the checked out sources yourself.
+(@AUTOMAKE_VERSION@) and Autoconf (@AUTOCONF_VERSION@) installed, as
+well as a git checkout of gnulib, in order to bootstrap the checked out
+sources yourself.
Please report bugs to <address@hidden>, along with the output of 'make
check' and any other information that might be useful in resolving the
diff --git a/NEWS b/NEWS
index fd8334c..03627a4 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,7 @@ GNU m4 NEWS - History of user-visible changes. -*-
outline -*-
Copyright (C) 1992, 1993, 1994, 1998, 2000, 2001, 2006, 2007 Free Software
Foundation, Inc.
-* Version beta 1.9b - ???, by ??? (CVS version 1.9a)
+* Version beta 1.9b - ???, by ??? (git version 1.9a-*)
NOTE - there are still a number of FIXMEs to resolve before this can be
promoted to 2.0.
diff --git a/README b/README
index c9dfa6b..58ccde1 100644
--- a/README
+++ b/README
@@ -11,13 +11,14 @@ GNU `m4' has a web site at http://www.gnu.org/software/m4/.
If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
should be fully installed *prior to* configuring `autoconf' itself.
-Likewise, if you intend on hacking GNU `m4' from CVS, the bootstrap
+Likewise, if you intend on hacking GNU `m4' from git, the bootstrap
process requires that you first install a released copy of GNU `m4'.
If you are just trying to build `m4' from a released tarball, you
should not normally need to run `./bootstrap' or `autoreconf'; just go
ahead and start with `./configure'. If you are trying to build `m4'
-from CVS, more information can be found in the CVS-only file HACKING.
+from git or CVS, more information can be found in the file HACKING,
+only found in a version control checkout.
In the subdirectories `tests' and `examples' you will find various m4
files, ranging from trivial test files to rather advanced macros. If
diff --git a/bootstrap b/bootstrap
index bc3153b..4f453b4 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
-# bootstrap (GNU M4) version 2007-09-24
+# bootstrap (GNU M4) version 2007-11-02
# Written by Gary V. Vaughan <address@hidden>
# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
@@ -37,7 +37,7 @@
# This script bootstraps a git or CVS checkout of GNU M4 by correctly calling
# out to parts of the GNU Build Platform. Currently this requires GNU
# Gettext 0.16 or better, Autoconf 2.60 or better, GNU M4 1.4.x or
-# better, a CVS snapshot of Automake 1.10a or better, a CVS snapshot
+# better, a git snapshot of Automake 1.10a or better, a CVS snapshot
# of Libtool 2.1a or better, and the latest git or CVS checkout of Gnulib.
# Libtool must be installed; either with the same --prefix as
# automake, or made accessible to aclocal's search path via
@@ -86,8 +86,8 @@ progpath="$0"
progname=`echo "$progpath" | $SED "$basename"`
PROGRAM=bootstrap
-# Detect whether this is a CVS checkout or a tarball
-CVS_only_file=HACKING
+# Detect whether this is a version control system checkout or a tarball
+vcs_only_file=HACKING
# func_echo arg...
# Echo program name prefixed message.
@@ -209,10 +209,6 @@ func_update ()
opt="$1"
shift
case $opt in
- -f|--force)
- CVS_only_file=
- ;;
-
-p|--download-po)
test $# = 0 && func_missing_arg $opt && break
case $1 in
@@ -235,6 +231,7 @@ func_update ()
set -- "$opt" "$arg" ${1+"$@"}
;;
+ -f|--force) vcs_only_file= ;;
-\?|-h) func_usage ;;
--help) func_help ;;
--version) func_version ;;
@@ -247,8 +244,9 @@ func_update ()
# Bail if the options were screwed
$exit_cmd $EXIT_FAILURE
- if test -n "$CVS_only_file" && test ! -r "$CVS_only_file"; then
- func_fatal_error "Bootstrapping from a non-git distribution is risky."
+ if test -n "$vcs_only_file" && test ! -r "$vcs_only_file"; then
+ func_fatal_error \
+ "Bootstrapping from a non-version-control distribution is risky."
fi
}
diff --git a/commit b/commit
deleted file mode 100755
index d620bc5..0000000
--- a/commit
+++ /dev/null
@@ -1,463 +0,0 @@
-#! /bin/sh
-
-# clcommit (GNU cvs-utils) version 0.11
-# Written by Gary V. Vaughan <address@hidden>
-# and Alexandre Oliva <address@hidden>
-
-# Copyright (C) 1999, 2000, 2004, 2006, 2007 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Usage: $progname [-v] [-h] [-f] [-l] [-n] [-q] [-z N] [-C ChangeLog_file]
-# [-m msg|-F msg_file|-1] [-s addr [--from addr]] [--] [file|dir ...]
-
-# -C file --changelog=file extract commit message from specified ChangeLog
-# -zN --compress=N set compression level (0-9, 0=none, 9=max)
-# -n --dry-run don't commit anything
-# --fast same as --force --first
-# -F file --file=file read commit message from file
-# -1 --first extract first entry from ChangeLog, no cvs diff
-# -f --force don't check (unless *followed* by -n), and just
-# display commit message instead of running $PAGER
-# --from=addr override default from address in commit email
-# -l --local don't descend into subdirectories
-# -m msg --message=msg set commit message
-# --msg=msg same as -m
-# -q --quiet run cvs in quiet mode
-# -s addr --sendmail=addr send a commit email of the differences to ADDR
-# --signature[=file] add FILE to the end of the email (~/.signature)
-# -v --version print version information
-# -h,-? --help print short or long help message
-
-# This script eases checking in changes to CVS-maintained projects
-# with ChangeLog files. It will check that there have been no
-# conflicting commits in the CVS repository and print which files it
-# is going to commit to stderr. A list of files to compare and to
-# check in can be given in the command line. If it is not given, all
-# files in the current directory (and below, unless `-l' is given) are
-# considered for check in.
-
-# The commit message will be extracted from the differences between a
-# file named ChangeLog* in the commit list, or named after -C, and the
-# one in the repository (unless a message was specified with `-m' or
-# `-F'). An empty message is not accepted (but a blank line is). If
-# the message is acceptable, it will be presented for verification
-# (and possible edition) using the $PAGER environment variable (or
-# `more', if it is not set, or `cat', if the `-f' switch is given).
-# If $PAGER exits successfully, the modified files (at that moment)
-# are checked in, unless `-n' was specified, in which case nothing is
-# checked in.
-
-# Report bugs to <address@hidden>
-
-: ${CVS="cvs"}
-: ${MAILNOTIFY="./ltdl/config/mailnotify"}
-: ${MKSTAMP="./ltdl/config/mkstamp"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SED="sed"}
-
-SHELL="/bin/sh"
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED "$basename"`
-PROGRAM=clcommit
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-cvs_flags=
-update_flags=
-commit_flags=
-opt_commit=:
-opt_update=:
-opt_first=false
-
-sendmail_to=
-sendmail_from=
-exit_cmd=:
-
-# Locations for important files
-signature_file=
-log_file="${TMPDIR-/tmp}/commitlog.$$"
-
-$RM "${log_file}*"
-trap '$RM "${log_file}*"; exit $EXIT_FAILURE' 1 2 15
-
-set -e
-
-
-# func_echo arg...
-# Echo program name prefixed message.
-func_echo ()
-{
- echo $progname: ${1+"$@"}
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
- echo $progname: ${1+"$@"} 1>&2
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_error ${1+"$@"}
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "Try \`$progname --help' for more information."
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
- func_error "missing argument for $1"
- exit_cmd=exit
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
- $SED '/^# Usage:/,/# -h/ {
- s/^# //; s/^# *$//;
- s/\$progname/'$progname'/;
- p;
- }; d' < "$progpath"
- echo
- echo "run \`$progname --help | more' for full usage"
- exit $EXIT_SUCCESS
-}
-
-# func_help
-# Echo long help message to standard output and exit.
-func_help ()
-{
- $SED '/^# Usage:/,/# Report bugs to/ {
- s/^# //; s/^# *$//;
- s/\$progname/'$progname'/;
- p;
- }; d' < "$progpath"
- exit $EXIT_SUCCESS
-}
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
- $SED '/^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //; s/^# *$//;
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/;
- p;
- }; d' < "$progpath"
- exit $EXIT_SUCCESS
-}
-
-# Parse options once, thoroughly. This comes as soon as possible in
-# the script to make things like `commit --version' happen quickly.
-{
- # sed scripts:
- my_sed_single_opt='1s/^\(..\).*$/\1/;q'
- my_sed_single_rest='1s/^..\(.*\)$/\1/;q'
- my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
- my_sed_long_arg='1s/^--[^=]*=//'
-
- # this just eases exit handling
- while test $# -gt 0; do
- opt="$1"
- shift
- case $opt in
-
- --fast) set -- --force --first ${1+"$@"} ;;
-
- -f|--force) opt_update=false; PAGER=cat ;;
-
- --from) test $# = 0 && func_missing_arg $opt && break
- sendmail_from="$1"
- shift
- ;;
-
- -l|--local) update_flags="$update_flags -l"
- commit_flags="$commit_flags -l"
- ;;
-
- -m|--message|--msg)
- test $# = 0 && func_missing_arg $opt && break
- if $opt_first || test -f "$log_file"; then
- func_error "you can have at most one of -m, -F and -1"
- break
- fi
- echo "$1" > "$log_file"
- shift
- ;;
-
- -F|--file) test $# = 0 && func_missing_arg $opt && break
- if $opt_first || test -f "$log_file"; then
- func_error "you can have at most one of -m, -F and -1"
- break
- fi
- if cat < "$1" > "$log_file"; then :; else
- break
- fi
- shift
- ;;
-
- -1|--first) if test -f "$log_File"; then
- func_error "you can have at most one of -m, -F and -1"
- break
- fi
- opt_first=:
- ;;
-
- -C|--[cC]hange[lL]og)
- test $# = 0 && func_missing_arg $opt && break
- if test -f "$1"; then :; else
- func_error "ChangeLog file \`$1' does not exist"
- break
- fi
- ChangeLog="$1"
- shift
- ;;
-
- -n|--dry-run) opt_commit=false; opt_update=: ;;
-
- -q|--quiet) cvs_flags="$cvs_flags -q" ;;
-
- -s|--sendmail) test $# = 0 && func_missing_arg $opt && break
- sendmail_to="$1"
- shift
- ;;
-
- --signature) test $# = 0 && func_missing_arg $opt && break
- signature_file="$HOME/.signature"
- case $1 in
- -*) ;;
- *) signature_file="$1"; shift ;;
- esac
- if test -f "$signature_file"; then :; else
- func_error "\`$signature_file': file not found"
- break
- fi
- ;;
-
- -z|--compress)
- test $# = 0 && func_missing_arg $opt && break
- case "$1" in
- [0-9]) :;;
- *) func_error "invalid argument for $opt"
- break
- ;;
- esac
- cvs_flags="$cvs_flags -z$1"
- shift
- ;;
-
- # Separate optargs to long options:
-
--message=*|--msg=*|--from=*|--file=*|--[Cc]hange[Ll]og=*|--compress=*|--sendmail=*|--signature=*)
- arg=`echo "$opt" | $SED "$my_sed_long_arg"`
- opt=`echo "$opt" | $SED "$my_sed_long_opt"`
- set -- "$opt" "$arg" ${1+"$@"}
- ;;
-
- # Separate optargs to short options:
- -m*|-F*|-C*|-s*|-z*)
- arg=`echo "$opt" |$SED "$my_sed_single_rest"`
- opt=`echo "$opt" |$SED "$my_sed_single_opt"`
- set -- "$opt" "$arg" ${1+"$@"}
- ;;
-
- # Separate non-argument short options:
- -f*|-1*|-n*|-q*)
- rest=`echo "$opt" |$SED "$my_sed_single_rest"`
- opt=`echo "$opt" |$SED "$my_sed_single_opt"`
- set -- "$opt" "-$rest" ${1+"$@"}
- ;;
-
- -\?|-h) func_usage ;;
- --help) func_help ;;
- --version) func_version ;;
- --) break ;;
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
- *) set -- "$opt" ${1+"$@"}; break ;;
- esac
- done
-
- if test -z "$sendmail_to"; then
-
- # can't have a from address without a destination address
- test -n "$sendmail_from" &&
- func_error "can't use --from without --sendmail." && exit_cmd=exit
-
- # can't use a signature file without a destination address
- test -n "$signature_file" &&
- func_error "can't use --signature without --sendmail." && exit_cmd=exit
- fi
-
- # Bail if the options were screwed
- $exit_cmd $EXIT_FAILURE
-}
-
-
-$opt_update && {
- func_error "$progname: checking for conflicts..."
- if ( $CVS $cvs_flags -q -n update $update_flags ${1+"$@"} |
- while read line; do
- echo "$line"
- echo "$line" >&3
- done | grep '^C'
- ) 3>&1 >/dev/null; then
- func_fatal_error "some conflicts were found, aborting..."
- fi
-}
-
-if test -f "$log_file"; then :; else
- if test -z "$ChangeLog"; then
- for f in ${1+"$@"}; do
- case "$f" in
- ChangeLog* | */ChangeLog*)
- if test -z "$ChangeLog"; then
- ChangeLog="$f"
- else
- func_fatal_error "multiple ChangeLog files: $ChangeLog and $f"
- fi
- ;;
- esac
- done
- fi
-
- func_error "$progname: checking commit message..."
- if $opt_first; then
- skipping=:
- sed 's,^,+,' < ${ChangeLog-ChangeLog} |
- while read line; do
- case "$line" in
- "+") if $skipping; then skipping=false; else break; fi;;
- "+ "*)
- func_error "*** Warning: lines should start with tabs, not spaces;
ignoring line:"
- echo "$line" | sed 's/^.//' >&2;;
- "+ "*)
- $skipping || echo "$line" ;;
- esac
- done |
- sed 's,^\+ ,,' > "$log_file" || exit $EXIT_FAILURE
- else
- $CVS $cvs_flags diff -u ${ChangeLog-ChangeLog} |
- while read line; do
- case $line in
- "--- "*) :;;
- "-"*)
- func_error "*** Warning: the following line in ChangeLog diff is
suspicious:"
- echo "$line" | sed 's/^.//' >&2;;
- "+ "*)
- func_error "*** Warning: lines should start with tabs, not spaces;
ignoring line:"
- echo "$line" | sed 's/^.//' >&2;;
- "+") echo ;;
- "+ "*) echo "$line";;
- esac
- done |
- sed -e 's,\+ ,,' -e '/./p' -e '/./d' -e '1d' -e '$d' > "$log_file" \
- || exit $EXIT_FAILURE
- fi
- # The sed script above removes "+TAB" from the beginning of a line, then
- # deletes the first and/or the last line, when they happen to be empty
-fi
-
-grep '[^ ]' < "$log_file" > /dev/null ||
- func_fatal_error "empty commit message, aborting"
-
-if grep '^$' < "$log_file" > /dev/null; then
- func_error "*** Warning: blank lines should not appear within commit
messages."
- func_error "*** They should be used to separate distinct commits."
-fi
-
-${PAGER-more} "$log_file" || exit $EXIT_FAILURE
-
-sleep 1 # give the user some time for a ^C
-
-filelist=`cvs -nq up 2>/dev/null | grep '^[MAD] ' | sed 's/^. //'`
-
-# Do not check for empty $log_file again, even though the user might have
-# zeroed it out. If s/he did, it was probably intentional.
-
-if $opt_commit; then
- $CVS $cvs_flags commit $commit_flags -F $log_file ${1+"$@"} || exit
$EXIT_FAILURE
-fi
-
-# Send a copy of the log_file if sendmail_to was set:
-if test -n "$sendmail_to"; then
- notify_file="${log_file}.2"
- func_error "Mailing commit notification to $sendmail_to"
- test $# -gt 0 && filelist="$@"
-
- {
- test -f CVS/Root &&
- echo "CVSROOT: `sed -e 's,.*:,,g' CVS/Root`"
- test -f $MKSTAMP &&
- echo "TIMESTAMP: `$SHELL $MKSTAMP < ./ChangeLog`"
- test -f CVS/Repository &&
- echo "Module name: `cat CVS/Repository`"
- test -f CVS/Tag &&
- echo "Branch: `sed -e 's,^T,,;1q' CVS/Tag`"
- test -f CVS/Root &&
- echo "Changes by: `sed -e 's,:.*$,,g;s,^.*:,,' CVS/Root`"
- echo ""
- echo "Log Message:"
- sed -e 's,^, ,' "$log_file"
- test -f "$signature_file" && cat "$signature_file"
- } > "$notify_file"
-
- if test -n "$sendmail_from"; then
- $SHELL $MAILNOTIFY -F "$sendmail_from" -s "`echo $filelist`" -f
"$notify_file" -m "text/plain" "$sendmail_to"
- else
- $SHELL $MAILNOTIFY -s "`echo $filelist`" -f "$notify_file" -m "text/plain"
"$sendmail_to"
- fi
-fi
-
-$RM "${log_file}*"
-
-exit $EXIT_SUCCESS
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/ltdl/config/mailnotify b/ltdl/config/mailnotify
deleted file mode 100755
index 69cf5c6..0000000
--- a/ltdl/config/mailnotify
+++ /dev/null
@@ -1,438 +0,0 @@
-#!/bin/sh
-#
-# mailnotify (GNU cvs-utils) version 0.2
-# Written by Gary V. Vaughan <address@hidden>
-
-# Copyright (C) 2004, 2007 Free Software Foundation, Inc.
-
-# This file is part of GNU M4.
-#
-# GNU M4 is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# GNU M4 is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Usage: $progname [OPTION]... [--] to-address...
-#
-# -C ADDR --carbon-copy=ADDR send a carbon-copy to ADDR
-# -F ADDR --from=ADDR override default from address with ADDR
-# -f FILE --filename=FILE content of this part
-# -m TYPE --mime-type=TYPE mime-type of this part
-# -n another mime part (-f, -m) to follow
-# -o FILE --output-file=FILE output to FILE instead of sending
-# -s TEXT --subject=TEXT set subject header
-# -v --verbose run in verbose mode
-# --version print version information
-# -h,-? --help print short or long help message
-
-# Assemble a (possibly multi-part) mime message and hand it to the local
-# sendmail for onward delivery. MUAs tend to mangle patch attachments in
-# various ways: not setting the mime-type correctly, line wrapping the
-# patch itself, escaping certain values, etc. This script is designed to
-# make it easier to send a patch as a MIME attachment, though it is general
-# enough that it might be useful otherwise.
-
-# For example to send a patch as an attachment, assuming the patch itself
-# is in PATCHFILE:
-#
-# echo 'Applied to HEAD' > body
-# $progname -f body -m text/plain -n -f PATCHFILE -m text/x-patch \
-# -s 'FYI: PATCHFILE' address@hidden
-
-# You will probably find using this script in conjunction with clcommit
-# or cvsapply will save you an awful lot of typing.
-
-# Report bugs to <address@hidden>
-
-: ${TMPDIR=/tmp}
-: ${HOST=`hostname`}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SED="sed"}
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED "$basename"`
-PROGRAM=mailnotify
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-multipart=1
-outputfile=""
-
-exit_cmd=:
-
-sed_mail_address='s,^.*<\(.*\)>.*$,\1,'
-
-# func_echo arg...
-# Echo program name prefixed message.
-func_echo ()
-{
- echo $progname: ${1+"$@"}
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
- echo $progname: ${1+"$@"} 1>&2
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_error ${1+"$@"}
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "Try \`$progname --help' for more information."
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
- func_error "missing argument for $1"
- exit_cmd=exit
-}
-
-# Echo short help message to standard output and exit.
-func_usage ()
-{
- $SED '/^# Usage:/,/# -h/ {
- s/^# //; s/^# *$//;
- s/\$progname/'$progname'/;
- p;
- }; d' < "$progpath"
- echo
- echo "run \`$progname --help | more' for full usage"
- exit $EXIT_SUCCESS
-}
-
-# func_help
-# Echo long help message to standard output and exit.
-func_help ()
-{
- $SED '/^# Usage:/,/# Report bugs to/ {
- s/^# //; s/^# *$//;
- s/\$progname/'$progname'/;
- p;
- }; d' < "$progpath"
- exit $EXIT_SUCCESS
-}
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
- $SED '/^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //; s/^# *$//;
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/;
- p;
- }; d' < "$progpath"
- exit $EXIT_SUCCESS
-}
-
-# Parse options once, thoroughly. This comes as soon as possible in
-# the script to make things like `mailnotify --version' happen quickly.
-{
- # sed scripts:
- my_sed_single_opt='1s/^\(..\).*$/\1/;q'
- my_sed_single_rest='1s/^..\(.*\)$/\1/;q'
- my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
- my_sed_long_arg='1s/^--[^=]*=//'
-
- while test $# -gt 0; do
- opt="$1"
- shift
- case $opt in
- -C|--carbon-copy) test $# -eq 0 && func_missing_arg "$opt" && break
- cc="$1"
- shift
- ;;
-
- -F|--from) test $# -eq 0 && func_missing_arg "$opt" && break
- from="$1"
- shift
- ;;
-
- -f|--filename) test $# -eq 0 && func_missing_arg "$opt" && break
- if test -f "$1"; then :; else
- func_error "\`$1' does not exist"
- exit_cmd=exit
- break
- fi
- eval datafile$multipart=\"$1\"
- shift
- ;;
-
- -m|--mime-type) test $# -eq 0 && func_missing_arg "$opt" && break
- case $1 in
- text/*) ;;
- */*) func_error "only text/* mime-types supported"
- ;;
- *) func_error "invalid mime-type, \`$1'"
- exit_cmd=exit
- ;;
- esac
- eval ctype$multipart=\"$1\"
- shift
- ;;
-
- -n) if eval test -z \"\$ctype$multipart\" ||
- eval test -z \"\$datafile$multipart\"; then
- func_fatal_error "One part is incomplete -- each part
needs a filename and a mime-type"
- fi
- multipart=`expr 1 + $multipart`
- ;;
-
- -o|--output-file) test $# -eq 0 && func_missing_arg "$opt" &&
break
- outputfile="$1"
- shift
- ;;
-
- -s|--subject) test $# -eq 0 && func_missing_arg "$opt" && break
- subject="$1"
- shift
- ;;
-
- -v|--verbose) opt_verbose=: ;;
-
- # Separate optargs to long options:
-
--carbon-copy=*|--from=*|--filename=*|--mime-type=*|--output-file=*|--subject=*)
- arg=`echo "$opt" | $SED "$my_sed_long_arg"`
- opt=`echo "$opt" | $SED "$my_sed_long_opt"`
- set -- "$opt" "$arg" ${1+"$@"}
- ;;
-
- # Separate optargs to short options:
- -C*|-F*|-f*|-m*|-o*|-s*)
- arg=`echo "$opt" |$SED "$my_sed_single_rest"`
- opt=`echo "$opt" |$SED "$my_sed_single_opt"`
- set -- "$opt" "$arg" ${1+"$@"}
- ;;
-
- # Separate non-argument short options:
- -n*|-v*)
- rest=`echo "$opt" |$SED "$my_sed_single_rest"`
- opt=`echo "$opt" |$SED "$my_sed_single_opt"`
- set -- "$opt" "-$rest" ${1+"$@"}
- ;;
-
- -\?|-h) func_usage ;;
- --help) func_help ;;
- --version) func_version ;;
- --) break ;;
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
- *) set -- "$opt" ${1+"$@"}; break ;;
- esac
- done
-
- test $# -gt 0 ||
- func_fatal_help "no destination address"
-
- if test -z "$outputfile"; then
- if test -z "$subject" ||
- eval test -z \"\$ctype$multipart\" ||
- eval test -z \"\$datafile$multipart\"; then
- func_fatal_error "if output is not directed to a file -s, -f, and -m are
all required"
- fi
- else
- eval test -n \"\$datafile$multipart\" ||
- func_fatal_error "-f is required."
- eval test -n \"\$ctype$multipart\" ||
- func_fatal_error "with output directed to a file, -m is required"
- fi
- eval test -f \"\$datafile$multipart\" ||
- eval func_fatal_error \"\$datafile$multipart: file not found\"
-}
-
-
-# func_headers outfile destination
-# Generate common headers to OUTFILE, where DESTINATION is a comma
-# separated list of fully qualified destination addresses.
-func_headers ()
-{
- my_outfile="$1"
- my_destination="$2"
- my_sed_version_no='/^# '$PROGRAM' (GNU / { s/^# .*version //; p; }; d'
-
- {
- 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"
- } > "$my_outfile"
-}
-
-
-# func_single_content outfile
-# Send the only message part as a single mime mail part.
-func_single_content ()
-{
- my_outfile="$1"
-
- cat >> "$my_outfile" <<EOF
-Content-Type: $ctype1
-Content-Transfer-Encoding: 7bit
-
-`cat $datafile1`
-EOF
-}
-
-
-# func_multipart_content outfile
-# Send the various message parts to OUTFILE as a multipart mime mail.
-func_multipart_content ()
-{
- my_outfile="$1"
- boundary="Boundary-${HOST}-$$-`date | tr ' :' -`"
- cat <<EOF >> "$my_outfile"
-Content-Type: Multipart/Mixed;
- boundary="$boundary"
-
-This is a multimedia message in MIME format. If you are reading
-this prefix, your mail reader does not understand MIME. You may
-wish to look into upgrading to a mime-aware mail reader.
-EOF
- i=0
- while test $i -lt $multipart
- do
- i=`expr 1 + $i`
- {
- echo ""
- echo "--$boundary"
- eval echo \"Content-Type: \$ctype$i\"
- echo "Content-Transfer-Encoding: 7bit"
- echo ""
- eval cat \"\$datafile$i\"
- } >> "$my_outfile"
- done
- {
- echo ""
- echo "--${boundary}--"
- echo ""
- } >> "$my_outfile"
-}
-
-
-# func_sendmail infile destination [from]
-# Send the message in INFILE to the space delimited list of destination
-# addresses in DESTINATION. If FROM is given, it is the address the
-# mail purports to be from.
-# BEWARE: Many MTAs will refuse mail where FROM does not match the actual
-# sending domain.
-func_sendmail ()
-{
- my_infile="$1"
- my_destination="$2"
- my_from="$3"
-
- from_name=`echo "$my_from" | sed 's, *<.*> *$,,;s,",,g'`
- from_addr=`echo "$my_from" | sed "$sed_mail_address"`
-
- SENDMAIL=sendmail
- for try_sendmail in sendmail /usr/lib/sendmail /usr/sbin/sendmail; do
- if which $try_sendmail >/dev/null; then
- SENDMAIL=$try_sendmail
- break
- fi
- done
-
- func_verbose "Delivering mail, please wait..."
- if test -n "$from_name"; then
- $SENDMAIL -F "$from_name" -f "$from_addr" $my_destination < "$my_infile"
- elif test -n "$from_addr"; then
- $SENDMAIL -f "$from_addr" $my_destination < "$my_infile"
- else
- $SENDMAIL $my_destination < "$my_infile"
- fi
- if test $? -eq 0; then
- func_verbose "...succeeded."
- rm $my_infile
- else
- func_fatal_error "Mail delivery failed, draft mail is in $my_infile"
- fi
-}
-
-
-
-## ----- ##
-## main. ##
-## ----- ##
-
-{
- fname="${TMPDIR}/$PROGRAM$RANDOM-$RANDOM.$$"
- trap 'rm -f "$fname"; exit 1' 1 2 15
-
- destination=""
- for to;
- do
- case $destination in
- "") destination="$to" ;;
- *) destination="$destination, $to" ;;
- esac
- done
-
- func_headers "$fname" "$destination"
- if test $multipart -gt 1; then
- func_multipart_content "$fname"
- else
- func_single_content "$fname"
- fi
-
- if test -z "$outputfile"; then
- destination=""
- for to; do
- to_addr=`echo "$to" | sed "$sed_mail_address"`
- test -n "$to_addr" || to_addr="$to"
- destination="$destination $to_addr"
- done
- func_sendmail "$fname" "$destination" "$from"
- else
- mv $fname $outputfile || exit $EXIT_FAILURE
- fi
-}
-
-exit $EXIT_SUCCESS
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
--
1.5.3.2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- some git updates,
Eric Blake <=