]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Prepare for release.
authorEric Blake <ebb9@byu.net>
Sat, 5 Apr 2008 22:55:03 +0000 (16:55 -0600)
committerEric Blake <ebb9@byu.net>
Sat, 5 Apr 2008 23:04:14 +0000 (17:04 -0600)
* maint.mk (announcement): Avoid deleted option.
* cfg.mk (release_archive_dir): Use default.
* build-aux/gnupload: New file, from automake/gnulib.
* Makefile.am (EXTRA_DIST): Distribute it.
* .x-sc_two_space_separator_in_usage: New file, to exempt gnupload
from syntax check.

Signed-off-by: Eric Blake <ebb9@byu.net>
.x-sc_two_space_separator_in_usage [new file with mode: 0644]
ChangeLog
Makefile.am
build-aux/gnupload [new file with mode: 0755]
cfg.mk
maint.mk

diff --git a/.x-sc_two_space_separator_in_usage b/.x-sc_two_space_separator_in_usage
new file mode 100644 (file)
index 0000000..1b03a24
--- /dev/null
@@ -0,0 +1 @@
+gnupload
index ffeab3c34c84b47e814a518f073f1fd1a6c97839..54272e298440ab506e514f97e22c4102e650f4e6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-04-05  Eric Blake  <ebb9@byu.net>
+
+       Prepare for release.
+       * maint.mk (announcement): Avoid deleted option.
+       * cfg.mk (release_archive_dir): Use default.
+       * build-aux/gnupload: New file, from automake/gnulib.
+       * Makefile.am (EXTRA_DIST): Distribute it.
+       * .x-sc_two_space_separator_in_usage: New file, to exempt gnupload
+       from syntax check.
+
 2008-04-05  Jim Meyering  <meyering@redhat.com>
        and Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
index 9e3cd4ecec0db1a10c170f390f0f70cea9400be8..2e1e72f0e2d717cc505fa1f5e2e84430f8b236d2 100644 (file)
@@ -27,7 +27,8 @@ EXTRA_DIST = ChangeLog.0 ChangeLog.1 ChangeLog.2 \
             BUGS \
             GNUmakefile maint.mk cfg.mk \
             build-aux/git-version-gen \
-            build-aux/announce-gen .prev-version .version
+            build-aux/announce-gen build-aux/gnupload \
+            .prev-version .version
 
 MAINTAINERCLEANFILES = $(srcdir)/INSTALL
 
