automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, branch-1-10, updated. Relea


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, branch-1-10, updated. Release-1-10-1-51-g13730ed
Date: Wed, 12 Nov 2008 20:01:47 +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=13730ed121a067c426f578d34a127cfb7b1d36ac

The branch, branch-1-10 has been updated
       via  13730ed121a067c426f578d34a127cfb7b1d36ac (commit)
      from  8e0618fc7340ac4ddbfbc6189d7ed71a127b3a1e (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 13730ed121a067c426f578d34a127cfb7b1d36ac
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 |   86 +++++++++++++++++++++++++++++++++++++++-------------------
 2 files changed, 64 insertions(+), 28 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8dcb43e..f9b954b 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-11 Charles Wilson  <address@hidden>  (tiny change)
           Ralf Wildenhues  <address@hidden>
 
diff --git a/lib/gnupload b/lib/gnupload
index fc2f5d0..bf0dd7f 100755
--- a/lib/gnupload
+++ b/lib/gnupload
@@ -1,9 +1,9 @@
 #!/bin/sh
 # Sign files and upload them.
 
-scriptversion=2007-12-18.17
+scriptversion=2008-11-12.21
 
-# Copyright (C) 2004, 2005, 2006, 2007  Free Software Foundation
+# 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
@@ -26,10 +26,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:
@@ -37,6 +39,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:
@@ -47,9 +50,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 \\
@@ -61,6 +69,10 @@ Send patches to <address@hidden>."
 
 while test -n "$1"; do
   case $1 in
+    --delete)
+      delete=true
+      shift
+      ;;
     --help)
       echo "$usage"
       exit $?
@@ -98,23 +110,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
@@ -131,27 +145,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: $file
+$directive
 EOF
        echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
         ncftpput ftp-upload.gnu.org /incoming/alpha $files $file.directive.asc
@@ -162,20 +188,24 @@ EOF
        cat >$file.directive<<EOF
 version: 1.1
 directory: $destdir
-filename: $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




reply via email to

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