diff options
author | Simon Josefsson <simon@josefsson.org> | 2008-02-26 10:50:20 +0100 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2008-02-26 10:50:20 +0100 |
commit | 729bc7c7766b5a30eeee29f22b058ee47ca0a971 (patch) | |
tree | f00e011edb603c6d989b00ba8f61ff7f4af05658 | |
parent | 9613dce563ff50ea823de63e07d75b0a1f03ac60 (diff) | |
download | gnutls-729bc7c7766b5a30eeee29f22b058ee47ca0a971.tar.gz |
Use gnupload.
-rw-r--r-- | Makefile.am | 9 | ||||
-rwxr-xr-x | build-aux/gnupload | 183 | ||||
-rw-r--r-- | gl/gnulib.mk | 9 | ||||
-rw-r--r-- | gl/m4/gnulib-cache.m4 | 4 | ||||
-rw-r--r-- | gl/m4/gnulib-comp.m4 | 1 |
5 files changed, 199 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am index d886059900..5c7411dbae 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,14 +50,15 @@ release: cd doc && ../build-aux/gendocs.sh -o ../$(htmldir)/manual/ $(PACKAGE) "GNU TLS" git commit -m Generated. ChangeLog git-tag -u b565716f! -m $(VERSION) $(tag) - git-push --tags - git-push + cp -v $(distdir).tar.bz2 $(distdir).tar.bz2.sig $(htmldir)/releases/ + cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.css doc/reference/html/*.devhelp $(htmldir)/reference/ gpg -b $(distdir).tar.bz2 gpg --verify $(distdir).tar.bz2.sig + git-push --tags + git-push scp $(distdir).tar.bz2 $(distdir).tar.bz2.sig igloo.linux.gr:~ftp/pub/gnutls/devel/ ssh igloo.linux.gr 'cd ~ftp/pub/gnutls/devel/ && sha1sum *.tar.bz2 > CHECKSUMS' - cp -v $(distdir).tar.bz2 $(distdir).tar.bz2.sig $(htmldir)/releases/ - cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.css doc/reference/html/*.devhelp $(htmldir)/reference/ + build-aux/gnupload --to alpha.gnu.org:gnutls $(distdir).tar.gz cd $(htmldir) && \ cvs add -kb releases/$(distdir).tar.bz2 \ releases/$(distdir).tar.bz2.sig && \ diff --git a/build-aux/gnupload b/build-aux/gnupload new file mode 100755 index 0000000000..2e3c8014c7 --- /dev/null +++ b/build-aux/gnupload @@ -0,0 +1,183 @@ +#!/bin/sh +# Sign files and upload them. + +scriptversion=2007-12-18.17 + +# Copyright (C) 2004, 2005, 2006, 2007 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: $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: $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/gl/gnulib.mk b/gl/gnulib.mk index 4253563af0..80b164bd0e 100644 --- a/gl/gnulib.mk +++ b/gl/gnulib.mk @@ -9,7 +9,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --avoid=gettext-h --avoid=malloc-posix --avoid=realloc-posix --avoid=snprintf --avoid=stdbool --avoid=stdio --avoid=string --avoid=sys_socket --avoid=unistd --avoid=vasnprintf --makefile-name=gnulib.mk --libtool --macro-prefix=gl arpa_inet error fdl gendocs getaddrinfo getline getpass gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --avoid=gettext-h --avoid=malloc-posix --avoid=realloc-posix --avoid=snprintf --avoid=stdbool --avoid=stdio --avoid=string --avoid=sys_socket --avoid=unistd --avoid=vasnprintf --makefile-name=gnulib.mk --libtool --macro-prefix=gl arpa_inet error fdl gendocs getaddrinfo getline getpass gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf MOSTLYCLEANFILES += core *.stackdump @@ -101,6 +101,13 @@ EXTRA_libgnu_la_SOURCES += getpass.c ## end gnulib module getpass +## begin gnulib module gnupload + + +EXTRA_DIST += $(top_srcdir)/build-aux/gnupload + +## end gnulib module gnupload + ## begin gnulib module havelib diff --git a/gl/m4/gnulib-cache.m4 b/gl/m4/gnulib-cache.m4 index 359bc56dd4..2e9b9cdac2 100644 --- a/gl/m4/gnulib-cache.m4 +++ b/gl/m4/gnulib-cache.m4 @@ -15,11 +15,11 @@ # Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --avoid=gettext-h --avoid=malloc-posix --avoid=realloc-posix --avoid=snprintf --avoid=stdbool --avoid=stdio --avoid=string --avoid=sys_socket --avoid=unistd --avoid=vasnprintf --makefile-name=gnulib.mk --libtool --macro-prefix=gl arpa_inet error fdl gendocs getaddrinfo getline getpass gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf +# gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --aux-dir=build-aux --avoid=gettext-h --avoid=malloc-posix --avoid=realloc-posix --avoid=snprintf --avoid=stdbool --avoid=stdio --avoid=string --avoid=sys_socket --avoid=unistd --avoid=vasnprintf --makefile-name=gnulib.mk --libtool --macro-prefix=gl arpa_inet error fdl gendocs getaddrinfo getline getpass gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf # Specification in the form of a few gnulib-tool.m4 macro invocations: gl_LOCAL_DIR([gl/override]) -gl_MODULES([arpa_inet error fdl gendocs getaddrinfo getline getpass gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf]) +gl_MODULES([arpa_inet error fdl gendocs getaddrinfo getline getpass gnupload gpl-3.0 inet_ntop inet_pton lgpl-2.1 maintainer-makefile progname readline version-etc-fsf]) gl_AVOID([gettext-h malloc-posix realloc-posix snprintf stdbool stdio string sys_socket unistd vasnprintf]) gl_SOURCE_BASE([gl]) gl_M4_BASE([gl/m4]) diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 1c484848da..d9fd011da9 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 @@ -190,6 +190,7 @@ AC_DEFUN([gl_FILE_LIST], [ build-aux/GNUmakefile build-aux/config.rpath build-aux/gendocs.sh + build-aux/gnupload build-aux/maint.mk doc/fdl.texi doc/gendocs_template |