diff --git a/build-aux/gnupload b/build-aux/gnupload
new file mode 100755 (executable)
index 0000000..6621ebd
--- /dev/null
@@ -0,0 +1,183 @@
+#!/bin/sh
+# Sign files and upload them.
+
+scriptversion=2008-04-02.19
+
+# Copyright (C) 2004, 2005, 2006, 2007, 2008  Free Software Foundation
+#
+# 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, 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/>.
+
+# Originally written by Alexandre Duret-Lutz <adl@gnu.org>.
+
+set -e
+
+GPG='gpg --batch --no-tty'
+to=
+
+usage="Usage: $0 [OPTIONS]... FILES...
+
+Sign all FILES, and upload them to selected destinations, according to
+<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>.
+
+Options:
+  --help                   print this help text and exit
+  --to DEST                specify one destination for FILES
+                           (multiple --to options are allowed)
+  --user NAME              sign with key NAME
+  --version                output version information and exit
+
+Recognized destinations are:
+  alpha.gnu.org:DIRECTORY
+  savannah.gnu.org:DIRECTORY
+  savannah.nongnu.org:DIRECTORY
+  ftp.gnu.org:DIRECTORY
+                           build directive files and upload files by FTP
+  [user@]host:DIRECTORY    upload files with scp
+
+Example:
+  gnupload --to sources.redhat.com:~ftp/pub/automake \\
+           --to alpha.gnu.org:automake \\
+           automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2
+
+Report bugs to <bug-automake@gnu.org>.
+Send patches to <automake-patches@gnu.org>."
+
+while test -n "$1"; do
+  case $1 in
+    --help)
+      echo "$usage"
+      exit $?
+      ;;
+    --to)
+      if test -z "$2"; then
+       echo "$0: Missing argument for --to" 1>&2
+        exit 1
+      else
+        to="$to $2"
+        shift 2
+      fi
+      ;;
+    --user)
+      if test -z "$2"; then
+       echo "$0: Missing argument for --user" 1>&2
+        exit 1
+      else
+        GPG="$GPG --local-user $2"
+        shift 2
+      fi
+      ;;
+    --version)
+      echo "gnupload $scriptversion"
+      exit $?
+      ;;
+    -*)
+      echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2
+      exit 1
+      ;;
+    *)
+      break
+      ;;
+  esac
+done
+
+if test $# = 0; then
+  echo "$0: No file to upload" 1>&2
+  exit 1
+else
+  :
+fi
+
+# Make sure all files exist.  We don't want to ask
+# for the passphrase if the script will fail.
+for file
+do
+  if test ! -f $file; then
+    echo "$0: Cannot find \`$file'" 1>&2
+    exit 1
+  else
+    :
+  fi
+done
+
+# Make sure passphrase is not exported in the environment.
+unset passphrase
+
+# Reset PATH to be sure that echo is a built-in.  We will later use
+# `echo $passphrase' to output the passphrase, so it is important that
+# it is a built-in (third-party programs tend to appear in `ps'
+# listings with their arguments...).
+# Remember this script runs with `set -e', so if echo is not built-in
+# it will exit now.
+PATH=/empty echo -n "Enter GPG passphrase: "
+stty -echo
+read -r passphrase
+stty echo
+echo
+
+for file
+do
+  echo "Signing $file..."
+  rm -f $file.sig
+  echo $passphrase | $GPG --passphrase-fd 0 -ba -o $file.sig $file
+done
+
+for dest in $to
+do
+  for file
+  do
+    echo "Uploading $file to $dest..."
+    files="$file $file.sig"
+    destdir=`echo $dest | sed 's/[^:]*://'`
+    case $dest in
+      alpha.gnu.org:*)
+       rm -f $file.directive $file.directive.asc
+       cat >$file.directive<<EOF
+version: 1.1
+directory: $destdir
+filename: `basename -- "$file"`
+EOF
+       echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
+        ncftpput ftp-upload.gnu.org /incoming/alpha $files $file.directive.asc
+       rm -f $file.directive $file.directive.asc
+       ;;
+      ftp.gnu.org:*)
+       rm -f $file.directive $file.directive.asc
+       cat >$file.directive<<EOF
+version: 1.1
+directory: $destdir
+filename: `basename -- "$file"`
+EOF
+       echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
+        ncftpput ftp-upload.gnu.org /incoming/ftp $files $file.directive.asc
+       rm -f $file.directive $file.directive.asc
+       ;;
+      savannah.gnu.org:*)
+        ncftpput savannah.gnu.org /incoming/savannah/$destdir $files
+       ;;
+      savannah.nongnu.org:*)
+        ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files
+       ;;
+      *)
+       scp $files $dest
+       ;;
+    esac
+  done
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/cfg.mk b/cfg.mk
index e8c804504aea127b44b1a9f4624fd12e50752c8e..3869ff49d96e846e55aa54a9ecf62969e32d09f4 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -24,7 +24,6 @@ _autoreconf = autoreconf -i -v && rm -f INSTALL
 
 # Version management.
 announce_gen   = $(srcdir)/build-aux/announce-gen
-release_archive_dir = releases
 
 # Use alpha.gnu.org for alpha and beta releases.
 # Use ftp.gnu.org for major releases.
index 4576c9e994111cb12e4dbfdabf09969167cc8af4..7149adf8b1901bc5ab2eda0c1b384d0dde6f47f7 100644 (file)
--- a/maint.mk
+++ b/maint.mk
@@ -534,7 +534,6 @@ announcement: NEWS ChangeLog $(rel-files)
            --package=$(PACKAGE)                                        \
            --prev=$(PREV_VERSION)                                      \
            --curr=$(VERSION)                                           \
-           --release-archive-directory=$(release_archive_dir)          \
            --gpg-key-id=$(gpg_key_ID)                                  \
            --news=$(srcdir)/NEWS                                       \
            --bootstrap-tools=automake                                  \