[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-
From: |
Ralf Wildenhues |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-10-226-gc594f83 |
Date: |
Wed, 12 Nov 2008 20:01:49 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=c594f8317c63ea4ece4af326788602e2e29e3084
The branch, master has been updated
via c594f8317c63ea4ece4af326788602e2e29e3084 (commit)
from f51165dd1a6ca52d64ba73697e9ba4a24715b0ec (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c594f8317c63ea4ece4af326788602e2e29e3084
Author: Karl Berry <address@hidden>
Date: Wed Nov 12 20:52:03 2008 +0100
New gnupload option --delete to remove archive files.
* lib/gnupload: Accept --delete to remove files from
alpha.gnu.org or ftp.gnu.org.
Signed-off-by: Ralf Wildenhues <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++
lib/gnupload | 84 +++++++++++++++++++++++++++++++++++++++------------------
2 files changed, 63 insertions(+), 27 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0490745..7f64288 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-12 Karl Berry <address@hidden>
+
+ New gnupload option --delete to remove archive files.
+ * lib/gnupload: Accept --delete to remove files from
+ alpha.gnu.org or ftp.gnu.org.
+
2008-11-12 Ralf Wildenhues <address@hidden>
Testsuite fixes for ksh.
diff --git a/lib/gnupload b/lib/gnupload
index b90e3ae..12c9394 100755
--- a/lib/gnupload
+++ b/lib/gnupload
@@ -1,7 +1,7 @@
#!/bin/sh
# Sign files and upload them.
-scriptversion=2008-04-02.19
+scriptversion=2008-11-12.21
# Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation
#
@@ -24,10 +24,12 @@ set -e
GPG='gpg --batch --no-tty'
to=
+delete=false
usage="Usage: $0 [OPTIONS]... FILES...
-Sign all FILES, and upload them to selected destinations, according to
+Sign all FILES, and upload them to (or delete them from) selected
+destinations, according to
<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>.
Options:
@@ -35,6 +37,7 @@ Options:
--to DEST specify one destination for FILES
(multiple --to options are allowed)
--user NAME sign with key NAME
+ --delete delete FILES from destination instead of uploading
--version output version information and exit
Recognized destinations are:
@@ -45,9 +48,14 @@ Recognized destinations are:
build directive files and upload files by FTP
address@hidden:DIRECTORY upload files with scp
+Deletion only works for ftp.gnu.org and alpha.gnu.org (using the
+archive: directive). Otherwise it is a no-op. Deleting a file foo also
+deletes foo.sig; do not specify the .sig explicitly.
+
Simple single-target single-file examples:
gnupload --to alpha.gnu.org:automake automake-1.8.2b.tar.gz
gnupload --to ftp.gnu.org:automake automake-1.8.3.tar.gz
+ gnupload --to alpha.gnu.org:automake --delete automake-oops.tar.gz
Multiple-target multiple-file example:
gnupload --to sources.redhat.com:~ftp/pub/automake \\
@@ -59,6 +67,10 @@ Send patches to <address@hidden>."
while test -n "$1"; do
case $1 in
+ --delete)
+ delete=true
+ shift
+ ;;
--help)
echo "$usage"
exit $?
@@ -96,23 +108,25 @@ while test -n "$1"; do
done
if test $# = 0; then
- echo "$0: No file to upload" 1>&2
+ echo "$0: No file to upload or delete" 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
+if $delete; then :; else
+ # 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
+fi
# Make sure passphrase is not exported in the environment.
unset passphrase
@@ -129,27 +143,39 @@ 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
+# Nothing to sign if deleting.
+if $delete; then :; else
+ for file
+ do
+ echo "Signing $file..."
+ rm -f $file.sig
+ echo $passphrase | $GPG --passphrase-fd 0 -ba -o $file.sig $file
+ done
+fi
for dest in $to
do
for file
do
- echo "Uploading $file to $dest..."
- files="$file $file.sig"
+ # Prepare arguments.
+ if $delete; then
+ echo "Removing $file from $dest..."
+ files= # nothing to upload if deleting
+ directive="archive: $file"
+ else
+ echo "Uploading $file to $dest..."
+ files="$file $file.sig"
+ directive="filename: "`basename -- "$file"`
+ fi
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"`
+$directive
EOF
echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
ncftpput ftp-upload.gnu.org /incoming/alpha $files $file.directive.asc
@@ -160,20 +186,24 @@ EOF
cat >$file.directive<<EOF
version: 1.1
directory: $destdir
-filename: `basename -- "$file"`
+$directive
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
+ # We only know how to implement delete for {ftp,alpha}.gnu.org.
+ $delete \
+ || ncftpput savannah.gnu.org /incoming/savannah/$destdir $files
;;
savannah.nongnu.org:*)
- ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files
+ $delete \
+ || ncftpput savannah.nongnu.org /incoming/savannah/$destdir $files
;;
*)
- scp $files $dest
+ $delete \
+ || scp $files $dest
;;
esac
done
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. Release-1-10-226-gc594f83,
Ralf Wildenhues <=